سؤال

لدي تصريحات SQL تحديثا لكائن SQLCommand لتحديث DataTable مع كائن DataSet إلى جدول مصدر واحد. عند النقر فوق الزر "تحديث"، يمكنك تحديث أول واحد فقط ولا يعمل كائن SQLCommand الثاني. ما هذا؟ Datatable لم يدعم كائن الأمرين في وقت واحد؟ أنا أكتب على النحو التالي:

Dim conxMain As New SqlConnection("Data Source=SERVER;Initial Catalog=DBTest;Persist Security Info=True;User ID=usr;Password=pwd")

    Dim dadStockInfo As New SqlDataAdapter
    Dim dsStockInfo As New DataSet
    Dim transStockInfo As SqlTransaction = Nothing
    Try
        conxMain.Open()

        transStockInfo = conxMain.BeginTransaction()
        dadStockInfo.SelectCommand = New SqlCommand("SELECT * FROM Stock", conxMain, transStockInfo)
        Dim builder As SqlCommandBuilder = New SqlCommandBuilder(dadStockInfo)

        dadStockInfo.FillSchema(dsStockInfo, SchemaType.Source, "Stock")

        dadPurchaseInfo.Fill(dsPurchaseInfo, "Stock")

        Dim cmdStockUpdateCmd As SqlCommand = Nothing

        cmdStockUpdateCmd = New SqlCommand("UPDATE Stock SET StockCode= 'TestCode' WHERE StockID = 4", conxMain, transStockInfo)
        dsStockInfo.Tables("Stock").Columns("StockID").ReadOnly = False
        dadStockInfo.UpdateCommand = cmdStockUpdateCmd

        //dadStockInfo.Update(dsStockInfo, "Stock") [I have already tried this but did not work]

        Dim cmdStockUpdateCmd1 As SqlCommand = Nothing

        cmdStockUpdateCmd1 = New SqlCommand("UPDATE Stock SET StockCode= 'Test-Code2' WHERE StockID = 1", conxMain, transPurchaseInfo)

       dadStockInfo.UpdateCommand = cmdStockUpdateCmd1

       dadStockInfo.Update(dsStockInfo, "Stock")

       transStockInfo.Commit()

لا استطيع استخدام مثل أعلاه؟ يرجى الإشارة لي!

مرحبًا ! ساعدني! F1 :)

هل كانت مفيدة؟

المحلول

الطريقة التي تستخدمها أنت لا تحتاج إلى DataAdapters و DataSets ...
يمكنك فقط تنفيذ بيانات التحديث 2.

يمكنك فقط القيام به

cmdStockUpdateCmd1 = New SqlCommand("UPDATE Stock SET StockCode= 'Test-Code2' WHERE StockID = 1", conxMain, transPurchaseInfo)
cmdStockUpdateCmd1.ExecuteNonQuery();

مجموعات البيانات والمعارضين للحصول على البيانات إلى العميل.
تغيير البيانات على جانب العميل ثم إرسال التعديلات إلى الخادم.
أنت تقوم بإجراء تغييراتك مباشرة على الخادم مع SQL.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top