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

表格上多行数据转移有异常,请高手帮忙!

2012-03-06 
表格上多行数据转移有错误,请高手帮忙!急啊!procedureTFrRowsSelect.BitBtn2Click(Sender:TObject)vari:I

表格上多行数据转移有错误,请高手帮忙!急啊!
procedure   TFrRowsSelect.BitBtn2Click(Sender:   TObject);
var
        i:   Integer;
begin
        ADOQuery2.Active   :=   True;
        for   i   :=   0   to   xjDBGrid1.SelectedCount   -   1   do
        begin
                ADOQuery1.GotoBookMark(Pointer(xjDBGrid1.SelectedRows[i]));
                TranData(ADOQuery2,   ADOQuery1,   '1 ');
        end;
end;

上段代码意思是从ADOQuery1中选择的多行数据转移到ADOQuery2,第一条能转成功,第二条便出错,信息为:list   index   out   of   bounds(3).
请各位高手帮忙解决。谢谢!


[解决办法]
for i := 0 to xjDBGrid1.SelectedCount - 1 do
begin
ADOQuery1.GotoBookMark(Pointer(xjDBGrid1.SelectedRows[i]));
TranData(ADOQuery2, ADOQuery1, '1 ');
end;

估计你转过去第一条的之后,SelectedRows已经是只有一条数据了,所以越届了,试试:
while xjDBGrid1.SelectedCount > 0 do
begin
ADOQuery1.GotoBookMark(Pointer(xjDBGrid1.SelectedRows[0]));
TranData(ADOQuery2, ADOQuery1, '1 ');
end;

热点排行