INSERT INTO 语句语法问题
with form1.ADOQuery2 do
begin
close;
SQL.Clear;
sql.Add('insert into materials(a,b,c,d,e,');
Sql.add('f,g,h,i,j,');
Sql.add('k,l,m,n,o,p,q)');
sql.add('values(:a,:b,:c,:d,:e,');
sql.add(':f,:g,:h,:i,:j,');
sql.add(':k,:l,:m,:n,:o,:p,:q)');
parameters.ParamByName('a').value:=trim(edit2.Text);
parameters.ParamByName('b').value:=trim(edit1.Text);
parameters.ParamByName('c').value:=trim(edit3.Text);
parameters.ParamByName('d').value:=trim(edit4.Text);
parameters.ParamByName('e').value:=trim(edit5.Text);
parameters.ParamByName('f').value:=trim(edit6.Text);
parameters.ParamByName('g').value:=trim(edit7.Text);
parameters.ParamByName('h').value:=trim(edit8.Text);
parameters.ParamByName('i').value:=trim(edit9.Text);
parameters.ParamByName('j').value:=trim(edit10.Text);
parameters.ParamByName('k').value:=trim(edit11.Text);
parameters.ParamByName('l').value:='';
parameters.ParamByName('m').value:='';
parameters.ParamByName('n').value:='';
parameters.ParamByName('o').value:='';
parameters.ParamByName('p').value:='';
parameters.ParamByName('q').value:='';
execsql;
我用的是access数据库
上述代码中a到q都是数据表materials的字段(在我的原程序中字段都是汉字,这里用字母代替了,由于字段比较多,我在程序中用分行显示),其中a、b数据类型在access数据表中显示的是“文本”,其他的都是“数字”,我的界面中edit1,edit2输入的都是汉字加字母组合的字符串,而其他的edit都输入的是数字。l到m在数据表中是空值,界面中也不输入具体值。
但我运行时,输入相关内容后总是显示“insert into 语句的语法错误”,不知道这是哪里出错了,请教各位高人,谢谢!