PDA

View Full Version : مشکل یژوال استادیو2008 با دستور ExecuteScaler()



mina_ghorbani
چهارشنبه 20 مرداد 1389, 08:27 صبح
سلام
من قبلا تو visual studio 2005 تو commandText یه دستور اس کیو ال می نوشتم بعد با executeScaler() اجرا می کردم جواب می داد
مثلا می زدم select name from Tbl where family= txtFamily.Text
این مثلا تو کامند تکست باشه
اجرا می کردم اگر داشت فکر کنم شماره ردیف رو می داد
اگر هم نداشت هیچی
اما الان که می نویسم همون دستور رو تو VS2008 اگر ردیفی در مورد اون دستور sql داشته باشه اجرا می شه داشته باشه اجرا می شه اگر نداشته باشه error من هم مجبورم بزارم تو try catch که اگر نداشت catch رواجرا کنه اما این طوری یه کم کد ها طولانی تره
به نظرم هم یه جوریه
شما این مشکل رو نداشتید؟؟

sayan
چهارشنبه 20 مرداد 1389, 09:22 صبح
سلام اگه میخواهی رکورد برگردونه همین چیزی که خودت نوشتی تو دستور sql ات خب از دستور

com.ExecuteReader(); استفاده کن اون چیزی که شما میگی معمولاْ زمانیکه شما تو دستور
sql ات از توابع شمارشی مثل count, max, sum استفاده کرده باشی بکار میرود

حجتی نیا
چهارشنبه 20 مرداد 1389, 09:50 صبح
سلام
من قبلا تو visual studio 2005 تو commandText یه دستور اس کیو ال می نوشتم بعد با executeScaler() اجرا می کردم جواب می داد
مثلا می زدم select name from Tbl where family= txtFamily.Text
این مثلا تو کامند تکست باشه
اجرا می کردم اگر داشت فکر کنم شماره ردیف رو می داد
اگر هم نداشت هیچی
اما الان که می نویسم همون دستور رو تو VS2008 اگر ردیفی در مورد اون دستور sql داشته باشه اجرا می شه داشته باشه اجرا می شه اگر نداشته باشه error من هم مجبورم بزارم تو try catch که اگر نداشت catch رواجرا کنه اما این طوری یه کم کد ها طولانی تره
به نظرم هم یه جوریه
شما این مشکل رو نداشتید؟؟

اگه اون مقدار وجود نداشت شما میخوای چکار بکنی؟؟
میتونی از دستور
comman.executescaler() == DBNull.value واسه بررسی خالی بودن نتیجه استفاده کنی ..