PDA

View Full Version : چرا اطلاعات تیبل با update به روز نمیشه؟



Mrs.Net
دوشنبه 18 تیر 1386, 20:58 عصر
بوسیله کد زیر تغییرات داخل تیبل که بایند شده هست update میکنم و درست انجام میشه
اما همونجا اگه اون ردیف که تازه اضافه شده پاک کنم یا ادیت کنم تو خط update این اشکال میگیره:

Concurrency violation: the DeleteCommand affected 0 of the expected 1 records.
وقتی فرمم میبندم دوباره باز میکنم. این بار درست کار میکنه

کد:

datatable dt=mydatatable.getchanges();
if(dt!=null){
my adapter.Update(dt);
mydatatable.AcceptChanges();
}

SalarSoft
دوشنبه 18 تیر 1386, 21:51 عصر
RowState مربوط به سطر جدید رو بعد از ویرایش برابر DataRowState.Added قرار بده
برای حذف کردن سطر جدید اظافه شده به جای استفاده از دستور Delete مربوط به DataRow از دستور Rows.Remove مربوط به DataTable استفاده کن.

مشکل حل خواهد شد.

Mrs.Net
دوشنبه 18 تیر 1386, 22:06 عصر
RowState مربوط به سطر جدید رو بعد از ویرایش برابر DataRowState.Added قرار بده منظورتون از بعد از ویرایش چیه؟
وقتی اطلاعات یک ردیف از بیندینگ تغییر میدم اول endedit میزنم و بعد آپدیت میکنم.
قبل از endedit اینکار انجام بدم؟


برای حذف کردن سطر جدید اظافه شده به جای استفاده از دستور Delete مربوط به DataRow از دستور Rows.Remove مربوط به DataTable استفاده کن.

برای حذف از
RemoveCurrent خود بیندینگ سورس استفاده میکنم

SalarSoft
دوشنبه 18 تیر 1386, 22:23 عصر
قبل از endedit اینکار انجام بدم؟بعد از Edit



برای حذف از
RemoveCurrent خود بیندینگ سورس استفاده میکنم


بررسی کنید که اگر سطری که می خواهید حذف کنید مقدار RowState آن برابر Added است در آن صورت:

از دستور Rows.Remove مربوط به DataTable استفاده کن.

Mrs.Net
سه شنبه 19 تیر 1386, 10:16 صبح
یعنی انجام دادن اینکارا لازمه و درسته؟!!

SalarSoft
سه شنبه 19 تیر 1386, 21:23 عصر
یعنی انجام دادن اینکارا لازمه و درسته؟!!اگه نبود نمی نوشتم!

این بررسی ها برای رفع تداخل پیش آمده که در هنگام آپدیت پیش میاد توصیه می کنم.

Mrs.Net
سه شنبه 19 تیر 1386, 23:43 عصر
ممنون اما درست نشد
همون کار با خود ویزارد و دیتاست managed انجام دادم درست شد

اما من با کد دیتاست پر کردم و موقعی که ردیف اضافه میکنم
نمیدونه id برابر چند میشه
چجوری درستش کنم؟