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

عندي مشكله في تحديث قاعدة البيانات الاصليه

بدأه M.A.A.H في 12 مارس 2008 · 1 رد · 701 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
	

	'لتحديث قاعدة البيانات الاصلية

		Dim MyDataSet_Changes As New DataSet
		Dim MyDataSet_Upload As New DataSet


		Try
			Dim MyAdapter As New OleDbDataAdapter(SQL, MyCon)
			Dim MyCmdB As New OleDbCommandBuilder(MyAdapter)
			Me.BindingContext(MyDataSet, "Table").EndCurrentEdit()
			If MyDataSet.HasChanges Then
				MyDataSet_Changes = MyDataSet.GetChanges
				MyDataSet_Upload = MyDataSet_Changes.GetChanges(DataRowState.Modified)
				If (Not (MyDataSet_Upload) Is Nothing) Then MyAdapter.Update(MyDataSet_Upload.Tables(0))
				MyDataSet_Upload = MyDataSet_Changes.GetChanges(DataRowState.Added)
				If (Not (MyDataSet_Upload) Is Nothing) Then MyAdapter.Update(MyDataSet_Upload.Tables(0))
				MyDataSet_Upload = MyDataSet_Changes.GetChanges(DataRowState.Deleted)
				If (Not (MyDataSet_Upload) Is Nothing) Then MyAdapter.Update(MyDataSet_Upload.Tables(0))
				MyDataSet.AcceptChanges()
			End If

		Catch ex As OleDb.OleDbException

			MsgBox(ex.Message, MsgBoxStyle.Critical Or MsgBoxStyle.MsgBoxRight Or MsgBoxStyle.MsgBoxRtlReading, "خطاء في جلب البيانات")

		End Try

		MyDataSet_Changes.Dispose()

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

لمن اقوم بجلب المعلومات اللي اضفتا سابقا واقوم بالتعديل عليها وبعدين اطبق عليها هذا الكود يعطيني هذا الخطاء

post-43549-1205316235_thumb.jpg

#2

CommandBuilder

تعتمد على ال select Command الي موجودة داخل الداتا ادابتر اذا توفرت الشروط التالية

1- على الاقل يوجد كالوم واحد يحتوي على قيمة نادرة او برايمري كي

2- يجب على القيم المرجعة ان تعيد جميع الاعمدة التي لا يمكن ان تكون null و ليس لها قيمة افتراضية

3- على الاقل تعيد رو واحد

:wub:

تم تعديل هذه المشاركة بواسطة slayer666 في 23 مارس 2008 في 21:58

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