请问。这SQL语法错在哪里? |
答題得分者是:cwc65536
|
57605993
一般會員 發表:2 回覆:8 積分:2 註冊:2007-10-06 發送簡訊給我 |
procedure TForm1.Button2Click(Sender: TObject);
begin with query1 do begin sql.Clear; sql.Add('delete form employee'); sql.Add('where tmpno=:v7'); parambyname('v7').asstring:=table1.FieldValues['tmpno']; execsql; end; table1.Refresh; end; 系统提示是invalid use of keyword 但我找不出原因。
------
新手。。 |
ChungLin.Net
中階會員 發表:2 回覆:33 積分:52 註冊:2006-07-26 發送簡訊給我 |
sql.Add('where tmpno=:v7');
SQL 的語法並非 Delphi 你把2者混用了 改成這樣試試吧~ sql.Add('where tmpno=v7'); ===================引 用 57605993 文 章=================== procedure TForm1.Button2Click(Sender: TObject); begin with query1 do begin sql.Clear; sql.Add('delete form employee'); sql.Add('where tmpno=:v7'); parambyname('v7').asstring:=table1.FieldValues['tmpno']; execsql; end; table1.Refresh; end; 系统提示是invalid use of keyword 但我找不出原因。
------
無限的想像,無盡的延伸。 |
57605993
一般會員 發表:2 回覆:8 積分:2 註冊:2007-10-06 發送簡訊給我 |
|
ChungLin.Net
中階會員 發表:2 回覆:33 積分:52 註冊:2006-07-26 發送簡訊給我 |
不好意思,我對 Delphi 並不了解,只能稍稍看一下
從您這段程式中無法看出,tabel1對SQL所做的動作 所以無從得知為什麼會出現這樣的訊息... tabel 的元件 我本身尚未使用過,所以對其使用方 法不甚了解 ^^"
------
無限的想像,無盡的延伸。
編輯記錄
|
cwc65536
初階會員 發表:47 回覆:121 積分:48 註冊:2004-10-14 發送簡訊給我 |
|
cwc65536
初階會員 發表:47 回覆:121 積分:48 註冊:2004-10-14 發送簡訊給我 |
from 吧 !
===================引 用 57605993 文 章=================== procedure TForm1.Button2Click(Sender: TObject); begin with query1 do begin sql.Clear; sql.Add('delete form employee'); sql.Add('where tmpno=:v7'); parambyname('v7').asstring:=table1.FieldValues['tmpno']; execsql; end; table1.Refresh; end; 系统提示是invalid use of keyword 但我找不出原因。 |
57605993
一般會員 發表:2 回覆:8 積分:2 註冊:2007-10-06 發送簡訊給我 |
|
57605993
一般會員 發表:2 回覆:8 積分:2 註冊:2007-10-06 發送簡訊給我 |
哈!这个确实是个错误,粗心的错误。
但改过来以后问题依然存在,在WHERE前面加了空格,也不行 提示错误还是:table1: field 'tmpno' not found; 我想应该不是语法错误了。 ===================引 用 cwc65536 文 章=================== from 吧 ! ===================引 用 57605993 文 章=================== procedure TForm1.Button2Click(Sender: TObject); begin with query1 do begin sql.Clear; sql.Add('delete form employee'); sql.Add('where tmpno=:v7'); parambyname('v7').asstring:=table1.FieldValues['tmpno']; execsql; end; table1.Refresh; end; 系统提示是invalid use of keyword 但我找不出原因。
------
新手。。 |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
57605993
一般會員 發表:2 回覆:8 積分:2 註冊:2007-10-06 發送簡訊給我 |
from 被我打成 form。呵呵,不好意思,太粗心。
现在我把代码改过来。 procedure TForm1.Button2Click(Sender: TObject); begin with query1 do begin sql.Clear; sql.Add('delete from employee'); sql.Add('where tmpno=:v7'); parambyname('v7').asstring:=table1.FieldValues['tmpno']; execsql; end; table1.Refresh; end; 但是问题依然出现:,table1:field 'tmpno' not found; ===================引 用 P.D. 文 章=================== 請比對這句SQL 與你的有那裡不同 delete from employee where tmpno=:v7
------
新手。。 |
57605993
一般會員 發表:2 回覆:8 積分:2 註冊:2007-10-06 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |