PDA

View Full Version : مشخص شدن تعداد رکورد حذف شده یا تغییر پیدا کرده



rostamedastan
دوشنبه 02 اردیبهشت 1387, 16:55 عصر
بعد از اجرای شیئ از نوع sql command که storedprocedure را فراخوانی می کند که یک رکورد را حذف می کند دستورات

dr = cmdclas.ExecuteReader();
textBox1.Text = (dr.RecordsAffected).ToString();

را می نویسم در textbox1 عدد صفر را می نویسد در صورتیکه چون یک رکورد تغییر پیدا کرده باید عدد 1 نوشته شود چه کار کنم؟
البته بعد از عمل Update عدد 1 را بر می گرداند ولی اگر رکوردی را حذف کنم 0 بر می گرداند.

rostamedastan
دوشنبه 02 اردیبهشت 1387, 22:05 عصر
یعنی تابحال کسی نخواسته ببینه بعد از اجرای دستور delete یا update چند رکورد حذف یا تغییر کرده ؟
اگر دوستان روشهای دیگری دارند بگویند تا ما یاد بگیریم.
متشکرم

bachebahal_1363
دوشنبه 02 اردیبهشت 1387, 22:17 عصر
از dataview استفاده کنی متد های مختلفی هم برای select و هم برای delete و بقیه کارها داره که به راحتی تداد اطلاعات موجود در بانک و همچنین بعد از Fill کردن اطلاعات می توان هم تعداد رکورهای ثبت شده ، حذف شده و همچنین به روز شده رو بدست آورد . و همچنین چون Dataview از dataadapter و همچنین Dataset استفاده می کنه چون اطلاعات ابتدا در حافظه ذخیره می شه و بعد در صورت ثبت اطلاعات در بانک ثبت می شه می توان به راحتی اگر یوزر نخواست اطلاعات تغییر یافته Save بشه اون اطلاعات رو از حافظه حذف کرد .

razavi_university
سه شنبه 03 اردیبهشت 1387, 02:03 صبح
اگر درست یادم مونده باشه
در صورتی که برای اجرای تراکنشتون از ExecuteNonQuery استفاده کنین یک مقدار int برمی گردونه که تعداد رکوردهای تغییر یافته است

gdevnb
سه شنبه 03 اردیبهشت 1387, 13:37 عصر
من هم با نظر جناب رضوی موافقم.

SqlCommand com = new SqlCommand(sqlQuery,con);
int x = com.ExecuteNonQuery();

rostamedastan
سه شنبه 03 اردیبهشت 1387, 22:02 عصر
از راهنماییتان ممنونم
این روشی که در بالا گفتید را فهمیدم اما آقایی که گفتند از dataview می شود استفاده کرد می شود کد را برای حالات مختلف بنویسید؟