PDA

View Full Version : مقایسه با داده نوع bit



zahracomputer
یک شنبه 20 شهریور 1390, 09:53 صبح
سلام و خسته نباشید
من در جدولم یک داده از نوع bit دارم و در برنامه نیاز مقدار true یا false بودن این فیلد بررسی شود. برای این منظور من در رنامه یک متغیر از نوع int با مقدار اولیه 0 تعریف کردم و با کد زیر آن را با فیلد موجود در جدول مقایسه نمودم
int flag=0;
str="select * from tblTest Where Field='"+convert.ToByte(flag)+"';

و برنامه درست اجرا شد. ولی وقتی exe برنامه را اجرا می کنم خطای زیر را می دهد

Unhandled exception has occurred in your application. if you click Continue. the application will ignore attempt to continue. if you click Quit. the applicfation will close immediately.
Syntax error cnverting the varchar value 'False' to a column of data type bit.
ایراد کار چیست؟ و چیکار کنم که دیگه با این مشکل مواجه نشوم.
با تشکر

علیرضا حسن زاده
یک شنبه 20 شهریور 1390, 14:49 عصر
معلومه که خطا میده چون باری فیلد از نوع بیت که از ' (کوتیشن) استفاده نمی کنن

AmirSlash
یک شنبه 20 شهریور 1390, 15:34 عصر
دستوری که نوشتی ور به شکل زیر اصلاح کن

int flag=0;
str="select * from tblTest Where Field="+convert.ToByte(flag);

seven7777777
یک شنبه 20 شهریور 1390, 19:13 عصر
دوست عزیز
سعی کن query هاتو با SqlCommand بسازی و بعد پارامترهاتو از طریق متد Parameters بدی به کوئری که یه همچین مشکلاتی پیش نیاد . نمونه کد :

_com.CommandText = "INSERT INTO docs (goal3)";
_com.CommandText += " VALUES (@g3)";
_com.Parameters.Add("@g3", SqlDbType.Bit).Value = newDoc.goal3;

الان در کد بالا میاد و بجای @g3 دقیقا معادل نوع دادشو داخل sql قرار میده . در ضمن newDoc.goal3 هم از نوع بولین هست .
موفق باشید