SQL語法我要刪除十月份資料時,語法不會過? |
尚未結案
|
evoneliu
一般會員 發表:12 回覆:10 積分:4 註冊:2004-10-21 發送簡訊給我 |
dear :為什麼我要將10月份的資料刪除(括號中的語法)卻會出現以下error訊息呢? StatusLabel.Caption:='DELETE Table POAEPF ...';
StatusLabel.Update;
EditADOQuery.SQL.Clear;
【EditADOQuery.SQL.Add('DELETE FROM POAEPF WHERE poae03trandate between '2004-10-01' and '2004-10-31'');】
EditADOQuery.ExecSQL; error訊息:
xx.pas(491): missing operator or semicolon
xx.pas(491): incompatible types :'string' and 'integer'
|
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
引言: dear :為什麼我要將10月份的資料刪除(括號中的語法)卻會出現以下error訊息呢? StatusLabel.Caption:='DELETE Table POAEPF ...'; StatusLabel.Update; EditADOQuery.SQL.Clear; 【EditADOQuery.SQL.Add('DELETE FROM POAEPF WHERE poae03trandate between '2004-10-01' and '2004-10-31'');】 EditADOQuery.ExecSQL; error訊息: xx.pas(491): missing operator or semicolon xx.pas(491): incompatible types :'string' and 'integer'你的錯誤訊息是說 在490行的地方 有型態不合的數值發生錯誤 也就是 你用數字型態去給到字串型態的變數或訊息 少了字串符號 例如 : 123 ---> 錯誤 '123' ---> 正確 以及 漏了結束符號 參考一下 ADOQuery1.SQL.Add('select * from stk_deal where date_ between ' '''2004-08-09' ''' and ' '''2004-09-10''' ' ') ;天行健 君子當自強不息~~@.@ 發表人 - T.J.B 於 2004/10/28 17:48:50 發表人 - T.J.B 於 2004/10/28 17:53:32 發表人 - T.J.B 於 2004/10/28 18:03:57
------
天行健 君子當自強不息~~@.@ |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ missing operator or semicolon
先不加入資料欄位形態的部分而言﹐單從您的語法中來看﹐當字串出現在SQL語法中時﹐在字串左右需各加一個單引號﹐加上字串左右原本就有的單引號﹐應寫成''2004-10-01'' incompatible types :'string' and 'integer'
不知您是使用何種資料庫﹐各種資料庫對日期欄位的SQL查詢語法各不相同﹐如ACCESS資料庫﹐需要在日期值左右加上#符號(#01/10/2004#)﹔而MSSQL資料庫﹐需要在日期值左右加上'符號('01/10/2004')﹒
另外﹐您的poae03trandate資料欄位是指定為何形態的呢﹖此處的形態和SQL語句中的語法使用需要匹配﹒ =========================
大病初愈﹐休養調整中...
=========================
------
忻晟 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |