小弟我使用Delphi7开发环境,使用ADOQuery连接ACCESS数据库,按条件进行查询,读取查询结果,但是读到最后一条时就不会结束,一直在读最后一条的数据,请问一下各位大虾怎样判断'是否'为最后一条,是怎样判断已经到达最后一条了。form2.ADOQuery1.Close;
form2.ADOQuery1.SQL.Clear;
form2.ADOQuery1.SQL.Add('select WellID from data order by WellID');
form2.ADOQuery1.Open;
if form2.ADOQuery1.FieldByName('WellID').Value<>NULL then //第1条
begin
form1.StaticText1.Caption:=String(form2.ADOQuery1.FieldByName('WellID').Value)+'号';
form1.Image11.Visible:=True;
form2.ADOQuery1.Next;
end
else
begin
form1.StaticText1.Caption:='未使用';
form1.Image11.Visible:=False;
end; if form2.ADOQuery1.FieldByName('WellID').Value<>NULL then //第2条
begin
form1.StaticText2.Caption:=String(form2.ADOQuery1.FieldByName('WellID').Value)+'号';
form1.Image12.Visible:=True;
form2.ADOQuery1.Next;
end
else
begin
form1.StaticText2.Caption:='未使用';
form1.Image12.Visible:=False;
end;之后就是一条一条的读,读早最后的时候会发现最后一条数据一直被读出来,并不能结束,请各位帮帮忙。
form2.ADOQuery1.SQL.Clear;
form2.ADOQuery1.SQL.Add('select WellID from data order by WellID');
form2.ADOQuery1.Open;
if form2.ADOQuery1.FieldByName('WellID').Value<>NULL then //第1条
begin
form1.StaticText1.Caption:=String(form2.ADOQuery1.FieldByName('WellID').Value)+'号';
form1.Image11.Visible:=True;
form2.ADOQuery1.Next;
end
else
begin
form1.StaticText1.Caption:='未使用';
form1.Image11.Visible:=False;
end; if form2.ADOQuery1.FieldByName('WellID').Value<>NULL then //第2条
begin
form1.StaticText2.Caption:=String(form2.ADOQuery1.FieldByName('WellID').Value)+'号';
form1.Image12.Visible:=True;
form2.ADOQuery1.Next;
end
else
begin
form1.StaticText2.Caption:='未使用';
form1.Image12.Visible:=False;
end;之后就是一条一条的读,读早最后的时候会发现最后一条数据一直被读出来,并不能结束,请各位帮帮忙。
最好用while not form2.ADOQuery1.Eof do
begin
//这里写处理代码
form2.ADOQuery1.Next;
end;
form2.ADOQuery1.SQL.Clear;
form2.ADOQuery1.SQL.Add('select WellID from data order by WellID');
form2.ADOQuery1.Open;
while not form2.ADOQuery1.isempty do
begin
if form2.ADOQuery1.FieldByName('WellID').Value<>NULL then //第1条
begin
form1.StaticText1.Caption:=String(form2.ADOQuery1.FieldByName('WellID').Value)+'号';
form1.Image11.Visible:=True;
form2.ADOQuery1.Next;
end
else
begin
form1.StaticText1.Caption:='未使用';
form1.Image11.Visible:=False;
end;
end;
while not form2.ADOQuery1.isempty do
begin
if form2.ADOQuery1.FieldByName('WellID').Value<>NULL then //第2条
begin
form1.StaticText2.Caption:=String(form2.ADOQuery1.FieldByName('WellID').Value)+'号';
form1.Image12.Visible:=True;
form2.ADOQuery1.Next;
end
else
begin
form1.StaticText2.Caption:='未使用';
form1.Image12.Visible:=False;
end;
end;
begin
......
adoquery1.next;
end;
begin
......
adoquery1.next;
end;