syntax error in insert into statement(100分)

  • 主题发起人 主题发起人 SmallA
  • 开始时间 开始时间
S

SmallA

Unregistered / Unconfirmed
GUEST, unregistred user!
我在插入记录时语句如下:

一: WITH Query do
begin
close;
sql.Clear;
sql.add('insert into table(aa,bb,cc) values('''+edit2.Text+''',');
sql.add(''''+edit3.text+''','''+ComboBox.Text+'''');
Execsql;
end
二:
WITH Query do
begin
close;
sql.Clear;
sql.add('insert into jsyuan((aa,bb,cc) values(:param1,:param2,:param3)');
parameters.ParamByName('param1').value:=Edit2.Text;
parameters.ParamByName('param2').value:=Edit3.Text;
parameters.ParamByName('param3').value:=ComboBox.Text;
ExecSQL;
end;
F9后都报"syntax error in insert into statement",请指点
 
是什么数据库?
 
建议采用2。的书写方式~
sql.add('insert into jsyuan((aa,bb,cc) values(:param1,:param2,:param3)');

是不是多写了一个“(”,你数一下。
 
to RedBeret
access
to jrq
那第一种方法呢
 
建议
WITH Query do
begin
close;
sql.Clear;
sql.add('insert into table(aa,bb,cc) values('''+edit2.Text+''',');
sql.add(''''+edit3.text+''','''+ComboBox.Text+'''');

prepare;
sql.savetofile('d:/sql.txt'); --------增加调试


Execsql;
end
 
sql.add(''''+edit3.text+''','''+ComboBox.Text+''')');
 
第一句少了一个括号,用showmessage(sql.text)可以看到
insert into table(aa,bb,cc) values('Edit2',
'Edit3','Edit3'
改为
WITH Query do
begin
close;
sql.Clear;
sql.add('insert into table(aa,bb,cc) values('''+edit2.Text+''',');
sql.add(''''+edit3.text+''','''+ComboBox.Text+''')');//加在中文括号处
Execsql;
end


sql.add('insert into jsyuan((aa,bb,cc) values(:param1,:param2,:param3)');
多了一个括号在aa之前。
 
一: WITH Query do
begin
close;
sql.Clear;
sql.text := 'insert into jsyuan(aa,bb,cc) values(''' + edit2.Text +
''',''' + edit3.text + ''',''' + ComboBox.Text + ''')';
Execsql;
end
二:
WITH Query do
begin
close;
sql.Clear;
sql.add('insert into jsyuan(aa,bb,cc) values(:param1,:param2,:param3)');
parameters.ParamByName('param1').value:=Edit2.Text;
parameters.ParamByName('param2').value:=Edit3.Text;
parameters.ParamByName('param3').value:=ComboBox.Text;
ExecSQL;
end;
 
后退
顶部