كائنات SQLCommand وتحديث جدول مصدر واحد
-
19-09-2019 - |
سؤال
لدي تصريحات 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.
لا تنتمي إلى StackOverflow