PDA

View Full Version : سوال: جست و جوی تاریخ



majid534
دوشنبه 17 تیر 1398, 15:13 عصر
سلام
وقت عزیزان بخیر
من میخوام بر اساس فیلد تاریخ جست و جو انجام بشه
فیلد بر اساس char هست و ارور conversion failed when converting the varchar value رو میده

کد هم این هست :

ADOQuery1.SQL.Add('Select sum (XXX) from XXX where XXX < 1398/04/31');

mafazel
سه شنبه 18 تیر 1398, 13:26 عصر
ADOQuery1.SQL.Add('Select sum (XXX) from XXX where XXX < 1398/04/31');

سلام دوست عزیز. اولا که وحشتناک شطرنجی اش کردید. کاش این طوری می نوشتید:
ADOQuery1.SQL.Add('Select sum (XXX) from YYY where ZZZ < 1398/04/31');
حالا مشکل اینه که فیلد Char باید کوتیشن داشته باشه:
ADOQuery1.SQL.Add('Select sum (XXX) from YYY where ZZZ < ''1398/04/31''');
هر دوتا کوتیشن توی سورس یه کوتیشن توی جمله میاره. یا که اصلا از دستور QuotedStr استفاده کنید:
ADOQuery1.SQL.Add('Select Sum(XXX) from YYY where ZZZ<'+QuotedStr('1398/04/31'));
من ترجیح میدم وقتی فقط یه جمله SQL دارم از Text. استفاده کنم
ADOQuery1.SQL.Text := 'Select Sum(AAA) from BBB'

hp1361
جمعه 21 تیر 1398, 05:08 صبح
سلام
وقت عزیزان بخیر
من میخوام بر اساس فیلد تاریخ جست و جو انجام بشه
فیلد بر اساس char هست و ارور conversion failed when converting the varchar value رو میده

کد هم این هست :

ADOQuery1.SQL.Add('Select sum (XXX) from XXX where XXX < 1398/04/31');

فیلد تاریخ از نوع Char است؟

اگر پاسخ مثبت است که در مقایسه ها امکان بروز مشکل خواهد بود.

اگر پاسخ منفی ست، پیشنهاد میشه مقادیر رو بصورت پارامتر به کوئری ارسال کنید

majid534
جمعه 21 تیر 1398, 12:38 عصر
بسیار عالی
ممنونم از راهنماییتون
مشکل همون دو کوتیشن بود که حل شد.