delphi,Access数据库Close;SQL.Clear;
SQL.Text := 'insert into AREANAME(AREANAME,AREANO,MEMO) '
+ 'values(:areaname,:areano,:memo)';Parameters.ParamByName('areaname').Value := strAreaName;
Parameters.ParamByName('areano').Value := '001'; //备用字段
Parameters.ParamByName('memo').Value := ''; //备用字段
ExecSQL;表里还有一个自增字段这里老提示是insert into语法错误,但是我觉有这个语句并没有什么问题了,请问这到底是怎么回事?
SQL.Text := 'insert into AREANAME(AREANAME,AREANO,MEMO) '
+ 'values(:areaname,:areano,:memo)';Parameters.ParamByName('areaname').Value := strAreaName;
Parameters.ParamByName('areano').Value := '001'; //备用字段
Parameters.ParamByName('memo').Value := ''; //备用字段
ExecSQL;表里还有一个自增字段这里老提示是insert into语法错误,但是我觉有这个语句并没有什么问题了,请问这到底是怎么回事?
SQL.Text := 'insert into AREANAME(AREANAME,AREANO,MEMO) '
+ 'values(:areaname,:areano,:memo)';
是不是上面两句直接没有空格 呀,就是values和他前面的'('之间没空格
1.语句又问题,你贴出来的语句,确实没有空格
2.把你的字段吗改一下,第一,尽量不要和表名一样,第二,你的字段名可能和保留字冲突,memo这个字段名很可能有问题
insert into AREATYPE(AREANAME,AREANO,MEMOINFO) values(:areaname,:areano,:memoinfo)其中根据楼上几个朋友的建议改了表名和表结构,但是结果还是一样报语法错误
SQL.Text:='insert into AREANAME(AREANAME,AREANO,MEMO) '
+ 'values('''+strAreaName+''',''001'','''')'; ExecSQL;
试一下~~
insert into AREATYPE(AREANAME,AREANO,MEMOINFO) values(:areaname,:areano,:memoinfo)--写出来应该是values('','','');
当然里面都是varchar类型,int类型写出来应该是(1,2,3)之类的。
with ADOQuery1 do
begin
close;
SQL.Clear;
sql.Add('insert into grade values(:sno,:kemu,:grade)');
parameters.ParamByName('sno').Value :=trim(edit1.text);
parameters.ParamByName('kemu').Value :=trim(edit2.text);
parameters.ParamByName('grade').Value :=trim(edit3.text);
execsql;
end;