PDA

View Full Version : اجرا نشدن where در asp



boysilent
یک شنبه 14 خرداد 1391, 11:24 صبح
سلام دوستان من این دستور رو نوشتم ولی این خطارو میده؟؟؟

SqlDataAdapter dat=new SqlDataAdapter("select * from doros where yeare='"+TextBox3.Text+"'",con);


The data types ntext and varchar are incompatible in the equal to operator.

mehdi.mousavi
یک شنبه 14 خرداد 1391, 17:03 عصر
سلام.
شما به چه دلیل فیلد yeare (چه اسم عجیبی، آیا e آخر اضافی نیست؟) رو بصورت ntext در بانک نگهداری کرده اید؟ چرا اونو (اگر بیانگر سال هستش) بصورت int نگه نمی دارید؟ راه صحیح اینه که Data Type اون فیلد رو عوض کرده، همچنین کدتون رو Parametric بنویسید که در برابر حملات SQL آسیب پذیر نباشه. اما اگر اصرار دارید کد در شرایط فعلی کار کنه، باید yeare رو به NVARCHAR(MAX)) کست کنید:

SqlDataAdapter dat=new SqlDataAdapter("select * from doros where CAST(yeare AS NVARCHAR(MAX))='"+TextBox3.Text+"'",con);

موفق باشید.

boysilent
یک شنبه 14 خرداد 1391, 19:29 عصر
ممنون ولی ج نمیده یعنی کوری رو خالی میده ؟
http://barnamenevis.org/showthread.php?344495-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86-%D8%A8%D9%86%D8%B8%D8%B1%D8%AA%D9%88%D9%86-%DA%86%D8%B1%D8%A7-%D8%A7%DB%8C%D9%86-%DA%AF%D8%B1%DB%8C%D8%AF-%D9%88%DB%8C%D9%88-%D8%B9%D9%85%D9%84-%D9%86%D9%85%DB%8C%DA%A9%D9%86%D9%87%D8%9F&p=1519034#post1519034

mehdi.mousavi
یک شنبه 14 خرداد 1391, 19:53 عصر
سلام.
پس راه نادرست رو انتخاب کردید، درسته؟ Text مورد نظر چی هست؟ لطفا قدری اطلاعات در مورد محتوای جدول بدید،
چون تا الان هر چی گفتم بر اساس حدس و گمان بوده.

موفق باشید.


ممنون ولی ج نمیده یعنی کوری رو خالی میده ؟
http://barnamenevis.org/showthread.php?344495-%D8%AF%D9%88%D8%B3%D8%AA%D8%A7%D9%86-%D8%A8%D9%86%D8%B8%D8%B1%D8%AA%D9%88%D9%86-%DA%86%D8%B1%D8%A7-%D8%A7%DB%8C%D9%86-%DA%AF%D8%B1%DB%8C%D8%AF-%D9%88%DB%8C%D9%88-%D8%B9%D9%85%D9%84-%D9%86%D9%85%DB%8C%DA%A9%D9%86%D9%87%D8%9F&p=1519034#post1519034