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

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41)
+--- الموضوع : مشكلة في كود التعديل على السجل (/showthread.php?tid=10055)



مشكلة في كود التعديل على السجل - eng.khalidvb - 13-08-13

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

اواجه مشكله في زر التعديل
هذا هو الكود :
PHP كود :
Dim SavInto As New OleDb.OleDbCommand
            Dim ConStr 
As String _
            
"Provider=Microsoft.ace.OLEDB.12.0; Data Source =" _
            Application
.StartupPath "\student.accdb"
            
Dim Conn As New OleDbConnection(ConStr)
            
SavInto.Connection Conn
            SavInto
.CommandType CommandType.Text
            SavInto
.CommandType CommandType.Text
            SavInto
.CommandText "UPDATE tb SET Name = '" Trim(txt_name.Text) & "' , Address= '" Trim(txt_address.Text) & "' ,  phone= '" Trim(txt_phone.Text) & "'"
            
Conn.Open()
            
SavInto.ExecuteNonQuery()
            
Conn.Close()
            
MsgBox("تم التعديل على السجل بنجاح"

المشكله هنا انه عندما اقوم بالتعديل على سجل واحد جميع السجلات التي في قاعدة البيانات تاخذ نفس القيمة المعدله بالنسبه للسجل المعدل

قاعدة البيانات اسمها : Student والجدول اسمه :tb
ويحتوي على البيانات التاليه :

name,address,phone

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

انا استخدم vb 2012


مشكلة في كود التعديل على السجل - سعود - 13-08-13

لان مافيه شرط where عدل على الكود بحيث يشترط رقم معين يستعلم عنه مثلا
كود :
where id=val(id.text)



مشكلة في كود التعديل على السجل - eng.khalidvb - 13-08-13

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

PHP كود :
SavInto.CommandText "UPDATE tb SET  name= '" Trim(txt_name.Text) & "' , Address= '" Trim(txt_address.Text) & "', phone= '" Trim(txt_phone.Text) & "' WHERE Address ='" txt_address.Text "'" 


فهل الكود الذي كتبته غير صحيح ؟؟


مشكلة في كود التعديل على السجل - سعود - 13-08-13

استعلم عن عمود لاتتكرر القيم فيه هل العمود: Address لا تتكرر القيم فيه؟؟


مشكلة في كود التعديل على السجل - Sajad - 13-08-13

السلام عليكم

تعديل الاستعلام

PHP كود :
SavInto.CommandText "UPDATE tb SET  name= '" Trim(txt_name.Text) & "' , Address= '" Trim(txt_address.Text) & "',phone= '" Trim(txt_phone.Text) & "' WHERE Address ='" txt_address.Text "' and  id="val(id.text

اخي العزيز عدل الid الى أي عمود Primary Key في الجدول



مشكلة في كود التعديل على السجل - eng.khalidvb - 14-08-13

اخي العزيز انا قمت بالتعديل على الكود وانا ف الحقيقة لم استخدم primery key لان لم ارد ذلك

قمت بتعديل الكود كالتالي :

PHP كود :
Dim SavInto As New OleDb.OleDbCommand
        Dim Cn 
As String _
        
"Provider=Microsoft.ace.OLEDB.12.0; Data Source =" _
        Application
.StartupPath "\student.accdb"
        
Dim Conn As New OleDbConnection(Cn)
        
SavInto.Connection Conn
        SavInto
.CommandType CommandType.Text
        SavInto
.CommandText "update tb set name= '" Trim(txt_name.Text) & "', address='" Trim(txt_address.Text) & "', phone='" Trim(txt_phone.Text) & "' where address= '" Trim(txt_address.Text) & "'"
        
Conn.Open()
        
SavInto.ExecuteNonQuery()
        
Conn.Close()
        
MsgBox("تمت عملية تعديل السجل بنجاح")

       
        
Me.Hide()
        
Me.Show() 

والكود شغال 100% حيث انه يقوم بالتعديل على كل سجل بمفرده حسب التعديلات التي يدخلها المستخدم على كل عمود

لكن المشكله التي ظهرت لي الان هي انه عندما اغلق البرنامج واعيد تشغيل كل سجل قمت بالتعديل عليه يرجع مثل ما كان كاني لم اعدل عليه بمعنى اخر كانه لم يقم بالتعديل على البيانات من داخل قاعدة البيانات بل على النموذج مع ان مسار الاتصال بقاعدة البيانات صحيح .. اذاً ما المشكله .؟؟


مشكلة في كود التعديل على السجل - eng.khalidvb - 14-08-13

اخواني سوف ارفق لكم النموذج ارجوا التعديل عليه وارفاقه مرة اخرى لي .. لاني ف الحقيقه تعبت كثير في هذا الكود بالتحديد ..


مشكلة في كود التعديل على السجل - سعود - 14-08-13

اعذرني اخي فقد قمت بتهيئة (Format) الجهاز لدي ولم اثبت الا فيجوال بيسك 2010 لاني واجهت مشاكل مع vb 2012