Randomize在循环中应用需要注意的

//需要循环插入表Tb1中若干条记录其中ID字段为主键,想用random生成的随机数来。写语句如下:

with query1 do

for i:=0 to N do

begin

  close;

  sql.clear;

  sql.add(.....);  

  Randomize;

  parameters.parambyname('ID').value := random(1000);

  ..........

  execsql;

end;

//按理说上面代码应该没问题吧,但有时却会提示主键冲突插入不进去,换个位置却可以:

Randomize;

with query1 do

for i:=0 to N do

begin

  close;

  sql.clear;

  sql.add(.....);  

  parameters.parambyname('ID').value := random(1000);

  ..........

  execsql;

end;

你可能感兴趣的:(Random,Delphi,Randomize)