PDA

View Full Version : میتونید بگید مشکل این Query کجاست



delphi5
چهارشنبه 12 دی 1386, 08:25 صبح
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from tablename');
ADOQuery1.SQL.Add('where (id > '+QuotedStr(trim(b1))+' and id < '+QuotedStr(trim(b2))+') ');
ADOQuery1.SQL.Add('order by id ');
ShowMessage(ADOQuery1.SQL.Text);
ADOQuery1.Open;
DBGrid1.Refresh;


این Query عمل نمیکنه . میدونید چرا ؟

b1 و b2 ابتدا و انتهای یک بازه رو مشخص میکنه .

MNosouhi
چهارشنبه 12 دی 1386, 09:59 صبح
نوع id چیه؟ اگر id از نوع عددی است نباید از QuotedStr استفاده کنید

delphi5
چهارشنبه 12 دی 1386, 11:02 صبح
id از نوع char است
b1 و b2 از نوع
string[3] است

H.Yousefi
چهارشنبه 12 دی 1386, 13:53 عصر
کلمه ID یک کلمه رزرو شده در Query می باشد. لذا شما با تغییر نام فیلدتان می توانید مشکلتان را حل نمائید.

SYNDROME
چهارشنبه 12 دی 1386, 15:46 عصر
کلمه ID یک کلمه رزرو شده در Query می باشد. لذا شما با تغییر نام فیلدتان می توانید مشکلتان را حل نمائید.
با احترام
فکر نکنم مشکل از نام ID باشد.
مقدار ADO.SQL.Text را قبل از Open کردن ADO به دست بیاورید و در QueryAnalyzer تست کنید.
آیا شما مطمئن هستید برای شرط فوق را جدولتان جوابی دارید؟
موفق باشید

delphi5
چهارشنبه 12 دی 1386, 16:58 عصر
با تشکر از همه . ایرادی توی Query نبود . مشکل مربوط به یه چیز دیگه بود P: