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

لماذا هذ الكود لا يعمل في Vs.net 2005 مع إني شغال به فى 2003 تمام

بدأه Providers في 12 مارس 2008 · 25 رد · 2,413 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

If DT.DefaultView.RowStateFilter = DataViewRowState.Added Then

Da.Update(DT.GetChanges(DataRowState.Added))

ElseIf DT.DefaultView.RowStateFilter = DataViewRowState.Deleted Then

Da.Update(DT.GetChanges(DataRowState.Deleted))

ElseIf DT.DefaultView.RowStateFilter = DataViewRowState.ModifiedCurrent Then

Da.Update(DT.GetChanges(DataRowState.Modified))

End If

End Sub
#2

جرب GetChanges() بدون معاملات ليحث كل ما تم تغييره من اضافه ةتعديل وحذف

هل هناك اخطاء تظهر لك ؟ ما هى؟

#3

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

وعلى العموم هذه الطريقة أيضا لم تفلح :

 If DT.DefaultView.RowStateFilter = DataViewRowState.Added Then

MsgBox("Providers")

Da.Update(DT.GetChanges())

ElseIf DT.DefaultView.RowStateFilter = DataViewRowState.Deleted Then

Da.Update(DT.GetChanges())

ElseIf DT.DefaultView.RowStateFilter = DataViewRowState.ModifiedCurrent Then

Da.Update(DT.GetChanges())

End If

تصدق .... بعد إضافة السجل الجديد لم يظهر هذه الرسالة ،، إذا لم يعلم بانه تم إضافة سجل جديد ؟؟؟؟؟؟؟؟

#4

هلا من مجيب

#5

ألوووووووووووووووووووووو

#7

أصلا لا يوجد خطأ

هو لا يدخل فى IF أصلا

#9

CurrentRows

#10

يبدو لي أن الخطأ ليس من الكود الذي أرفقته بل في الكود الذي يقوم بتعديل الداتاست

#11

هذا مثال على السؤال ..... وشكرا لك يا باشمهندس System Down

ex.rar

#12

ألووووووووووووووووووو

#13

ألا من مجيب

#15

اخي الكود يحتوي على خطأ و هي انك مستخدم ال DataView

و المثود GetChanges يعد نسخة من الداتا سد او داتا تيبل حسب الاستخدام

حاول الكود التالي

		Dim Ds As DataSet
		If Ds.HasChanges Then
			Dim Allchanges As DataSet = Ds.GetChanges
			Dim OnlyModified As DataSet = Ds.GetChanges(DataRowState.Modified)
		End If
#16

يا جماعة أرجوكم حد يرفع مثال يوضح الحل عشان انا تعبت من كتر التجارب .

وجزاكم الله خيرا على الإهتام وياريت حد يرفعلي مثال على الحفظ والجديد والمسح والتعديل بالوضع المنفصل فقط HasChange أقصد .

#18

يا اخي هناك فرق بين

HasChanges و GetChanges

يعيد قيمة بولين اذا كان قد حصل تعديل على الداتا سيت HasChanges

GetChanges تعيد نسخة من الصفوف التي تم التعديل عليها من الداتا تيبل او الداتا سيت

و عندي ملاحظ بسيطة

عند تنفيذ الامر

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

مثلا عندك داتا تيبل متكونة من 100000 سطر

و قمت بضافة 6 سطور

و تعديل 25 سطر

و خذف 8

الداتا ادابتر سوف يجري هذا التعديلات فقط و هي 6 + 25 + 8 بدون التحديث على السطور التي لم تتغير

تم تعديل هذه المشاركة بواسطة slayer666 في 24 مارس 2008 في 12:52

#19

ولا ده نافع Da.Update(DT.GetChanges())

ولا ده نافع

Da.Update(DT)

ويا جماعة أرجوكم انا عاوز رد عملي كل النظري هذا انا مش عاوزه لو سمحتم مثال يوضح الإجابة ،،،، مثال لا يجعلني أرد مره ثانية

#21

كل الردود إلي ذكرت جربتها كلها .

#22

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

#23

طيب ممكن ترفقلى المثال بعد التعديل , أى وهو شغال ............. وإرفاقة أسهل من الشرح ............. وشكرا جزيلا

#24

:resentful:

#25

ألوووووووووووووووووو

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…