我在数据库里一次查出了很多条语句。怎么才能把查出来的记录都显示在ComboBox里呢?
解决方案 »
- TStringList DelimitedText 默认的分隔符都有哪些?
- 新手问个删除记录的问题...
- 怎样让cxGrid自动适应字段长度?
- 一个关于组件开发的问题
- 关于工具栏的问题
- 有经验的朋友们近来看看?
- 请教CreateOleObject
- 是不是在http://www.shareware.net.cn/(共享软件注册中心)提交软件,必须要有自己的主页啊,没有是不是拒收啊?
- delphi访问db2建立的ODBC数据源无法得到相应的记录
- 急求一个Delphi的高手帮我解决一个调用的问题
- iniFile和txtFile相同吗?在使用中有何优缺点?谢谢。
- 高分求解,如何让quick report打印完后不走纸,或者控制纸的大小。
With ADOQuery1 do
begin
First;
While Not Eof do
begin
ComboBox1.Items.Add(FieldByName('FieldName').AsString);
Next;
end;
end;
begin
with query do
begin
open;
while not eof do
begin
ComboxBox.Items.Add(FieldByName(FieldName).AsString);
Next;
end;
end;
end;
combobox1.clear
if query1.recordcount>1 then
....
else
procedure TForm1.Button1Click(Sender: TObject);
begin
Box1.Items.Clear;
With Query Do
Begin
Close;
Sql.Clear;
Sql.Add('select id,name from tab1 where id='''+Edit1.Text+'''');
Try
Open;
First;
If IsEmpty
Then Begin
ShowMessage('没有符合条件的记录');
Exit;
End
Else While Not Eof Do
Begin
Box1.Items.Add('ID:'+FieldByName('id').ASString+'Name:'+FieldByName('Name').ASString);
End;
Except
ShowMessage('执行查询异常');
End;
Query.Close;
end;
end;
如果recordcount>0,就可以通过循环把值加入到combobox里面去了
用recordcount沒有問題可以實現,但是在網絡版中如果下載的數據庫大的話
將大大延長程序的執行時間.
因爲recordcount將很耗時間.盡量用查詢.
query.first;
while not query.eof do begin
combobox.items.add(query.fieldbyname(fieldname).asstring);
query.next;
end;
With ADOQuery1 do
begin
First;
While Not Eof do
begin
ComboBox1.Items.Add(FieldByName('FieldName').AsString);
Next;
end;
end;
************************************************
procedure TForm1.Button1Click(Sender: TObject);
begin
Box1.Items.Clear;
With Query Do
Begin
Close;
Sql.Clear;
Sql.Add('select id,name from tab1 where id='''+Edit1.Text+'''');
Try
Open;
First;
If IsEmpty
Then Begin
ShowMessage('没有符合条件的记录');
Exit;
End
Else While Not Eof Do
Begin
Box1.Items.Add('ID:'+FieldByName('id').ASString+'Name:'+FieldByName('Name').ASString);
End;
Except
ShowMessage('执行查询异常');
End;
Query.Close;
end;
end;这两种都可以