منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] OleDbCommandBuilder لا يعمل مع الداتاقريد فيو (تم الحل) - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] OleDbCommandBuilder لا يعمل مع الداتاقريد فيو (تم الحل) (/showthread.php?tid=29298)



OleDbCommandBuilder لا يعمل مع الداتاقريد فيو (تم الحل) - larbihamri - 08-04-19

السلام عليكم ...كيف حال الجميع
لقد صادفتني مشكلة اثناء الحفظ بإستعمال OleDbCommandBuilder
حيث لما امرر قيمة من تكست بوكس مثلا الى الداتاقريد فيو برمجيا لا تتم عملية الحفظ اما لم اقوم بتغيير القيمة يديويا يتم الحفظ
قمت بملأ الداتا قريد(dgv_produit) بالكود التالي :
PHP كود :
Sub fillDgv_produit()

 
       MyadapterSP = New OleDbDataAdapter("select * from tbl_produit"con)
 
       dtsp = New DataTable
        MyadapterSP
.Fill(dtsp)
 
       dgv_Produit.AutoGenerateColumns False
        dgv_Produit
.DataSource dtsp.DefaultView


    End Sub 

ثم قمت بتمرير قيمة من تكست بوكس الى خلية من الداتاقريد و هي كالأتي :
PHP كود :
dgv_Produit.Item("qty"rowindex).Value = (dgv_Produit.Item("qty"rowindex).Value) - (Val(txtQty.Text)) 
 
ثم عملية الحفظ كالأتي 
PHP كود :
   Dim cmdb As New OleDbCommandBuilder(MyadapterSP)
        MyadapterSP.Update(dtsp)
        dtsp.AcceptChanges() 



RE: OleDbCommandBuilder لا يعمل مع الداتاقريد فيو - بدري - 09-04-19

طريقه تعريف OleDbCommandBuilder هي
Dim cmdb As New OleDbCommandBuilder(dtsp)
بالاضافه الى التحديث
MyadapterSP.Update(dtsp)


لكن قبلها يجب عمل endedit للداتاجريد
dgv_Produit.EndEdit

وبعد عمليه الحفظ اعد تحميل البيانات
fillDgv_produit

يعني الكود

dgv_Produit.EndEdit

Dim cmdb As New OleDbCommandBuilder(dtsp)

MyadapterSP.Update(dtsp)

fillDgv_produit

والافضل اضافه QuotePrefix وQuoteSuffix الى cmdb بفيكون الكود

dgv_Produit.EndEdit

Dim cmdb As New OleDbCommandBuilder(dtsp)
cmdb.QuotePrefix = "]"
cmdb.QuoteSuffix = "["

MyadapterSP.Update(dtsp)

fillDgv_produit


RE: OleDbCommandBuilder لا يعمل مع الداتاقريد فيو - larbihamri - 09-04-19

اخي بدري بارك الله فيك 
لكن بقي هناك إشكال 
اخر سجل في الداتاقريد لا يتم تحديثه


RE: OleDbCommandBuilder لا يعمل مع الداتاقريد فيو - بدري - 09-04-19

لا ادري ما السبب
قد يحتاج الامر الى ان تضع مشروع بسيط للفكره


RE: OleDbCommandBuilder لا يعمل مع الداتاقريد فيو - larbihamri - 09-04-19

السلام عليكم
لقد تم الحل بإضافة الكود التالي 
PHP كود :
 ValidateChildren()