الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكن تحديث أكثر من Row ؟

بدأه zizohhh1 في 21 أكتوبر 2009 · 0 رد · 504 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكــم ورحمـة الله وبركاتــه ،،

بســم الله الـرحمــن الرحيــم

الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

عندي databaseبها الجدول accounts و به الحسابات و جدول dailydiary وبه قيود اليوميه المحاسبية

فعند الشراء نقدا يكون القيد هو من حـ/ المشتريات الى حـ/النقدية

1___من حـ/ المشتريات

___1الى حـ/ النقدية

و عند الشراء بالأجل يكون القيد هو من حـ/ المشتريات الى حـ/النقدية و حـ/ الدائنين

2___من حـ/ المشتريات

___1الى حـ/ النقدية

___1الى حـ/ الدائنين

أريد أن

ينتقل مبلغ النقدية الموجود بالعمود credit بالجدول dailydiary الى العمود debitالموجود بالجدول accounts في صف المشتريات

فأضفت هذا الكود في زر حفظ

Try
Dim UCmd As New OleDb.OleDbCommand
Dim ConStr As String = _
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & _
Application.StartupPath & "\a.mdb"
Dim Conn As New OleDbConnection(ConStr)
Dim UAdp As New OleDbDataAdapter(SQLstr, Conn)
UCmd.Connection = Conn
UCmd.CommandType = CommandType.Text
For I As Integer = 0 To DataGridView1.RowCount - 1
If Not System.Convert.IsDBNull(Me.DataGridView1("debit", I).Value) Then
If DataGridView1("debit", I).Value > 0 Then
UCmd.CommandText = "update accounts SET debit = " & Me.DataGridView1("debit", I).Value & " WHERE account_id = '" & Me.DataGridView1("account_debit", I).Value & "' "
End If
End If
Next
Conn.Open()
UCmd.ExecuteNonQuery()
DS.Clear()
UAdp.Fill(DS, "accounts")
UCmd.Dispose()
Conn.Close()
MsgBox("تمت عملية التعديل والحفظ في قاعدة البيانات بنجاح")
Catch ex As Exception
MsgBox(ex.Message)
End Try

الى هنا يحدث جيدا كما هو مطلوب

''''''''''''

و أريد أن ينتقل مبلغ المشتريات الموجود بالعمود debitبالجدول dailydiary الى العمود credit الموجود بالجدول accounts في صف النقدية

Try
Dim U2Cmd As New OleDb.OleDbCommand
Dim ConStr As String = _
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & _
Application.StartupPath & "\a.mdb"
Dim Conn2 As New OleDbConnection(ConStr)
Dim U2Adp As New OleDbDataAdapter(SQLstr, Conn2)
U2Cmd.Connection = Conn2
U2Cmd.CommandType = CommandType.Text
For I As Integer = 0 To DataGridView1.RowCount - 1
If Not System.Convert.IsDBNull(Me.DataGridView1("credit", I).Value) Then
If DataGridView1("credit", I).Value > 0 Then
U2Cmd.CommandText = "update accounts SET credit = " & Me.DataGridView1("credit", I).Value & " WHERE account_id = '" & Me.DataGridView1("account_credit", I).Value & "' "
End If
End If
Next
Conn2.Open()
U2Cmd.ExecuteNonQuery()
DS.Clear()
U2Adp.Fill(DS, "accounts")
U2Cmd.Dispose()
Conn2.Close()
MsgBox("تمت عملية التعديل والحفظ في قاعدة البيانات بنجاح")
Catch ex As Exception
MsgBox(ex.Message)
End Try

و لكن يظهر error يقول

command text was not set for the command object

و لا يحدث سوى سجل واحد فقظ ساعدوني يرحمكم الرحمن

و مرفقى ال database

للعلم أنا أستخدم vb2005

a.rar

مواضيع مشابهة