線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1127
推到 Plurk!
推到 Facebook!

對非integer或datetime型態的欄位可能界定上下限,用sql語法加以篩選?

尚未結案
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-01 22:44:31 IP:61.231.xxx.xxx 未訂閱
小弟用bde連paradox資料庫 在欄位a003(a003是輸入的日期)是datetime 型態時用下面語法篩選沒問題
qmoney.Close;
qmoney.SQL.Clear;
qmoney.SQL.Add('select * from money1 where a003 between :D1 and :D2');
qmoney.ParamByName('D1').AsDateTime := StrToDateTime(trim(Edit1.Text));
qmoney.ParamByName('D2').AsDateTime := StrToDateTime(trim(Edit2.Text));
qmoney.Open;
但因在某方面的限制下要把a003這個欄位改型態成string, 但a003輸入的內容還是日期,不知這樣還能夠有辦法篩選出 想限制上下限日期的record?(試了n 遍的情況下錯誤訊息都是 '''is not a valid integer value') 是否只有integer與date型態能界定上下限,篩選出 record來? 「堅持」從洗馬桶做起 Aric
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-02 00:45:44 IP:61.62.xxx.xxx 未訂閱
請問你的 a003 內的資料是什麼, 可以列舉一些出來嗎? 原則上應該是可以轉型查詢的!
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-02 00:48:53 IP:61.231.xxx.xxx 未訂閱
引言: 是民國日期 如92/01/31
「堅持」從洗馬桶做起 Aric
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-02 21:21:08 IP:61.62.xxx.xxx 未訂閱
若存的是民國年的話, 建議你直接用字串比對比較理想: qmoney.Close; qmoney.SQL.Clear; qmoney.SQL.Add('select * from money1 where a003 between :D1 and :D2'); qmoney.ParamByName('D1').AsString := trim(Edit1.Text); qmoney.ParamByName('D2').AsString := trim(Edit2.Text); qmoney.Open;
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-03 00:27:08 IP:61.231.xxx.xxx 未訂閱
小弟這方法也有用過 不過都是上面post說的錯誤訊息 自timhuang大大告知這方法後 重從新開新專案只加入試這方法的元件 果然可行  原來是小弟程式中的問題 感謝大大的指導 「堅持」從洗馬桶做起
系統時間:2024-11-25 2:32:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!