Using TransactionScope with 2 datatables

dazlerd

Well-known member
Joined
Sep 29, 2006
Messages
52
Programming Experience
5-10
Hi

In my current project I have the classic order / order details scenario. I can save the order and order details correctly, but its updating the database that is causeing me problems.

I am using typed datasets so I have:

VB.NET:
Private mdrOrder as CreamDS.OrderRow
Private mdrOrderDetails as CreamDS.OrderDetailsRow

When the user modifies the data on the form and presses save the order table saves but the orderdetails fails. Im not worried about the orderdetail failing for the minute, what I cant work out is why i get an error the next time I press save when saving the order.

VB.NET:
Using scope as new TransactionScope
    ' Call me.OrderTableAdapter.Update(me.creams.order)
    blnSuccess = InsertNewOrderToDatabase()
 
    if blnSuccess Then
        ' Call me.OrderDetailsTableAdapter.Update(me.creams.orderdetails)
        blnSuccess = InsertOrderDetailsToDatabase()
    end if
 
    If blnSuccess Then
        scope.complete()
    Else
        scope.Dispose(
    End If
End Using

The first time i call InsertNewOrderToDatabase I have
mdrorder.RowState = Modified
and it saves with no error.

The insert of the order details fails and the scope gets disposed. When I press save again I go into the same InsertNewOrderToDatabase function with mdrorder.RowState = Modified (Ive changed something on the form) but I get error:

"Concurrency violation: the UpdateCommand affected 0 of the expected 1 records".

The mdrOrder row has changed and its rowstate is modified yet i get this.

Anyone any ideas why?

Thanks
 
Last edited:
The UPDATE sql specified updated zero rows when the framework was expecting it to update one. Investigate the cause, starting with an investigation as to whether you can find the row yourself (in a query tool) to update, when looking at the WHERE clause of the update sql

Concurrency viol is an assumption based on the database saying it didnt update a record. It only arises if the tableadapter is aware it has a violation checking SQL. Such SQLs usually have a WHERE clause that is a huge mess of "xyz IS NULL OR :Original_Param = Column1" statements
 
Hi cjard

In my Order form I always have one row in the Order datatable which I call mdrOrder. This is true if Im creating a new order or editting an existing order as there can only be one order record associated with an order.

The first time I press save after editting an order the row state is modified and I call update on the order datatable. The state of the row then changes to Unchanged. The process fails further along the transaction scope and the scope is disposed.

If I edit the form and chnage a field within the mdrOrder and press the save button again then i get the error message show below. The status of the mdrOrder row is modified like it was the first time but this time it fails to update.

In response to your questions cjard, the CreamDS.Order table has one and only one row in it.

Im a bit confused with your 2nd statement but heres the sql the dataset designer generated for me:

VB.NET:
            Me._adapter.UpdateCommand = New System.Data.SqlClient.SqlCommand
            Me._adapter.UpdateCommand.Connection = Me.Connection
            Me._adapter.UpdateCommand.CommandText = "UPDATE [Order] SET [OrderDate] = @OrderDate, [AccountRef] = @AccountRef, [Custome"& _ 
                "r] = @Customer, [Address_1] = @Address_1, [Address_2] = @Address_2, [Address_3] "& _ 
                "= @Address_3, [Address_4] = @Address_4, [Address_5] = @Address_5, [ContactName] "& _ 
                "= @ContactName, [ContactTel] = @ContactTel, [Delivery] = @Delivery, [D_Customer]"& _ 
                " = @D_Customer, [D_Address_1] = @D_Address_1, [D_Address_2] = @D_Address_2, [D_A"& _ 
                "ddress_3] = @D_Address_3, [D_Address_4] = @D_Address_4, [D_Address_5] = @D_Addre"& _ 
                "ss_5, [CustomerOrderNumber] = @CustomerOrderNumber, [Details] = @Details, [Suppl"& _ 
                "ierInvoiceReceived] = @SupplierInvoiceReceived, [InvoiceNumber] = @InvoiceNumber"& _ 
                ", [InvoicePaid] = @InvoicePaid, [DeliveryNoteNumber] = @DeliveryNoteNumber, [Del"& _ 
                "iveryDate] = @DeliveryDate, [Salesman] = @Salesman, [Lead] = @Lead, [LeadPaidDat"& _ 
                "e] = @LeadPaidDate, [TotalCost] = @TotalCost, [TotalSell] = @TotalSell, [TotalPr"& _ 
                "ofit] = @TotalProfit, [TotalTax] = @TotalTax, [TaxCode] = @TaxCode, [CreatedDate"& _ 
                "] = @CreatedDate, [SAGECreatedDate] = @SAGECreatedDate, [UpdatedDate] = @Updated"& _ 
                "Date, [SAGEUpdatedDate] = @SAGEUpdatedDate, [Equipment] = @Equipment, [DespatchS"& _ 
                "tatusCode] = @DespatchStatusCode, [DespatchStatus] = @DespatchStatus, [Version] "& _ 
                "= @Version WHERE (([PCNumber] = @Original_PCNumber) AND ((@IsNull_OrderDate = 1 "& _ 
                "AND [OrderDate] IS NULL) OR ([OrderDate] = @Original_OrderDate)) AND ([AccountRe"& _ 
                "f] = @Original_AccountRef) AND ((@IsNull_Customer = 1 AND [Customer] IS NULL) OR"& _ 
                " ([Customer] = @Original_Customer)) AND ((@IsNull_Address_1 = 1 AND [Address_1] "& _ 
                "IS NULL) OR ([Address_1] = @Original_Address_1)) AND ((@IsNull_Address_2 = 1 AND"& _ 
                " [Address_2] IS NULL) OR ([Address_2] = @Original_Address_2)) AND ((@IsNull_Addr"& _ 
                "ess_3 = 1 AND [Address_3] IS NULL) OR ([Address_3] = @Original_Address_3)) AND ("& _ 
                "(@IsNull_Address_4 = 1 AND [Address_4] IS NULL) OR ([Address_4] = @Original_Addr"& _ 
                "ess_4)) AND ((@IsNull_Address_5 = 1 AND [Address_5] IS NULL) OR ([Address_5] = @"& _ 
                "Original_Address_5)) AND ((@IsNull_ContactName = 1 AND [ContactName] IS NULL) OR"& _ 
                " ([ContactName] = @Original_ContactName)) AND ((@IsNull_ContactTel = 1 AND [Cont"& _ 
                "actTel] IS NULL) OR ([ContactTel] = @Original_ContactTel)) AND ([Delivery] = @Or"& _ 
                "iginal_Delivery) AND ((@IsNull_D_Customer = 1 AND [D_Customer] IS NULL) OR ([D_C"& _ 
                "ustomer] = @Original_D_Customer)) AND ((@IsNull_D_Address_1 = 1 AND [D_Address_1"& _ 
                "] IS NULL) OR ([D_Address_1] = @Original_D_Address_1)) AND ((@IsNull_D_Address_2"& _ 
                " = 1 AND [D_Address_2] IS NULL) OR ([D_Address_2] = @Original_D_Address_2)) AND "& _ 
                "((@IsNull_D_Address_3 = 1 AND [D_Address_3] IS NULL) OR ([D_Address_3] = @Origin"& _ 
                "al_D_Address_3)) AND ((@IsNull_D_Address_4 = 1 AND [D_Address_4] IS NULL) OR ([D"& _ 
                "_Address_4] = @Original_D_Address_4)) AND ((@IsNull_D_Address_5 = 1 AND [D_Addre"& _ 
                "ss_5] IS NULL) OR ([D_Address_5] = @Original_D_Address_5)) AND ((@IsNull_Custome"& _ 
                "rOrderNumber = 1 AND [CustomerOrderNumber] IS NULL) OR ([CustomerOrderNumber] = "& _ 
                "@Original_CustomerOrderNumber)) AND ((@IsNull_Details = 1 AND [Details] IS NULL)"& _ 
                " OR ([Details] = @Original_Details)) AND ((@IsNull_SupplierInvoiceReceived = 1 A"& _ 
                "ND [SupplierInvoiceReceived] IS NULL) OR ([SupplierInvoiceReceived] = @Original_"& _ 
                "SupplierInvoiceReceived)) AND ((@IsNull_InvoiceNumber = 1 AND [InvoiceNumber] IS"& _ 
                " NULL) OR ([InvoiceNumber] = @Original_InvoiceNumber)) AND ((@IsNull_InvoicePaid"& _ 
                " = 1 AND [InvoicePaid] IS NULL) OR ([InvoicePaid] = @Original_InvoicePaid)) AND "& _ 
                "((@IsNull_DeliveryNoteNumber = 1 AND [DeliveryNoteNumber] IS NULL) OR ([Delivery"& _ 
                "NoteNumber] = @Original_DeliveryNoteNumber)) AND ((@IsNull_DeliveryDate = 1 AND "& _ 
                "[DeliveryDate] IS NULL) OR ([DeliveryDate] = @Original_DeliveryDate)) AND ((@IsN"& _ 
                "ull_Salesman = 1 AND [Salesman] IS NULL) OR ([Salesman] = @Original_Salesman)) A"& _ 
                "ND ((@IsNull_Lead = 1 AND [Lead] IS NULL) OR ([Lead] = @Original_Lead)) AND ((@I"& _ 
                "sNull_LeadPaidDate = 1 AND [LeadPaidDate] IS NULL) OR ([LeadPaidDate] = @Origina"& _ 
                "l_LeadPaidDate)) AND ((@IsNull_TotalCost = 1 AND [TotalCost] IS NULL) OR ([Total"& _ 
                "Cost] = @Original_TotalCost)) AND ((@IsNull_TotalSell = 1 AND [TotalSell] IS NUL"& _ 
                "L) OR ([TotalSell] = @Original_TotalSell)) AND ((@IsNull_TotalProfit = 1 AND [To"& _ 
                "talProfit] IS NULL) OR ([TotalProfit] = @Original_TotalProfit)) AND ((@IsNull_To"& _ 
                "talTax = 1 AND [TotalTax] IS NULL) OR ([TotalTax] = @Original_TotalTax)) AND ((@"& _ 
                "IsNull_TaxCode = 1 AND [TaxCode] IS NULL) OR ([TaxCode] = @Original_TaxCode)) AN"& _ 
                "D ((@IsNull_CreatedDate = 1 AND [CreatedDate] IS NULL) OR ([CreatedDate] = @Orig"& _ 
                "inal_CreatedDate)) AND ((@IsNull_SAGECreatedDate = 1 AND [SAGECreatedDate] IS NU"& _ 
                "LL) OR ([SAGECreatedDate] = @Original_SAGECreatedDate)) AND ((@IsNull_UpdatedDat"& _ 
                "e = 1 AND [UpdatedDate] IS NULL) OR ([UpdatedDate] = @Original_UpdatedDate)) AND"& _ 
                " ((@IsNull_SAGEUpdatedDate = 1 AND [SAGEUpdatedDate] IS NULL) OR ([SAGEUpdatedDa"& _ 
                "te] = @Original_SAGEUpdatedDate)) AND ([Equipment] = @Original_Equipment) AND (["& _ 
                "DespatchStatusCode] = @Original_DespatchStatusCode) AND ((@IsNull_DespatchStatus"& _ 
                " = 1 AND [DespatchStatus] IS NULL) OR ([DespatchStatus] = @Original_DespatchStat"& _ 
                "us)) AND ([Version] = @Original_Version));"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"SELECT PCNumber, OrderDate, AccountR"& _ 
                "ef, Customer, Address_1, Address_2, Address_3, Address_4, Address_5, ContactName"& _ 
                ", ContactTel, Delivery, D_Customer, D_Address_1, D_Address_2, D_Address_3, D_Add"& _ 
                "ress_4, D_Address_5, CustomerOrderNumber, Details, SupplierInvoiceReceived, Invo"& _ 
                "iceNumber, InvoicePaid, DeliveryNoteNumber, DeliveryDate, Salesman, Lead, LeadPa"& _ 
                "idDate, TotalCost, TotalSell, TotalProfit, TotalTax, TaxCode, CreatedDate, SAGEC"& _ 
                "reatedDate, UpdatedDate, SAGEUpdatedDate, Equipment, DespatchStatusCode, Despatc"& _ 
                "hStatus, Version FROM [Order] WHERE (PCNumber = @PCNumber)"
            Me._adapter.UpdateCommand.CommandType = System.Data.CommandType.Text
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@OrderDate", System.Data.SqlDbType.DateTime, 0, System.Data.ParameterDirection.Input, 0, 0, "OrderDate", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@AccountRef", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "AccountRef", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Customer", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "Customer", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Address_1", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_1", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Address_2", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_2", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Address_3", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_3", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Address_4", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_4", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Address_5", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_5", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ContactName", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "ContactName", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ContactTel", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "ContactTel", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Delivery", System.Data.SqlDbType.Bit, 0, System.Data.ParameterDirection.Input, 0, 0, "Delivery", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@D_Customer", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Customer", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@D_Address_1", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_1", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@D_Address_2", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_2", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@D_Address_3", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_3", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@D_Address_4", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_4", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@D_Address_5", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_5", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@CustomerOrderNumber", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "CustomerOrderNumber", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Details", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "Details", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@SupplierInvoiceReceived", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "SupplierInvoiceReceived", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@InvoiceNumber", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "InvoiceNumber", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@InvoicePaid", System.Data.SqlDbType.DateTime, 0, System.Data.ParameterDirection.Input, 0, 0, "InvoicePaid", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DeliveryNoteNumber", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "DeliveryNoteNumber", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DeliveryDate", System.Data.SqlDbType.DateTime, 0, System.Data.ParameterDirection.Input, 0, 0, "DeliveryDate", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Salesman", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Salesman", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Lead", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Lead", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@LeadPaidDate", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "LeadPaidDate", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@TotalCost", System.Data.SqlDbType.Money, 0, System.Data.ParameterDirection.Input, 0, 0, "TotalCost", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@TotalSell", System.Data.SqlDbType.Money, 0, System.Data.ParameterDirection.Input, 0, 0, "TotalSell", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@TotalProfit", System.Data.SqlDbType.Money, 0, System.Data.ParameterDirection.Input, 0, 0, "TotalProfit", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@TotalTax", System.Data.SqlDbType.Money, 0, System.Data.ParameterDirection.Input, 0, 0, "TotalTax", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@TaxCode", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "TaxCode", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@CreatedDate", System.Data.SqlDbType.DateTime, 0, System.Data.ParameterDirection.Input, 0, 0, "CreatedDate", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@SAGECreatedDate", System.Data.SqlDbType.DateTime, 0, System.Data.ParameterDirection.Input, 0, 0, "SAGECreatedDate", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@UpdatedDate", System.Data.SqlDbType.DateTime, 0, System.Data.ParameterDirection.Input, 0, 0, "UpdatedDate", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@SAGEUpdatedDate", System.Data.SqlDbType.DateTime, 0, System.Data.ParameterDirection.Input, 0, 0, "SAGEUpdatedDate", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Equipment", System.Data.SqlDbType.Bit, 0, System.Data.ParameterDirection.Input, 0, 0, "Equipment", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DespatchStatusCode", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "DespatchStatusCode", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@DespatchStatus", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "DespatchStatus", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Version", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Version", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_PCNumber", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "PCNumber", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_OrderDate", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "OrderDate", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_OrderDate", System.Data.SqlDbType.DateTime, 0, System.Data.ParameterDirection.Input, 0, 0, "OrderDate", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_AccountRef", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "AccountRef", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_Customer", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Customer", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_Customer", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "Customer", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_Address_1", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_1", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_Address_1", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_1", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_Address_2", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_2", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_Address_2", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_2", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_Address_3", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_3", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_Address_3", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_3", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_Address_4", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_4", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_Address_4", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_4", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_Address_5", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_5", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_Address_5", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "Address_5", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_ContactName", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "ContactName", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ContactName", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "ContactName", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_ContactTel", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "ContactTel", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ContactTel", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "ContactTel", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_Delivery", System.Data.SqlDbType.Bit, 0, System.Data.ParameterDirection.Input, 0, 0, "Delivery", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_D_Customer", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Customer", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_D_Customer", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Customer", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_D_Address_1", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_1", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_D_Address_1", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_1", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_D_Address_2", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_2", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_D_Address_2", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_2", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_D_Address_3", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_3", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_D_Address_3", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_3", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_D_Address_4", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_4", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_D_Address_4", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_4", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_D_Address_5", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_5", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_D_Address_5", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "D_Address_5", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_CustomerOrderNumber", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "CustomerOrderNumber", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_CustomerOrderNumber", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "CustomerOrderNumber", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_Details", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Details", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_Details", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "Details", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_SupplierInvoiceReceived", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "SupplierInvoiceReceived", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_SupplierInvoiceReceived", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "SupplierInvoiceReceived", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_InvoiceNumber", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "InvoiceNumber", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_InvoiceNumber", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "InvoiceNumber", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_InvoicePaid", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "InvoicePaid", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_InvoicePaid", System.Data.SqlDbType.DateTime, 0, System.Data.ParameterDirection.Input, 0, 0, "InvoicePaid", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_DeliveryNoteNumber", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "DeliveryNoteNumber", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_DeliveryNoteNumber", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "DeliveryNoteNumber", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_DeliveryDate", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "DeliveryDate", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_DeliveryDate", System.Data.SqlDbType.DateTime, 0, System.Data.ParameterDirection.Input, 0, 0, "DeliveryDate", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_Salesman", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Salesman", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_Salesman", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Salesman", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_Lead", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Lead", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_Lead", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Lead", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_LeadPaidDate", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "LeadPaidDate", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_LeadPaidDate", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "LeadPaidDate", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_TotalCost", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "TotalCost", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_TotalCost", System.Data.SqlDbType.Money, 0, System.Data.ParameterDirection.Input, 0, 0, "TotalCost", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_TotalSell", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "TotalSell", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_TotalSell", System.Data.SqlDbType.Money, 0, System.Data.ParameterDirection.Input, 0, 0, "TotalSell", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_TotalProfit", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "TotalProfit", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_TotalProfit", System.Data.SqlDbType.Money, 0, System.Data.ParameterDirection.Input, 0, 0, "TotalProfit", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_TotalTax", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "TotalTax", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_TotalTax", System.Data.SqlDbType.Money, 0, System.Data.ParameterDirection.Input, 0, 0, "TotalTax", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_TaxCode", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "TaxCode", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_TaxCode", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "TaxCode", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_CreatedDate", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "CreatedDate", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_CreatedDate", System.Data.SqlDbType.DateTime, 0, System.Data.ParameterDirection.Input, 0, 0, "CreatedDate", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_SAGECreatedDate", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "SAGECreatedDate", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_SAGECreatedDate", System.Data.SqlDbType.DateTime, 0, System.Data.ParameterDirection.Input, 0, 0, "SAGECreatedDate", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_UpdatedDate", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "UpdatedDate", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_UpdatedDate", System.Data.SqlDbType.DateTime, 0, System.Data.ParameterDirection.Input, 0, 0, "UpdatedDate", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_SAGEUpdatedDate", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "SAGEUpdatedDate", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_SAGEUpdatedDate", System.Data.SqlDbType.DateTime, 0, System.Data.ParameterDirection.Input, 0, 0, "SAGEUpdatedDate", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_Equipment", System.Data.SqlDbType.Bit, 0, System.Data.ParameterDirection.Input, 0, 0, "Equipment", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_DespatchStatusCode", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "DespatchStatusCode", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@IsNull_DespatchStatus", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "DespatchStatus", System.Data.DataRowVersion.Original, true, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_DespatchStatus", System.Data.SqlDbType.NVarChar, 0, System.Data.ParameterDirection.Input, 0, 0, "DespatchStatus", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_Version", System.Data.SqlDbType.Int, 0, System.Data.ParameterDirection.Input, 0, 0, "Version", System.Data.DataRowVersion.Original, false, Nothing, "", "", ""))
            Me._adapter.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@PCNumber", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, 0, 0, "PCNumber", System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))

Thanks cjard for your help

Darren
 
I note with interest that you update your primary key fields too.. It's not something I normally do?
 
Yes Im just investigating that actually. The reason it doesnt update orderdetails is because it has no update statement. When I drag the table onto the dataset the adapter gets created with only insert and select statements. Is this because I have no primary key?

I cant make the PCNumber PK for obvious reasons and the Counter is something that needs to be there for SAGE purposes. There are multiple Counter elements that are the same so I cant at present make Counter PK.

Have you got ideas on why the order table only updates the first time?

Darren
 
Is this because I have no primary key?
Yes

I cant make the PCNumber PK for obvious reasons and the Counter is something that needs to be there for SAGE purposes. There are multiple Counter elements that are the same so I cant at present make Counter PK.
Er, you do know that multiple columns can collectively form a primary key, right?

A PK is a column or number of columns that uniquely identify at most one row of a table in a database. How can you expect to exactly and uniquely identify and update just one row, without a PK?

Asked another way: You download a row, you change it, you want to send it back. How will you identify this one row among millions?

Put a PK on the table, and dont be so silly ;) any tables you want to update MUST have a PK. Logging tables and other info-only tables do not need PKs. These are the only ones that dont.
 
lol

Yeah I know that thanks. Im converting from a older system so in the back of my mind was wondering why the older Access db did not have a primary key on it.

I did actually make both columns the combined PK and that worked. I think the actual Counter record is corrupt in the old system so Ive introduced a new column that is PK and Identity called OrderDetailsId. Hopefully this means I can forget about the Counter column and only have the 1 PK field. (Im not sure will have check through old VB code)

Anyways, this wasnt the point of the topic. The point of the topic was to try and help me understand why 'update' on order table worked the first time of calling and then didnt the 2nd time of calling, when order details failled to update ;).

However, now Ive fixed the reason why Order Details wasn't saving I cant reproduce my error !!! lol. :eek:
 
Anyways, this wasnt the point of the topic. The point of the topic was to try and help me understand why 'update' on order table worked the first time of calling and then didnt the 2nd time of calling, when order details failled to update ;).

However, now Ive fixed the reason why Order Details wasn't saving I cant reproduce my error !!! lol. :eek:

Yeah, cause your table is actually part way to having a decent design :)
Frankly, i think you should look on the fact that a PK-less table DID update the first time as being the error!
 
Back
Top