منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
ال Adodc أو ال atagrid لا يعدل الحقول - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم اسئلة vb6.0 المتعلقة بقواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=72)
+--- الموضوع : ال Adodc أو ال atagrid لا يعدل الحقول (/showthread.php?tid=16037)



ال Adodc أو ال atagrid لا يعدل الحقول - اسلام الكبابى - 04-06-16

لدى قاعدة بيانات بها جدول EMPLOYEE  به حقل salary
ولدى Adodc1 متصل بهذا الجدول و DataGrid1 متصلة بال Adodc1
وكتبت هذا الكود فى command


PHP كود :
XXX Val(Text1.Text)
If 
RS.State 1 Then RS.Close
RS
.Open "Select * From EMPLOYEE "dbadOpenStaticadLockOptimistic
RS
.MoveLast
 RS
.Fields("salary") = XXX
 RS
.UpdateBatch adAffectAllChapters
Adodc1
.Refresh 

فكان يعدل لى آخر سجل كما أردت دون أن يظهر هذا التعديل فى ال DataGrid
لا يظهر فيها الا اذا ضغطت على الcommand مرة أخرى
يعدله كما أردت بمعنى أننى اذا فتحت قاعدة بيانات وفتحت الجدول وجدته معدلآ
أرجو تصحيح الكود بحيث يتم التعديل فى ال DataGrid من ضغطة واحدة على الcommand
ولكم ألف شكر



RE: ال Adodc أو ال atagrid لا يعدل الحقول - Ahmed_Mansoor - 05-06-16

أهلا أخي الكريم , جرب أنك بعد الكود السابق تضع هذه الجملة DataGrid1.ReBind وإن لم تنفع جرب إنك تربد الداتا قريد بأداة الأدو بالكود وليس من الخصائص .


RE: ال Adodc أو ال atagrid لا يعدل الحقول - اسلام الكبابى - 05-06-16

إقتباس :جرب أنك بعد الكود السابق تضع هذه الجملة DataGrid1.ReBind
لم تنفع اضافة هذه الجملة
إقتباس :وإن لم تنفع جرب إنك تربد الداتا قريد بأداة الأدو بالكود وليس من الخصائص .
وكيف يتم ربطها بالكود ؟
كنت أظن ربطها بالجملة  DataGrid1.DataSource = Adodc1
ولكن البرنامج اعترض على تلك الجملة حين وضعتها فى كود ال  Form_Load
واعترض عليها حين وضعتها فى كود ال  Form_Activate
واعترض عليها حين وضعتها فى كود الزر (كود ال command)
فكيف يكون ذلك الربط ؟
ولكم ألف شكر



RE: ال Adodc أو ال atagrid لا يعدل الحقول - Ahmed_Mansoor - 06-06-16

أهلا أخي الكريم , هذا تعديل الكود ولكن قبل إستخدامه قم بإزالة أي قيمة موجوده في خاصية الـ DataSource التابعة للـ DataGrid1 من الخصائص إجعلها فارغة لأنك ستربطها بالكود فقط , وإستخدم هذه الطريقة عند الإستعلام أو الإضافة أو التعديل أو الحذف لكي يتم تحديث محتوى الداتا قريد :

PHP كود :
XXX Val(Text1.Text)
If 
RS.State 1 Then RS.Close
RS
.Open "Select * From EMPLOYEE"dbadOpenStaticadLockOptimistic
RS
.MoveLast
RS
.Fields("salary") = XXX
RS
.UpdateBatch adAffectAllChapters

Adodc1
.CommandType adCmdText
Adodc1
.RecordSource "Select * From EMPLOYEE"
Adodc1.Refresh

If Adodc1.Recordset.RecordCount 0 Then
   Set DataGrid1
.DataSource Adodc1
Else
   
Set DataGrid1.DataSource Nothing
End 
If