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

حفظ dataTable الجديدة إلى قاعدة البيانات .. رح إتعقد !

مغلق
بدأه AboOmer_ozn في 23 أكتوبر 2006 · 3 رد · 767 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم :

بصراحة يا شباب أخوكم أبو عمر لدية مشكلة كبيرة أوي !!

أنا قمت بالتصريح عن كائنين من نوع DataTable ..

وقمت بنقل بيانات إحداهما إلى الأخرى وليكن اسمها DT2 ... ولما حاولت حفظ السجلات المنقوله لها إلى قاعدة البيانات ..

باستخدام العبارة ملائم البيانات DataAdapter ..

لاحظت أنه اعتبر أن الـ DataRowState لهذه السجلات unChanged ... :(

فمل الحل حتى نجعل الـ DataRowState لهذه السجلات المنقولة إلى DT2 مضافة مثلاً DataRowState.Added ..

أرجوكم مساعدة عاجلة .. :unsure:

أخوكم أبو عمر .

#2

يا أخ أبو عمر حتى تضيف البيانات الى قاعدة البيانات لست بحاجة الى DataTable أو حتى DataAdapter، أنت فقط بحاجة الى OleDbCommand، سأضيف مثالا لعلي أساعدك...

Dim objCommand As New OleDb.OleDbCommand
objCommand.Connection = objConnection
		objCommand.CommandType = CommandType.Text
		objCommand.CommandText = "insert into tblJobRequirements (EmployerNumber, JobCode)values ('10010','001')
		Try
			objCommand.ExecuteNonQuery()
		Catch ex As OleDb.OleDbException
			MessageBox.Show(ex.Message, "!!!")
		End Try
#3

السلام عليكم أخي الكريم :

أنا الحقيقة فرحت أوي من ردك .. :lol:

لكن بصراحة ليس هذا ما أبحث عنه .. فهذه الطريقة أعرفها جيداً .. وأنا لست بصددها ...

فأنا أريد أن أنقل محتويات DataTable إلى أخرى مباشرة بإجدى الطريقتين merge أو Copy

لكائن الـ DataTable ..... ومن ثم حفظ الأخرى إلى قاعدة البيانات بسجلاتها الجديدة ..

بدون الحاجة للمرور سجل سجل Row-by-row على الأولى و إضافة سطر سطر إلى الأخرى و الحفظ ..

وشكراً مرة أخرى ..

تم تعديل هذه المشاركة بواسطة AboOmer_ozn في 23 أكتوبر 2006 في 16:48

#4

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

استخدم وظيفة Copy الموجوده في الـ DataTable فهي تنسخ معلومات الـ DataRows بما فيهم الـ RowState. انظر :

DataTable someDataTable = new DataTable();
someDataTable.Columns.Add("ID",typeof(int));

someDataTable.Rows.Add(new object[]{1});
someDataTable.Rows.Add(new object[]{6});
// Added حالة الصفين الآن

someDataTable.AcceptChanges();
// UnChanged باستدعاء الوظيفه الأخيره أصبحت كل الصفوف 

someDataTable.Rows[0].BeginEdit();
someDataTable.Rows[0][0] = 35;
someDataTable.Rows[0].EndEdit();
// Modified وهنا أصبح الصف الأول
// Unchanged والصف الثاني طبعا يظل كما هو 


DataTable myTable = someDataTable.Copy();
// Modified حالة الصف الأول في هذا الجدول أيضا	
// Unchanged حالة الصف الثاني في هذا الجدول أيضا
// RowStates أي انه تم نسخ البيانات والـ

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

هذا الموضوع مغلق.

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