try
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM sjgxx WHERE glcc=1 ORDER BY JGM');
Open;
while not eof do
next;
end; with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM shbxx ORDER BY hbh');
Open;
while not eof do
begin
sl_Hbh.add(Fieldbyname('hbh').AsString);
next;
end;
end;
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM sjgxx WHERE glcc=1 ORDER BY JGM');
Open;
while not eof do
next;
end; with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM shbxx ORDER BY hbh');
Open;
while not eof do
begin
sl_Hbh.add(Fieldbyname('hbh').AsString);
next;
end;
end;
2、recordcount的定位
2、用DELPHI6以上版本;
3、在OPEN那里加上一个ADOQuery1.LockType := true;
2、用DELPHI6以上版本;
3、在OPEN那里加上一个ADOQuery1.LockType := true;
if not isEmpty then
begin
first;
下同
end;
按照你的条件,如果到了最后一条记录,仍然会Next。所以.....
您可以试试用for i:=0 to recordcount-1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM sjgxx WHERE glcc=1 ORDER BY JGM');
Open;
while not eof do
next;
end;
这段放在这里有什么用?
try
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM sjgxx WHERE glcc=1 ORDER BY JGM');
Open;
if not isEmpty then
begin
first;
while not eof do
next;
end;
end;
finally
close;
end;
2, if (not ADOQuery1.active) or (ADOQuery1.RecordCount = 0) then Exit;