執行sql語法的錯誤('invalid use of keyword')? |
答題得分者是:chih
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
[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 發送簡訊給我 |
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 發送簡訊給我 |
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 發送簡訊給我 |
一頭霧水,你的範例跟原來問題看不出關聯性.
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 發送簡訊給我 |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
|
huangeider
高階會員 發表:288 回覆:492 積分:231 註冊:2003-02-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |