Access数据库,原来有四个字段(readerid,name,sex,idcardno)
后来加了一个(...,user)我的SQL语句加上了相应的新字段,编译能通过,但是具体插入数据时却提示"insert into 语法错误"
实在是不能理解,请各位帮我看看是不是还有哪里没有处理!
try
with datamoduleADO.ADOQuery1 do
begin
close;
sql.Clear ;
sql.Add('insert into');
sql.Add('reader(readerid,name,sex,idcardno,user)');
sql.Add('values(:readerid,:readername,:sex,:idcardno,:user)');
parameters.ParamByName('readerid').Value :=edit1.Text ;
parameters.ParamByName('readername').Value :=edit2.Text ;
parameters.ParamByName('sex').Value :=inttostr(combobox1.ItemIndex) ;
parameters.ParamByName('idcardno').Value :=edit3.Text ;
parameters.ParamByName('user').Value :=combobox2.Text;
execsql;
except
messagedlg('添加失败',mterror,[mbok],0);
exit;连'添加失败'的对话框都没有~直接错误提示"insert into 语法错误"各位前辈请帮我看看~
end;
后来加了一个(...,user)我的SQL语句加上了相应的新字段,编译能通过,但是具体插入数据时却提示"insert into 语法错误"
实在是不能理解,请各位帮我看看是不是还有哪里没有处理!
try
with datamoduleADO.ADOQuery1 do
begin
close;
sql.Clear ;
sql.Add('insert into');
sql.Add('reader(readerid,name,sex,idcardno,user)');
sql.Add('values(:readerid,:readername,:sex,:idcardno,:user)');
parameters.ParamByName('readerid').Value :=edit1.Text ;
parameters.ParamByName('readername').Value :=edit2.Text ;
parameters.ParamByName('sex').Value :=inttostr(combobox1.ItemIndex) ;
parameters.ParamByName('idcardno').Value :=edit3.Text ;
parameters.ParamByName('user').Value :=combobox2.Text;
execsql;
except
messagedlg('添加失败',mterror,[mbok],0);
exit;连'添加失败'的对话框都没有~直接错误提示"insert into 语法错误"各位前辈请帮我看看~
end;
如要用请用中括号把字段名包含
sql.Add('reader(readerid,name,sex,idcardno,user)');
程序改为
sql.Add('reader(readerid,name,sex,idcardno,[user])');