关于连续添加多条记录的问题(30分)

  • 主题发起人 主题发起人 zlmark
  • 开始时间 开始时间
Z

zlmark

Unregistered / Unconfirmed
GUEST, unregistred user!
我变了一段程序想往数据库中添加记录,程序如下,其中bmid数组为001,002。。。。
if Table2.Locate('gw11id',id,[])=false then
begin
for i:=0 to length-1 do
begin
Table2.Append ;
Table2.Fields[0].value:=id;
Table2.fields[1].value:=1;
Table2.fields[2].value:=bmid1;
Table2.fields[3].value:=i+1;
Table2.post;
end;
end;
可是执行后发现添加到数据库中的记录个数正确,但每条记录都一样,这是怎么回事?
 
看你的代码好象没什么问题嘛。
你可以单步踪执行,看看数组的值是否正确。
 
我单部执行过,在过程中察看参数的值都正确,但到了数据库中就不对了,所有的记录全
是第一条记录的值,后面的值都没输入进去。
 
Id变量的问题!
 
id实际上是一个固定的值。
 
我发现只要id不一样就没问题,而id一样就出现上述问题。这是怎么回事?
 
应该没问题,不过你的代码不好改成如下试一试。

if Table2.Locate('gw11id',id,[])=false then
begin
for i:=0 to length-1 do
begin
Table2.Append ;
Table2.FindField('id字段名').AsString:=id;
Table2.FindField('字段名1').AsInteger:=1;
Table2.FindField('字段名2').AsInteger:=bmid1;//如果是字符串,改成AsString
Table2.FindField('字段名3').AsInteger:=i+1;
Table2.post;
end;
end;
 
我找到问题了,原来使用access调试时误设置了主健的缘故。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部