连接字符串如下:
ConnectStr:=
'Provider = MicroSoft.jet.OLEDB.4.0;'+
'Persist Security Info = False;'+
'Data Source='+path+'\BillData.mdb;'+
'Mode = ReadWrite;'+
'Jet OLEDB:Database Password=supergam;';
table1结构 如下:(使用access数据库)
id 自动增量
name 文本
bianma 文本
现在想插入一条纪录,我知道自动增量是自动添加的,所以我是这样写。
str:='insert into table1 values(''name'',''bianma'')'
但是说我插入的数据列不匹配,然后改成如下方法
str:='insert into table1(name,bianma) values(''name'',''bianma'')'
说我sql语法错,但是我这条命令能够在access中执行
搞了好久,找不出原因,高手帮忙看看。是不是还有其他地方没有注意,比如
连接字符串的问题,或者是adoquery的配置问题。
小弟第一次搞access数据库,实在没有其他办法,而且又很急!
ConnectStr:=
'Provider = MicroSoft.jet.OLEDB.4.0;'+
'Persist Security Info = False;'+
'Data Source='+path+'\BillData.mdb;'+
'Mode = ReadWrite;'+
'Jet OLEDB:Database Password=supergam;';
table1结构 如下:(使用access数据库)
id 自动增量
name 文本
bianma 文本
现在想插入一条纪录,我知道自动增量是自动添加的,所以我是这样写。
str:='insert into table1 values(''name'',''bianma'')'
但是说我插入的数据列不匹配,然后改成如下方法
str:='insert into table1(name,bianma) values(''name'',''bianma'')'
说我sql语法错,但是我这条命令能够在access中执行
搞了好久,找不出原因,高手帮忙看看。是不是还有其他地方没有注意,比如
连接字符串的问题,或者是adoquery的配置问题。
小弟第一次搞access数据库,实在没有其他办法,而且又很急!
应该是
str:='insert into table1([name],bianma) values(''name'',''`bianma`'')';
不是
str:='insert into table1(name,bianma) values(''`name`'',''`bianma`'')'
或者
str:='insert into table1(name,bianma) values(''[name]'',''`bianma`'')'
with dm.qypub do
begin
close;
sql.clear;
sql.Add('insert into table1 (name,bianma) values('+#39+'你'+#39+','+#39+'111111'+#39+')');
ExecSQL;
end;