for i:=1 to ADOQuery1.RecordCount do
combobox1.Items.Add(ADOQuery1.Fields[0].AsString);
我想把查到的那个字段对应的几条记录都加到combobx1的下拉列表中来,不成功,把第一个记录重复了adoquery1.recordcount次,所以我写的肯定是错的,请哥哥们指教哈!
combobox1.Items.Add(ADOQuery1.Fields[0].AsString);
我想把查到的那个字段对应的几条记录都加到combobx1的下拉列表中来,不成功,把第一个记录重复了adoquery1.recordcount次,所以我写的肯定是错的,请哥哥们指教哈!
BEGIN
combobox1.Items.Add(ADOQuery1.Fields[0].AsString);
ADOQuery1.NEXT;
END;
for i:=1 to ADOQuery1.RecordCount do
BEGIN
combobox1.Items.Add(ADOQuery1.Fields[0].AsString);
adoquery1.next;
END;或者
adoquery1.first;
while not ADOQuery1.eof do
BEGIN
combobox1.Items.Add(ADOQuery1.Fields[0].AsString);
ADOQuery1.NEXT;
END;
for i:=1 to ADOQuery1.RecordCount do
begin
combobox1.Items.Add(ADOQuery1.Fields[0].AsString);
ADOQuery1.next;
end;
while not ADOQuery1.eof do
BEGIN
combobox1.Items.Add(ADOQuery1.Fields[0].AsString);
ADOQuery1.NEXT;
END;最好用这种方法。
var
s: string;
begin
CBB_YFName.Items.Clear;
with DM.ADOQuery_YK do
begin
close;
open;
First;
while Not Eof do
begin
s := FieldByName('Cangk_Mc').AsString;
CBB_YFname.Items.Add(s);
next;
end;
end;
end;
combobox1.Items.Add(ADOQuery1.Fields[0].AsString);这种写法ADOQuery1的记录指针是不会移动的,所以会出现ADOQuery1.RecordCount个重复记录.
用foxyy8888(面向Money编程)的方法就可以了!
first;
while not(eof) do
begin
combobox1.Items.Add(Fields[0].AsString);
next;
end;
end;
建议不要用recordcount,用EOF的方法好。
另外,想这样的Combobox 最好是用数据敏感的最方便