Delphi中Access数据库sql的Insert into语法错误

来源:百度知道 编辑:UC知道 时间:2024/06/17 20:41:35
请哪位高手帮帮忙,非常急!编绎没错,插入数据时弹出“Insert into语法错误”,下面是程序代码:
procedure TForm5.Button9Click(Sender: TObject);
var
jsh,mm,str59:string;
begin
jsh:=edit8.Text;
mm:=edit9.Text;
if (edit8.Text='')or(edit9.Text='') then
begin
showmessage('请填写完整!');
exit;
end;
adoquery1.sql.Clear;
str59:='Insert into Uers1(Uers,Password) values('+''''+jsh+''''+','+''''+mm+''''+')' ;
adoquery1.sql.text:=str59;
adoquery1.ExecSQL;
str59:='select * from Uers1';
adoquery1.sql.text:=str59;
adoquery1.open;
showmessage('添加成功!');
edit8.Text:='';
edit9.Text:='';
end;
一般不这样写,这样容易出错,而且你怎么上边都是分号?
with adoquery1 do
begin
close;//这点很重要需要先关闭对应表
sql.clear;
sql.add('insert into user1(uer

一般不这样写,这样容易出错,而且你怎么上边都是分号?
with adoquery1 do
begin
close;//这点很重要需要先关闭对应表
sql.clear;
sql.add('insert into user1(uers,password) values(:a,:b)');
parameters.parambyname('a').value:=jsh;
parameters.paramebyname('b').value:=mm;
execsql;
update;//或者你用close;open;
end;

那你就只写成sql.add('insert into user1 values(:a,:b)');实验下

这个肯定是sql语句写错了,你自己debug一下代码,看看str59的值是多少,然后把str59的值直接写在Access里运行看看有没有错,看出错误了以后在代码里做对应的调整就可以了。

str59:='Insert into Uers1(Uers,Password) values('''+jsh+''','''+mm+''')' ;