PDA

View Full Version : تشخیص نتیجه دستورات SQL



komeil64
چهارشنبه 07 مرداد 1383, 20:41 عصر
سلام
چطور ااز بروز حطا در دستورات اس کیو ال با خبر شویم
به عنوان مثال در select یک where به کار بردیم که اگرمساوی با تکست نبود select کنه خب مطمئنا دستور درست اجرا میشه ولی هیچ اطفاقی نمی افته چطور می تونیم این عمل را تشحیص بدیم که اگر این کار شد یک پیفام بدیم
مثلا این دستور در dataadapter
select * from tblusers where sub<>textbox1.text
اگر مساوی نباشه هیچ اتفاقی نمی افته همین اتفاق نیفتادن را چطور میشه تشخیص داد

Mahdavi
چهارشنبه 07 مرداد 1383, 23:43 عصر
این مساوی نبودن خطا نیست.
چون با اون شرط شما رکوردی برگردونده نشده.
اگه از sqldataadapter استفاده کنی و متد Fill . این متد تعداد رکورد ها رو برمی گردونه و میتونی از این مقدار استفاده کنی.

int j = BrowseGroup.Fill(dsGroup1);

komeil64
پنج شنبه 08 مرداد 1383, 09:59 صبح
سلام
من متوجه راهنماییتون نشدم
یعنی با اون where از ورود اطلاعات تکراری جلوگلری نمیشه؟؟؟
من می خوام بدونم چطور میشه وقتی شرط whereانجام شد یه کاری انجام بده
چطور تشخیص داده میشه؟؟؟ :oops:
ممنون

Mahdavi
پنج شنبه 08 مرداد 1383, 17:58 عصر
دوست عزیز

select * from tblusers where sub<>textbox1.text
یعنی تمام رکوردهای جدول در صورتی که مقدار فیلد sub اونا مخالف مقدار textbox1 باشد.
البته احتمالا شما می دونید که دستور بالا درست نیست و بطور کاملتر باید بنویسی :


"select * from tblusers where sub<> "+ Textbox1.text
خوب حالا اگه هیچ رکوردی نباشه که مقدار sub اون مخالف مقدار وردودی شما باشه یعنی همه مساوی این مقدارند و هیچ رکوردی برگردونده نمیشه.
این تعداد رکوردها رو میتونی با همون مقداری که متد Fill برمی گردونه تست کنی.
برای اینکه بفهمی آیا شرط برقرار شده یا نه متونی از تابع EXISTS می تونی استفاده کنی بعنی :

" if EXISTS (Select * from tblUser Where Sub <> " + Textbox1.text + " ) دستورات شما "

موفق باشید

komeil64
جمعه 09 مرداد 1383, 13:30 عصر
سلام
ممنون همینو میخواستم بدونم :)