B
bjxiangshan
Unregistered / Unconfirmed
GUEST, unregistred user!
以下是在本论坛看到的一个例子:但是发现一个问题
procedure TForm1.FormCreate(Sender: TObject);
begin
adoquery1.Close ;
adoquery1.SQL.Clear ;
adoquery1.SQL.Add('select * from table1');
adoquery1.Open;
adoquery1.Frist;
while not adoquery1.Eof do
begin
combobox1.Items.Add(adoquery1.fieldbyname('id').asstring);
adoquery1.next;
end;
adoquery1.Close ;
end;
就是如果ADOQuery1.RecordCount=1的时候,这段代码就没有执行,因为只有一行也就是最后一行,刚好跳过(while not adoquery1.Eof do)的范围。
而在程序中,即使一行也是要执行才对!
以上代码如何修正呢?
procedure TForm1.FormCreate(Sender: TObject);
begin
adoquery1.Close ;
adoquery1.SQL.Clear ;
adoquery1.SQL.Add('select * from table1');
adoquery1.Open;
adoquery1.Frist;
while not adoquery1.Eof do
begin
combobox1.Items.Add(adoquery1.fieldbyname('id').asstring);
adoquery1.next;
end;
adoquery1.Close ;
end;
就是如果ADOQuery1.RecordCount=1的时候,这段代码就没有执行,因为只有一行也就是最后一行,刚好跳过(while not adoquery1.Eof do)的范围。
而在程序中,即使一行也是要执行才对!
以上代码如何修正呢?