100分(100分)

  • 主题发起人 主题发起人 古惑狼
  • 开始时间 开始时间

古惑狼

Unregistered / Unconfirmed
GUEST, unregistred user!
关于TDBComboBox
我的数据库中,有张student表.表中"学生班级"字段有许多值,问?
如何将这些不同的值取出,添加在TDBComboBox的下拉框中?
小生愚沌,还望诸位大虾执教!
 
TDBComboBox.items.add();
做个循环就行了
 
select distinct 学生班级 from student表 where ...
 
student.first;
while not student.eof do
begin
TDBComboBox.items.add(student.fieldbyname('学生班级').asstring);
student.next;
end;
 
把TDBComboBox属性设成lookup字段
 
设置好DataSource和DataField就行了;
 
同意lanbing1400
 
好像只能用lanbing1400的方法
 
不就是用
select distinct 学生班级 from student表 where>>>>>
然后,用一个循环不就搞定了,
student.first;
while not student.eof do
begin
TDBComboBox.items.add(student.fieldbyname('学生班级').asstring);
student.next;
end;


 
楼上说得对呀。。。
 
不需要用循环的!
select distinct 学生班级 from student表 where>>>>>

直接把 DBComboBox1的datasource设置到上面查询的数据集,就行了
 
up
最好再refresh一下
 
query1.close;
query1.sql.clear;
query1.databasename := student.DatabaseName;
query1.sql.add('Select 学生班级 From student' Where 学生班级 <> '0' Group by 学生班级');
query1.Prepare;
query1.Open;
// 以上避免 '学生班级' 重复出现
完成下面设置(动态的,即在运行过程中设置)
DataSource1.DataSet := query1;(也可以在设计时设置)
DBComboBox1.DataSource := DataSource1;(也可以在设计时设置)
DBComboBox1.DataField := 学生班级;

你也可以直接使用ComboBox控件:
query1.first;
while not query1.eof do
begin
ComboBox.items.add(query1.fieldbyname('学生班级').asstring);
query1.next;
end;
 

Similar threads

D
回复
0
查看
821
DelphiTeacher的专栏
D
D
回复
0
查看
870
DelphiTeacher的专栏
D
D
回复
0
查看
793
DelphiTeacher的专栏
D
D
回复
0
查看
737
DelphiTeacher的专栏
D
D
回复
0
查看
610
DelphiTeacher的专栏
D
后退
顶部