用delphi编写代码 使组合框中下拉显示数据库里有的内容

2025-05-11 08:23:22
推荐回答(5个)
回答1:

可以用循环加载 也可以数据集控件
用循环的话 直接用combobox1循环加载表中的数据
如:
AdoQuery1.sql.text:='select distinct 班级 from table';
ADOQuery1.open;
combobox1.Items.clear;
while not eof do
begin
combobox1.Items.Add(FieldByName('班级').asstring);
ADOQuery1.next;
end;
end;
用数据集控件的话,直接设置数据源DataSource,显示字段DataField

回答2:

with AdoQuery1 do
begin
close;
sql.clear;
sql.add('select distinct 班级 from table'); //distinct过滤重复的班级名
open;
combobox1.Items.clear;//一定要要有,否则每点一次就多加一遍
while not eof do
begin
combobox1.Items.Add(FieldByName('班级').asstring);
next;
end;
end;

回答3:

哈哈,是这样的
1、在Delphi中找到Data Controls组件标签
2、添加TDBComboBox控件
3、设置TDBComboBox控件的属性Data Source为你打开的数据源
4、设置TDBComboBox控件Data Source上面的属性DataFiled为你要显示的字段

回答4:

with AdoQuery1 do
begin
close;
sql.clear;
sql.add('select 班级 from table');
close;
while not eof do
begin
combobox1.Items.Add(FieldByName('班级').asstring);
next;
end;
end;

再不明白百度hi联系。

回答5:

table1.Active:=true;
table1.first;
while not table1.Eof do
begin
combobox1.Items.Add(table1.FieldByName('班级名称').asstring);
table1.next;
end;
table1.first;
combobox1.text:=table1.FieldByName('班级名称').asstring;