错误如下:
Either Bof or Eof is True, or the current record has been deleted, Requested operation requires a current record.表结构如下:select * from customerfapiaoLabelName Label_Top Label_Left Label_Width Label_Height
--- -----------------------------------------------------
CustLabel1 38.0 62.0 70.0 25.0
CustLabel2 36.0 186.0 70.0 25.0
CustLabel3 37.0 314.0 70.0 25.0
CustLabel4 82.0 22.0 70.0 19.0
CustLabel5 81.0 106.0 70.0 19.0代码如下:procedure TForm1.Button4Click(Sender: TObject);
begin
adoquery1.First;
while (not adoquery1.eof) do
begin
CustLabel := TQRLabel.Create(tempband);
CustLabel.Parent := tempband;
CustLabel.Name := adoquery1.fieldbyname('LabelName').asstring;
CustLabel.Caption := adoquery1.fieldbyname('LabelName').asstring;
CustLabel.Top := adoquery1.fieldbyname('Label_Top').value;
CustLabel.Left := adoquery1.fieldbyname('Label_Left').value;
CustLabel.Width := adoquery1.fieldbyname('Label_Width').value;
CustLabel.Height := adoquery1.fieldbyname('Label_Height').value;
CustLabel.autosize := true;
CustLabel.Color := clWindow;
adoquery1.Next;
end;
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
adoquery1.First;
while (not adoquery1.eof) do
begin
TQRlabel(tempband.findcomponent(adoquery1.fieldbyname('LabelName').asstring)).free;
adoquery1.Next;
end;
adoquery1.Active := false;
end;各位高人看看有什么错误,指点一下,解决后立刻给分!
Either Bof or Eof is True, or the current record has been deleted, Requested operation requires a current record.表结构如下:select * from customerfapiaoLabelName Label_Top Label_Left Label_Width Label_Height
--- -----------------------------------------------------
CustLabel1 38.0 62.0 70.0 25.0
CustLabel2 36.0 186.0 70.0 25.0
CustLabel3 37.0 314.0 70.0 25.0
CustLabel4 82.0 22.0 70.0 19.0
CustLabel5 81.0 106.0 70.0 19.0代码如下:procedure TForm1.Button4Click(Sender: TObject);
begin
adoquery1.First;
while (not adoquery1.eof) do
begin
CustLabel := TQRLabel.Create(tempband);
CustLabel.Parent := tempband;
CustLabel.Name := adoquery1.fieldbyname('LabelName').asstring;
CustLabel.Caption := adoquery1.fieldbyname('LabelName').asstring;
CustLabel.Top := adoquery1.fieldbyname('Label_Top').value;
CustLabel.Left := adoquery1.fieldbyname('Label_Left').value;
CustLabel.Width := adoquery1.fieldbyname('Label_Width').value;
CustLabel.Height := adoquery1.fieldbyname('Label_Height').value;
CustLabel.autosize := true;
CustLabel.Color := clWindow;
adoquery1.Next;
end;
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
adoquery1.First;
while (not adoquery1.eof) do
begin
TQRlabel(tempband.findcomponent(adoquery1.fieldbyname('LabelName').asstring)).free;
adoquery1.Next;
end;
adoquery1.Active := false;
end;各位高人看看有什么错误,指点一下,解决后立刻给分!
解决方案 »
- webbrower操作无id链接
- 100分求一条SQL 语句
- 急:如何将dbgrid中的鼠标滚动事件做成像stringgrid那样???!!!
- 讨论:垃圾短信和垃圾邮件哪个更令人讨厌?
- 很简单的问题!
- 为什么消息死循环退不出来?高手请指教
- 线程问题~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 大虾指点,怎样得到系统名和公司名称
- ini文件的的写入问题,大家看一下是不是我的代码有问题?
- 求书:Ray Lischner《Hidden Paths of Delphi3》,中文版李维《Delphi 3 奥秘之旅》,电子版亦可
- 一个关于report builder交叉报表的问题
- mapx 控件怎样和SQLSERVER数据库连接?
这里要加一个表的扩展名。
要改成select * from customerfapiao.db
begin--->adoquery1.active:=true; adoquery1.First;
while (not adoquery1.eof) do
begin
CustLabel := TQRLabel.Create(tempband);
CustLabel.Parent := tempband;
CustLabel.Name := adoquery1.fieldbyname('LabelName').asstring;
CustLabel.Caption := adoquery1.fieldbyname('LabelName').asstring;
CustLabel.Top := adoquery1.fieldbyname('Label_Top').value;
CustLabel.Left := adoquery1.fieldbyname('Label_Left').value;
CustLabel.Width := adoquery1.fieldbyname('Label_Width').value;
CustLabel.Height := adoquery1.fieldbyname('Label_Height').value;
CustLabel.autosize := true;
CustLabel.Color := clWindow;
adoquery1.Next;
end;
end;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin--->adoquery1.active:=true; adoquery1.First;
while (not adoquery1.eof) do
begin
TQRlabel(tempband.findcomponent(adoquery1.fieldbyname('LabelName').asstring)).free;
adoquery1.Next;
end;
adoquery1.Active := false;
end;
开始的时候应该 adoquery1.open的 使数据集处于打开的状态的 这样才可以浏览数据的
procedure TForm1.Button4Click(Sender: TObject);
begin
adoquery1.First;
while (not adoquery1.eof) do
begin
// ...
end;
// 这个循环结束后,eof将为true
end;然后在FormClose的时候:adoquery1.Active := false; // 这就有错了解决的方法:
1、给你的Delphi 5打个补丁;
2、使用Delphi 6或以上版本;
3、在执行free或active的操作之前使用First方法避免eof为真的情况。