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

執行sql語法的錯誤('invalid use of keyword')?

答題得分者是:chih
huangeider
高階會員


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-24 12:52:00 IP:210.201.xxx.xxx 未訂閱
[query] 小弟在執行程式時在以下程式碼會出現下面的錯誤不知為何找不出原因 是不是有關鍵字在裏面可我找不到關鍵字?
project project1.exe raised exception cloass EDBEngineError with
message 'Invalid use of keyword.
Token:form
Line Number:1'.process stopped.use step or run to continue.
procedure Tmarkupmanagerform.FormCreate(Sender: TObject);
begin        datamodule2.markup_manager_detailquery.close;
    datamodule2.markup_manager_detailquery.SQL.Clear;
    datamodule2.markup_manager_detailquery.sql.add('select * form markup_manager_detail where 年份=' #39 formatdatetime('yyyy',now()) #39 '月份="1"');
    datamodule2.markup_manager_detailquery.open;
  end;
[/query] 「堅持」從洗馬桶做起 Aric
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-24 13:01:59 IP:211.74.xxx.xxx 未訂閱
procedure Tmarkupmanagerform.FormCreate(Sender: TObject);
begin
    datamodule2.markup_manager_detailquery.close;
    datamodule2.markup_manager_detailquery.SQL.Clear;
    datamodule2.markup_manager_detailquery.sql.add('select * form markup_manager_detail where 年份=' #39 formatdatetime('yyyy',now()) #39 
' AND 月份=' #39 '1' #39);
    datamodule2.markup_manager_detailquery.open;
  end;
少了紅色的部分
huangeider
高階會員


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-24 14:03:22 IP:210.201.xxx.xxx 未訂閱
chih兄我發現不是語法的問題上面and一時頭昏少打了 我剛發現是我query連結的問題 不知這下面範例要怎改 我簡要說明一下 以下是用dbdemos資料庫的table 1 table3 tablename設custoly.db datasource4.dataset設table3 2 table2 tablename設customer.db mastersource設datasource4 masterfields設custno datasource3.dataset 設table2 3 table1 tablename 設customer.db datasource1.dataset設table1 4 query1 sql設'select * from culstomer.db' datasource2.dataset設query1 以上1和2 是master-detail關聯table 因為1和2是關聯所以在設query1要查customer.db內的特定資料時得再 另設一個無關聯的table1連上customer.db再讓query連上table1 才能取得所有customer.db內的record 不過在這個錯誤範例不知這樣設是否正確 因為我不熟所以這樣作也不知對不對? http://delphi.ktop.com.tw/topic.php?TOPIC_ID=29333 「堅持」從洗馬桶做起 Aric
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-24 14:18:40 IP:211.74.xxx.xxx 未訂閱
一頭霧水,你的範例跟原來問題看不出關聯性. 1.範例中Query1的DataSource不用設定就可以SELECT出所有customer的資料 2.你範例中語法本來就寫錯了...修正如下..
procedure TForm1.Button1Click(Sender: TObject);
begin
  query1.close;
  query1.SQL.Clear;
  query1.sql.add('select * from country ');
//原來是這樣query1.sql.add('select * form country where ');,where後面沒有加條件當然會錯誤
  query1.open;
end;
如果還不行請在POST.
huangeider
高階會員


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-24 14:41:49 IP:210.201.xxx.xxx 未訂閱
小弟終於了解不用另設ttable就可用query語法查詢 但我改了範例在下面這個位址 執行還是會出現上面說的錯誤不知為何?
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-24 14:59:12 IP:211.74.xxx.xxx 未訂閱
這一句錯了.. query1.sql.add('select * form country'); 改成這樣 query1.sql.add('select * from country'); 發表人 - chih 於 2003/04/24 15:11:59
huangeider
高階會員


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-24 15:14:11 IP:210.201.xxx.xxx 未訂閱
引言: 這一句錯了.. query1.sql.add('select * form country'); 改成這樣 query1.sql.add('select * from country'); 我的天啊 花了我一天時間找這個> < face="Verdana, Arial, Helvetica"> 「堅持」從洗馬桶做起 Aric
系統時間:2024-07-01 8:09:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!