PDA

View Full Version : سوال: مشکل با دستور DataTable.GetChanges



pooya1072
چهارشنبه 08 خرداد 1392, 18:17 عصر
سلام
توی فرم برنامه یک دیتاگریدویو قرار دادم و بوسیله یک دیتاتیبل اطلاعات یک دیتابیس اسکیوال رو توی تون نشون میدم . حالا هر تغییری که توی مقادیر دیتاگریدویو بدم اصولا توی دیتاتیبل ثبت میشه . و اما مشکل:
اگه هر تغییری در دیتاگریدویو داده بشه میشه اون تغییرات رو بوسیله دستور DataTable.GetChanges گرفت . همونطور که میدونید برگشتیه این دستور یک دیتاتیبله که حاویه تغییراته . این دستور رو توی دو رویداد قرار دادم .یکی توی رویداد کلیک کردن یک باتون روی فرم و دیگری توی رویداد Form.FormClosing
توی رویداد کلیک مقدار nothing رو بر میگردونه ولی توی رویداد بسته شدن فرم مقادیر تغییر داده شده به درستی بر میگرده .
دستورات رو میزارم .چک کنید :
ممنون

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Changes As DataTable = dt.GetChanges
End Sub

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Dim Changes As DataTable = dt.GetChanges
End Sub

مهدی د
سه شنبه 18 تیر 1392, 22:10 عصر
برای عمل کردن متد GetChanges باید ابتدا متد end edite اجرا بشه

tooraj_azizi_1035
چهارشنبه 19 تیر 1392, 13:11 عصر
باید متد EndEdit() شیء BindingSource رو قبلش صدا بزنید تا تغییرات معلق ذخیره بشه در حافظه و بعد GetChanges رو صدا بزنید. در ضمن مقایسه GetChanges با null کافیه و نیازی به تعریف متغیر جدید نیست.