首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于Delphi循环更新数据产生新的随机值的有关问题

2012-02-24 
关于Delphi循环更新数据产生新的随机值的问题各位大哥大姐,小弟现在有一问题想求助小弟现在想循环插入数据

关于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重新产生一个新的随机数然后更新下一条数据
这个应该怎么写啊
-------------------------
你是要一次插入很多條呢還是再激發某個事件後去插入下一條???

热点排行