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

مشكلة في الحفظ إلى قاعدة البيانات

بدأه human2x في 20 أكتوبر 2009 · 2 رد · 478 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أخواني أنا عملت فورم بسيط ووضعت به بعض مربع نص ليعرض قيمة معينة من قاعدة البيانات وأيضاً عملت بعض الأزرار للتنقل بين السجلات وكل شي تمام

حيث أني ربطت مربع النص مع الحقل في قاعدة البيانات بالطريقة التالية:

Dim ins_Adapter As New SqlDataAdapter("select * from customers", selCon)
Dim MyDss As New DataSet
ins_Adapter.Fill(MyDss, "customers")
txtName.DataBindings.Add(New Binding("Text", MyDss, "customers.cname"))

وعندما أقوم بعمل التحديث استخدمت الكود التالي في زر أمر

MyDss.AcceptChanges()

التعديلات تتم مؤقتاً يعني عندما اتنقل بين السجلات وأعود للسجل الذي قمت بالتعديل عليه أجد أن التغييرات محفوظة .

لكن المشكلة أنه عندما أوقف البرنامج وأقوم بتنفيذه مرة أخرى أجد أن التغييرات لم تحفظ.

أتوقع التعديلات تمت فقط على الـDataSet والتي سميتها MyDss ولكنها لم تتم على الـبيانات في قاعدة البيانات.

لا أعرف كيف أثبت التعديلات على مصدر البيانات.

تم تعديل هذه المشاركة بواسطة human2x في 20 أكتوبر 2009 في 08:20

#2

طبعا لن تجد التحديثات لأنك من المفترض أن تقوم بحفظها فى قاعدة البيانات عن طريق كائن SqlCommand وإعطائه جملة التحديث (طبعا باستخدام المعاملات Parameters) ثم إسناده إلى الخاصية UpdateCommand للكائن SqlDataAdapter وبعد ذلك استدعاء الإجراء Update

كل ذلك يتم قبل استدعاء الإجراء AcceptChanges وإلا لن تجد أى تعديلات

مثلا هذا مثال لجملة تحديث لجدول MyTable يحتوى على حقلين Id , Name

  1.  
  2. Dim cmd As New SqlCommand("Update MyTable Set Name=@Name Where Id=@Id", connection)
  3. cmd.Parameters.Add(New SqlParameter("@Name", SqlDbType.NVarChar, 50, "Name"))
  4. cmd.Parameters.Add(New SqlParameter("@Id ", SqlDbType.Int, 4, ParameterDirection.Input,
    False, 0, 0, "Id", DataRowVersion.Original, Nothing))
  5. Dim da As New SqlDataAdapter()
  6. da.UpdateCommand = cmd
  7. da.Update(MyDss)
  8.  

إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال

feed.1.gif

#3

أشكرك أخي GHOST2010

الحمد لله انحلت المشكلة.

جزاك الله خير

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