关于Delphi循环更新数据产生新的随机值的问题
各位大哥大姐,小弟现在有一问题想求助
小弟现在想循环插入数据,想让每插入一条数据后重新Randomize产生一个新的值插入到下一条数据里.请各位帮帮忙啊
概念
while not Query1.Eof do
begin
with Query do
begin
Close;
Sql.Clear;
Sql.Add( 'Insert into AA (aa,bb,cc,dd,ee,ff,gg,hh,ii,jj,kk,ll,mm) ');
Sql.Add( 'values (:a,:b,:c,:d,:e,:f,:g,:h,:i,:j,:k,:l,:m) ');
Parameters.ParamByName( 'a ').Value := Query1.FieldByName( 'aa ').AsString;
Parameters.ParamByName( 'b ').Value := Trim(Edit1.Text);
Parameters.ParamByName( 'c ').Value := Trim(Edit2.Text);
Parameters.ParamByName( 'd ').Value := Trim(Edit3.Text);
Parameters.ParamByName( 'e ').Value := Trim(Edit4.Text);
Parameters.ParamByName( 'f ').Value := '0 ';
Parameters.ParamByName( 'g ').Value := Query1.FieldByName( 'gg ').AsString;
Parameters.ParamByName( 'h ').Value := Trim(Edit5.Text);
Parameters.ParamByName( 'i ').Value := '0 ';
Parameters.ParamByName( 'j ').Value := Query1.FieldByName( 'jj ').AsString;
Parameters.ParamByName( 'k ').Value := Trim(Edit6.Text);
Parameters.ParamByName( 'l ').Value := '1 ';
Parameters.ParamByName( 'm ').Value := Trim(Edit7.Text);
execsql;
end;
Query1.next;
end;
问题就在这里
Parameters.ParamByName( 'h ').Value := Trim(Edit5.Text);
我想让每插入一条数据的时候
Randomize;
Edit5.Text := inttostr(random(10) + 21);
用Randomize函数给Edit5重新产生一个新的随机数然后更新下一条数据
这个应该怎么写啊
请哥哥姐姐帮帮
[解决办法]
Randomize; //产生随机种子
while not Query1.Eof do
begin
with Query do
begin
Close;
Sql.Clear;
Sql.Add( 'Insert into AA (aa,bb,cc,dd,ee,ff,gg,hh,ii,jj,kk,ll,mm) ');
Sql.Add( 'values (:a,:b,:c,:d,:e,:f,:g,:h,:i,:j,:k,:l,:m) ');
Parameters.ParamByName( 'a ').Value := Query1.FieldByName( 'aa ').AsString;
Parameters.ParamByName( 'b ').Value := Trim(Edit1.Text);
Parameters.ParamByName( 'c ').Value := Trim(Edit2.Text);
Parameters.ParamByName( 'd ').Value := Trim(Edit3.Text);
Parameters.ParamByName( 'e ').Value := Trim(Edit4.Text);
Parameters.ParamByName( 'f ').Value := '0 ';
Parameters.ParamByName( 'g ').Value := Query1.FieldByName( 'gg ').AsString;
Parameters.ParamByName( 'h ').Value := inttostr(random(10) + 21); //插入随机数
Parameters.ParamByName( 'i ').Value := '0 ';
Parameters.ParamByName( 'j ').Value := Query1.FieldByName( 'jj ').AsString;
Parameters.ParamByName( 'k ').Value := Trim(Edit6.Text);
Parameters.ParamByName( 'l ').Value := '1 ';
Parameters.ParamByName( 'm ').Value := Trim(Edit7.Text);
execsql;
end;
Query1.next;
end;
[解决办法]
random(10)中的10代表随机数是0-9之间的随机数吧
------解决方案--------------------
我想让每插入一条数据的时候
Randomize;
Edit5.Text := inttostr(random(10) + 21);
用Randomize函数给Edit5重新产生一个新的随机数然后更新下一条数据
这个应该怎么写啊
-------------------------
你是要一次插入很多條呢還是再激發某個事件後去插入下一條???