delphi中使用inser语句

来源:百度知道 编辑:UC知道 时间:2024/05/17 09:21:50
procedure Tadd.Button1Click(Sender: TObject);
begin
adoquery0.SQL.Clear;
adoquery0.SQL.Add('insert into usertable(usename,password, right) values(x1,x2,x3)' );
adoquery0.Parameters.ParamByName('x1').Value:=edit1.Text;
adoquery0.Parameters.ParamByName('x2').Value:=edit2.Text;
adoquery0.Parameters.ParamByName('x3').Value:=ComboBox1.Text;
end;
程序在运行的时候会出这样的错误,请问是怎么回事,如果我要实现插入的功能应该怎么写?

直接写成
adoquery0.SQL.Add('insert into usertable(usename,password, right) values ('
+''''+edit1.Text+''','
+''''+edit2.Text+''','
+''''+ComboBox1.Text+''')' );
不好吗?干嘛写这么多

adoquery0.SQL.Add('insert into usertable(usename,password, right) values(x1,x2,x3)' );
改成
adoquery0.SQL.Add('insert into usertable(usename,password, right) values(:x1,:x2,:x3)' );
就可以了。就是在原来的X1,X2,X3前加个冒号:就表示是参数了。

adoquery0.SQL.Add(format('insert into usertable(usename,password, right) values(''%s'',''%s'',''%s'')', [edit1.Text, edit2.Text, ComboBox1.Text]) );