+2 امتیاز
سلام

من می خواهم چند جدول موجود در بانک اطلاعات اکسس را وارد دیتاست کرده و ارتباط با بانک را قطع کنم

پس از اعمال تغییرات روی جداول دیتاست و در زمان خروج از برنامه جداول بانک اطلاعاتی را با مقادیر جداول دیتاست بروز رسانی کنم

این کار برای یک جدول از طریق oledbDataAdapter و  تابع Update آن انجام می شود

ولی وقتی میخواهم این کار را برای چند جدول انجام دهم، پیام خطا صادر شده و فیلدهای جداول مختلف را با هم قاطی می کند

مثالهایی هم که وجود دارد فقط با یک جدول کار می کنند و با کاربرد عملی استفاده از بانک اطلاعاتی که خیلی بیش از یک جدول دارند فاصله دارد

پیشاپیش از کمکتون ممنونم

1 پاسخ

+2 امتیاز

سلام ،

 

شی DataAdatper فقط قادر هست که یک جدول رو بروزرسانی کنه . برای جدول های مختلف باید از شی ها ی مختلفی استفاده کنید.یعنی متد Update این شی رو برای هر کدوم از جدول صدا بزنید . اگر بین جداولتون رابطه پدر و فرزندی وجود داره باید به ترتیب خاصی متد Update رو فراخوانی کنید .
مثلا برای ثبت اطلاعات اول باید جدول پدر رو بروزرسانی کنید و بعد فرزندان رو و برای حذف برعکس.

بزارید کمی موضوع رو بیشتر توضیح بدم . فرض کنید جدولی در پایگاه داده دارید که دو سطر از آن رو به Dataset انتقال می دیم به شکل زیر :

 

جدول ما در پایگاه داده سه ستون به نام های customerid ، name ، status داره . اون ستون به نام RowState هم Visual Studio برای ردگیری استفاده می کنه . مقدار Unchanged مشخص می کنه سطر از موقع ورودش به Dataset هیچ تغییری نکرده . حال فرض کنید شما مثلا مقدار Name از سطر اول رو به " younes " تغییر میدین . مقادیر به شکل زیر تغییر می کنه :

همانطور که میبینید مقدار ستون RowState به مقدار Modified تغییر کرد . حال وقتی که شما متد DataAdapter  ، Update رو صدا میزنید ، دستور Update برای سطرهایی اتفاق می وفته که مقدار ستون RowState آنها برابر Modfied باشه . بعد از عمل ویرایش هم مقدار این ستون برای تمامی سطرها به UnChanged تغییر می کنه

 

موفق باشید

 

سلام مجدد

ممنون از پاسخ کاملی که دادید

پس باید به ازای هر جدول که از بانک اطلاعاتی وارد برنامه می کنم یک شیء dataAdapter و یک شیء dataCommandBiulder در نظر بگیرم؟

در مورد ترتیب اجرای تابع update هم

برای بروزرسانی و درج ابتدا جلو پدر و سپس جدول فرزند

و برای حذف ابتدا جلو فرزند و سپس جدول پدر

update می شوند؟

 

توسط (104 امتیاز) 1 4
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,919 کاربر

دسته بندی ها

...