insert into values的问题(100分)

  • 主题发起人 主题发起人 abv
  • 开始时间 开始时间
A

abv

Unregistered / Unconfirmed
GUEST, unregistred user!
t2: | box| Position| emp|。。。|
现在添加前3个字段的值,语句如下:
b_max:= 1;
for i:=1 to 10 do
begin
ADOCommand1.CommandText:='insert into t2(box, Position, emp) values(:p1, :p2, :p3)';
ADOCommand1.Parameters.ParamByName('p1').Value:= inttostr(b_max);
ADOCommand1.Parameters.ParamByName('p2').Value:= inttostr(i);
ADOCommand1.Parameters.ParamByName('p3').Value:= 'y';
ADOCommand1.Execute;
showmessage('Ja!')
end; //for

报错:insert into语句有错。
数据库是Access
 
注意数据类型要吻合,确认参数那里是否要用inttostr(),如果是按序的也可以省略t2后的那个(box, Position, emp)。
 
你怎么都转换成String类型了?数据库中原来的类型是什么?
 
错误提示是什么
 
Position是JET SQL的保留字
请用
insert into t2(box, [Position], emp) values(:p1, :p2, :p3)
 
同意 轻舞肥羊,
同时,delphi实用参数不用强制类型转化.系统自动帮你转换,因此inttostr可以省去,直接
ADOCommand1.Parameters.ParamByName('p1').Value:=b_max;
.....
就可以了
 
后面的字段是否允许空的???

默认值有没有写???
 
错误提示是什么?

是否有不能为空的字段?
 
看看具体的错误提示。。。。。
 
后退
顶部