with ADOQueryAC do
begin
close;
SQL.Text := szSQL;
try
Active := True;
except
close;
Result := False;
FormWait.Close;
MessageDlg('数据存取错误,稍后重试!', mtError, [mbOK], 0);
Exit;
end;
First;
iRow := 0;
iRowCount := RecordCount;
//MyStringGrid.RowCount := iRowCount + 1;
FormWait.GaugeWait.MaxValue := iRowCount;
FormWait.LabelTitle.Caption := '正在读出数据...请等候!';
while not Eof do
begin
iRow := iRow + 1;
if iRow > 1 then
MyStringGrid.RowCount := iRow + 1;
for i := 1 to iCol do begin
szTempStr := FieldByName(MyStringGrid.GridCols[i].ColName).AsString;
MyStringGrid.SetCellValS(iRow, MyStringGrid.GridCols[i].ColName, szTempStr);
end;
Application.ProcessMessages;
FormWait.GaugeWait.Progress := iRow;
Next;
end;
close; //出错地点。
end;执行到close 处程序报错:“BOF或 EOF中有一个是真,或者当前的纪录被删除,所需
的操作要求一个当前的纪录”
什么原因啊?
begin
close;
SQL.Text := szSQL;
try
Active := True;
except
close;
Result := False;
FormWait.Close;
MessageDlg('数据存取错误,稍后重试!', mtError, [mbOK], 0);
Exit;
end;
First;
iRow := 0;
iRowCount := RecordCount;
//MyStringGrid.RowCount := iRowCount + 1;
FormWait.GaugeWait.MaxValue := iRowCount;
FormWait.LabelTitle.Caption := '正在读出数据...请等候!';
while not Eof do
begin
iRow := iRow + 1;
if iRow > 1 then
MyStringGrid.RowCount := iRow + 1;
for i := 1 to iCol do begin
szTempStr := FieldByName(MyStringGrid.GridCols[i].ColName).AsString;
MyStringGrid.SetCellValS(iRow, MyStringGrid.GridCols[i].ColName, szTempStr);
end;
Application.ProcessMessages;
FormWait.GaugeWait.Progress := iRow;
Next;
end;
close; //出错地点。
end;执行到close 处程序报错:“BOF或 EOF中有一个是真,或者当前的纪录被删除,所需
的操作要求一个当前的纪录”
什么原因啊?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货