循环复制数据集1的数据到数据集2
DataSetBZSJJ1.First;
j:=DataSetBZSJJ1.RecordCount;
while not DataSetBZSJJ2.Eof do
begin
DataSetBZSJJ2.Append;
DataSetBZSJJ2.FieldByName('a').AsString:=DataSetBZSJJ1.FieldByName('a').AsString;
DataSetBZSJJ2.FieldByName('b').AsString:=DataSetBZSJJ1.FieldByName('b').AsString;
DataSetBZSJJ2.FieldByName('c').AsString:=DataSetBZSJJ1.FieldByName('c').AsString;
i:=i+1;
DataSetBZSJJ2.Post;
DataSetBZSJJ1.Next;
end;
DataSetBZSJJ2.ApplyUpdates;
-----------------------------
进度条
ProgressBar1.Min:=0;
ProgressBar1.Max:=j;
ProgressBar1.Position:=0;
for i:=0 to j do
begin
ProgressBar1.Position:=ProgressBar1.Position+i;
end;
if ProgressBar1.Position=j then
begin
Dialogs.ShowMessage('ok!');
end;我想数据集2新增一条记录时,根据i进行进度显示可以么??总进度长度为数据集1的长度j,但是不知道要把 [进度条] 的代码放在哪个地方,让i与进度同步,而操作数据完再循环.即添加1条记录进度+1。新手,各位多指点。
DataSetBZSJJ1.First;
j:=DataSetBZSJJ1.RecordCount;
while not DataSetBZSJJ2.Eof do
begin
DataSetBZSJJ2.Append;
DataSetBZSJJ2.FieldByName('a').AsString:=DataSetBZSJJ1.FieldByName('a').AsString;
DataSetBZSJJ2.FieldByName('b').AsString:=DataSetBZSJJ1.FieldByName('b').AsString;
DataSetBZSJJ2.FieldByName('c').AsString:=DataSetBZSJJ1.FieldByName('c').AsString;
i:=i+1;
DataSetBZSJJ2.Post;
DataSetBZSJJ1.Next;
end;
DataSetBZSJJ2.ApplyUpdates;
-----------------------------
进度条
ProgressBar1.Min:=0;
ProgressBar1.Max:=j;
ProgressBar1.Position:=0;
for i:=0 to j do
begin
ProgressBar1.Position:=ProgressBar1.Position+i;
end;
if ProgressBar1.Position=j then
begin
Dialogs.ShowMessage('ok!');
end;我想数据集2新增一条记录时,根据i进行进度显示可以么??总进度长度为数据集1的长度j,但是不知道要把 [进度条] 的代码放在哪个地方,让i与进度同步,而操作数据完再循环.即添加1条记录进度+1。新手,各位多指点。
试试下面的~~!
DataSetBZSJJ1.First;
j:=DataSetBZSJJ1.RecordCount;
ProgressBar1.Position := 0;
ProgressBar1.step := 1;
ProgressBar1.max := j;
while not DataSetBZSJJ1.Eof do //注意你这里写错了~~~!不是DataSetBZSJJ2而是DataSetBZSJJ1
begin
DataSetBZSJJ2.Append;
DataSetBZSJJ2.FieldByName('a').AsString:=DataSetBZSJJ1.FieldByName('a').AsString;
DataSetBZSJJ2.FieldByName('b').AsString:=DataSetBZSJJ1.FieldByName('b').AsString;
DataSetBZSJJ2.FieldByName('c').AsString:=DataSetBZSJJ1.FieldByName('c').AsString;
DataSetBZSJJ2.Post;
ProgressBar1.Position :=ProgressBar1.Position +1;
DataSetBZSJJ1.Next;
end;
DataSetBZSJJ2.ApplyUpdates;