【問題】SQL的語法SQL.text與SQL.add |
|
qqking
一般會員 發表:16 回覆:18 積分:6 註冊:2005-05-12 發送簡訊給我 |
感謝各位大哥...
不過我嘗試一下改書上的語法,卻錯誤?!我貼一下我改的...抱歉版面有點亂:)
procedure TForm1.Button1Click(Sender: TObject);
VAR MAXENO : INTEGER;
begin
Query2.SQL.Clear;
Query2.SQL.Add('SELECT MAX(ENO) AS MAXENO FROM TEST.DBF');
Query2.CLOSE;
Query2.OPEN;
MAXENO := Query2.FieldByName('MAXENO').AsInteger 1;
Query2.SQL.Clear;
Query2.SQL.Add('INSERT INTO TEST.DBF');
Query2.SQL.Add('( ENO ,');
Query2.SQL.Add(' NAME ,');
Query2.SQL.Add(' AGE ,');
Query2.SQL.Add(' ADDR ');
Query2.SQL.Add(' ) VALUES ( ');
Query2.SQL.Add(' ''' INTTOSTR(MAXENO) ''' ,');
Query2.SQL.Add(' ''' EDIT1.Text ''' , ');
Query2.SQL.Add(' ''' EDIT2.Text ''' , ');
Query2.SQL.Add(' ''' EDIT3.Text ''' ) ');
Query2.ExecSQL;
Query1.CLOSE;
Query1.OPEN;
end;
我將上述各位敎的改成
query2.sql.text :='insert into test.dbf (eno,name,age,addr) values (:eno,:name,:age,:addr)';
query2.ParamByName('eno').Asstring :=inttostr(maxeno);
query2.ParamByName('name').Asstring :=edit1.Text;
query2.ParamByName('age').Asstring :=edit2.Text;
query2.ParamByName('addr').Asstring :=edit3.Text;
按下button後....當了
這是哪裡錯了嗎?....請各位大哥看看
|
cwc65536
初階會員 發表:47 回覆:121 積分:48 註冊:2004-10-14 發送簡訊給我 |
|
qqking
一般會員 發表:16 回覆:18 積分:6 註冊:2005-05-12 發送簡訊給我 |
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
呵呵~还是给cwc65536兄发现了原来是个float型! 指定参数类型,赋值就行参考:
Query2.ParamByName('eno1').DataType:=ftfloat; Query2.ParamByName('eno1').Value:=MAXENO; Query2.ParamByName('name1').DataType:=ftstring; Query2.ParamByName('name1').Value:=EDIT1.Text; Query2.ParamByName('age1').DataType:=ftfloat; Query2.ParamByName('age1').Value:=EDIT2.Text; Query2.ParamByName('addr1').DataType:=ftstring; Query2.ParamByName('addr1').Value:=EDIT3.Text;注:按cwc65536兄所给方法也行! ============================ 为什么经过多年以后,得失的过程如此冷漠 ============================ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |