PDA

View Full Version : آیا کسی میتونه در رفع خطا search از روش query به من کمک کنه



hm1984ir
دوشنبه 06 خرداد 1387, 10:28 صبح
دستور query
comand.CommandText = "select * from present_info where date_pr=" + textBox1.Text + "and date_pr=" + textBox2.Text;
پیام خطا
convertion failed when converting the varchar value '1387/02/26 todata type int

allameh
دوشنبه 06 خرداد 1387, 11:05 صبح
عدم تبدیل varchar به int
چرا به int تبدیل میکنی.

من خودم date را به string تبدیل میکنم و بعد جستجو یا query میگیرم
این هم یک راه است .بسته به نوع برنامه ات دارد.

نوع فیلد را به nvarchar و تاریخ را به string تبدیل کن.

قبلش / را از تاریخ بردار

combo_ci
سه شنبه 07 خرداد 1387, 00:43 صبح
توي جدولت نوع فيلد date_pr رو از int به nvarchar 10 تبديل كن

hm1984ir
پنج شنبه 09 خرداد 1387, 08:14 صبح
دستور query
comand.CommandText = "select * from present_info where date_pr=" + textBox1.Text + "and date_pr=" + textBox2.Text;
پیام خطا
convertion failed when converting the varchar value '1387/02/26 todata type int

من ازاول نوع فلید date_pr را nvarchar(50) تعریف کردم این خطا رو میداد بعد به توصیه دوستان برنامه نویس اون رو بهchar تغییر دادم بازم همین خطای بالا رو داد درضمن من اصلا توی این فرمم روی date_prعملیاتی انجام ندادم که بخوام به int تبدیل کنم لطفا در این مورد کمکم کنید چون کل برنامه بجز این قسمت کامله

linux
پنج شنبه 09 خرداد 1387, 15:06 عصر
دستور query
comand.CommandText = "select * from present_info where date_pr=" + textBox1.Text + "and date_pr=" + textBox2.Text;
پیام خطا
convertion failed when converting the varchar value '1387/02/26 todata type int
با فرض اینکه date_pr از نوع nvarchar باشه بعد از مقدار دهی به این شکل به سرور ارسال
خواهد شد
با فرض اینکه مقادیری که پاس می کنی به دستور
1387/02/26
و 1387/02/27 باشد


Select * from present_info
where
date_pr=1387/02/26
and
date_pr=1387/02/27

خوب این هم از نظر شکل دستور نادرست هست هم از نظر منطقی.
باید قبل و بعد تاریخ از ' استفاده کنید


date_pr='1387/02/26'

بعدش هم چطور میشه یک فیلد هم امروز باشه هم مثلا فردا؟

baran_mehr
پنج شنبه 09 خرداد 1387, 16:09 عصر
سلام داداش گلم.
همونجور که دوستمون گفت شما باید از علامت (')استفاده کنید.
اما اگه شما میخواین جستجو رو بین دو بازه زمانی انجام بدید باید از دستور Between استفاده کنید.

"Select * from present_info where ( date_pr BETWEEN '" & textbox1.text &"' And '"textbox2.text &"')"
موفق و پیروز باشی.