09-08-21, 02:03 PM
السلام عليكم:
قمت باستخدام الكود التالي في جلب البيانات من قاعدة بيانات سيكوال سيرفر وجمع وطرح قيمة معينة وتحديث بيانات الكمية والتكلفة والكمية المباعة ولكن عند تنفيذ الكود يكون هنالك بطىء نتيجة استخدام dataadapter
الكود يعمل بشكل صحيح ولكن العملية بطئية
قمت باستخدام الكود التالي في جلب البيانات من قاعدة بيانات سيكوال سيرفر وجمع وطرح قيمة معينة وتحديث بيانات الكمية والتكلفة والكمية المباعة ولكن عند تنفيذ الكود يكون هنالك بطىء نتيجة استخدام dataadapter
الكود يعمل بشكل صحيح ولكن العملية بطئية
For a = 0 To dgv.Rows.Count - 1
Dim adp As New SqlDataAdapter("select * from item where Itemcode=N'" & (dgv.CurrentRow.Cells(0).Value) & "'", sqlconn)
Dim ds As New DataSet
adp.Fill(ds)
Dim dt = ds.Tables(0)
Dim dr = dt.Rows(0)
Dim profits1 As Decimal = dr!profits
Dim out_count1 As Decimal = dr!out_count
Dim itemcount1 As Decimal = dr!itemcount
Dim sqlQuery As String = "update item set [itemcount]= @itemcount,[profits]=@profits,[out_count]=@out_count where itemcode=" & Val(dgv.Rows(a).Cells(0).Value)
Dim cmd As New SqlCommand(sqlQuery, sqlconn)
cmd.Parameters.AddWithValue("@itemcount", itemcount1 - Val(dgv.Rows(a).Cells(16).Value))
cmd.Parameters.AddWithValue("@profits", profits1 + dgv.Rows(a).Cells(8).Value)
cmd.Parameters.AddWithValue("@out_count", out_count1 + dgv.Rows(a).Cells(16).Value)
If sqlconn.State <> ConnectionState.Open Then sqlconn.Open()
Dim sqlQuery2 As String = "update [item] set total_price = itemcount * itembuyprice "
Dim cmd2 As New SqlCommand(sqlQuery2, sqlconn)
cmd.ExecuteNonQuery()
cmd2.ExecuteNonQuery()
dt.Clear()
Next
sqlconn.Close()
Dim adp As New SqlDataAdapter("select * from item where Itemcode=N'" & (dgv.CurrentRow.Cells(0).Value) & "'", sqlconn)
Dim ds As New DataSet
adp.Fill(ds)
Dim dt = ds.Tables(0)
Dim dr = dt.Rows(0)
Dim profits1 As Decimal = dr!profits
Dim out_count1 As Decimal = dr!out_count
Dim itemcount1 As Decimal = dr!itemcount
Dim sqlQuery As String = "update item set [itemcount]= @itemcount,[profits]=@profits,[out_count]=@out_count where itemcode=" & Val(dgv.Rows(a).Cells(0).Value)
Dim cmd As New SqlCommand(sqlQuery, sqlconn)
cmd.Parameters.AddWithValue("@itemcount", itemcount1 - Val(dgv.Rows(a).Cells(16).Value))
cmd.Parameters.AddWithValue("@profits", profits1 + dgv.Rows(a).Cells(8).Value)
cmd.Parameters.AddWithValue("@out_count", out_count1 + dgv.Rows(a).Cells(16).Value)
If sqlconn.State <> ConnectionState.Open Then sqlconn.Open()
Dim sqlQuery2 As String = "update [item] set total_price = itemcount * itembuyprice "
Dim cmd2 As New SqlCommand(sqlQuery2, sqlconn)
cmd.ExecuteNonQuery()
cmd2.ExecuteNonQuery()
dt.Clear()
Next
sqlconn.Close()