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

想問一個關於sql老掉牙的問題

答題得分者是:hagar
moko
一般會員


發表:31
回覆:34
積分:13
註冊:2002-09-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-09-20 23:40:29 IP:61.230.xxx.xxx 未訂閱
我用Oracle資料庫 想在Delphi使用sql抓出日期為2002/3/20 我用where thedate=to_date("2002/3/20","yyyy/mm/dd")會有錯誤 想請教到底sql句放到query1.sql.add('')裡面時有什麼限制嗎? 例如說單引號要變雙引號之類的? 拜託囉!
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-09-21 07:39:16 IP:211.22.xxx.xxx 未訂閱
如下(不是用雙引號, 是用兩個單引號):
begin
  Query1.SQL.Add('where thedate = to_date(''2002/3/20'',''yyyy/mm/dd'')');
end;
另外您可以以看這篇文章: http://www.hower.org/Kudzu/Articles/PreventativeProgramming/ 其中有關 Color Setting 這部份 它可以讓您很容易判斷引號數目是否用對, 或辨別現在輸入的是數字還是字串 小弟也是這麼用的, 您可以參考看看。
-- Everything I say is a lie.
moko
一般會員


發表:31
回覆:34
積分:13
註冊:2002-09-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-09-23 09:45:29 IP:210.65.xxx.xxx 未訂閱
順便再請教一個問題 我用了3個query做不一樣的動作,但是datasource都是一樣的, 那datasource1的dataset要設給哪個query呀????
moko
一般會員


發表:31
回覆:34
積分:13
註冊:2002-09-20

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-09-23 13:42:05 IP:210.65.xxx.xxx 未訂閱
那假如我用把TDateTimePicker放在一個變數aa裡面,那個變數要用string還是TDate型態? 然後再用Query1.SQL.Add('where thedate = to_date('''+aa+''',''yyyy/mm/dd'')'); 這樣對嗎?該怎麼改呢?    
引言: 如下(不是用雙引號, 是用兩個單引號):
begin
  Query1.SQL.Add('where thedate = to_date(''2002/3/20'',''yyyy/mm/dd'')');
end;
另外您可以以看這篇文章: http://www.hower.org/Kudzu/Articles/PreventativeProgramming/ 其中有關 Color Setting 這部份 它可以讓您很容易判斷引號數目是否用對, 或辨別現在輸入的是數字還是字串 小弟也是這麼用的, 您可以參考看看。
-- Everything I say is a lie.
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-09-23 18:19:02 IP:211.22.xxx.xxx 未訂閱
引言: 順便再請教一個問題 我用了3個query做不一樣的動作,但是datasource都是一樣的, 那datasource1的dataset要設給哪個query呀????
這個要問您自己吧! 大家怎麼會知道您的 DataSource1.DataSet 要設給哪個 TQuery 呢? -- Everything I say is a lie.
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-09-23 18:20:55 IP:211.22.xxx.xxx 未訂閱
引言: 那假如我用把TDateTimePicker放在一個變數aa裡面,那個變數要用string還是TDate型態? 然後再用Query1.SQL.Add('where thedate = to_date(''' aa ''',''yyyy/mm/dd'')'); 這樣對嗎?該怎麼改呢?
像這樣:
begin
  Query1.SQL.Add('where thedate = :thedate);
  Query1.ParamByName('thedate').AsDateTime := DateTimePicker1.Date;
  Query1.Open;
  // or Query1.ExecSQL;
-- Everything I say is a lie.
系統時間:2024-04-24 5:17:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!