ورود

نسخه کامل مشاهده نسخه کامل : کار با دیتابیس و مطمئن شدن از نتیجه آن



M-B-M
26-10-2008, 00:31
سلام
زمانی که یک رکورد به دیتابیس اضافه می شود یا یک رکورد حذف می شود یا ... چگونه می توان از موفقیت آمیز بودن عملیات مطمئن شد تا پیغام مناسب را به کاربر نمایش داد

hamidreza_buddy
26-10-2008, 02:00
اگر به صورت دستی کد نویسی کرده اید، دستور SqlCommand.ExecuteNonQuery که بوسیله آن دستورات غیر query (مانند حذف، درج و ...) اجرا می شود، مقدار بازگشتی اش تعداد ردیف های دیتابیس است که تاثیر واقع شدند. اگر این مقدار «یک» باشد یعنی هیچ ردیفی تحت تاثیر قرار نگرفته است.

M-B-M
26-10-2008, 08:34
سلام
با تشکر از پاسخ شما
من از Sp استفاده کرده ام و حالا نمی دانم چگونه آن را چک کنم

hamidreza_buddy
28-10-2008, 17:46
من از Sp استفاده کرده ام و حالا نمی دانم چگونه آن را چک کنم


منظورت از Sp چیه؟

اگه از GridView و امثالهم استفاده می کنی، باید بگم که این کنترل ها معمولاً رویدادهایی دارند به نام های RowDeleted، RowCreated، RowUpdated که می تونی توی اونا کدت رو بذاری (مثلاً «حذف کاربر با موفقیت انجام شد»)

M-B-M
01-11-2008, 00:17
سلام


منظورت از Sp چیه؟


یعنی من یک StoredProcedure ساخته ام و در برنامه از آن SP استفاده می کنم

hamidreza_buddy
01-11-2008, 00:23
خوب اون store procedure ها رو از توی کدت با چی اجرا می کنی؟
اگه با SqlCommand.ExecuteNonQuery اجراش می کنی که همون طور که گفتم با چک کردن خروجیش می تونی بفهمی که روی چند ردیف تاثیر گذاشته.

M-B-M
01-11-2008, 00:31
خوب اون store procedure ها رو از توی کدت با چی اجرا می کنی؟


NameTableAdapter.Insert(...)
اینطوری اجرا می کنم

hamidreza_buddy
02-11-2008, 02:03
این متد هم فکر می کنم مقدار بازگشتیش مثل ExecuteNonQuery باشه.

همچنین یه try/catch هم دور اون دستور بگذار تا اگه یه وقت error رخ داد اعلام کنه و بگه که مثلاً «تغییرات اعمال نشد.».