不好意思,问个DELPHI的问题

[复制链接]
查看11 | 回复5 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
我想combobox的列表框项目要从数据库中选出来
with ADOQuery do
begin
Close;
SQL.Clear;
SQL.Add('select 字段名 from 表名 where ...');
Open;
First;
end;
if not ADOQuery.IsEmpty then
while not ADOQuery.Eof do
begin
DBComboBox1.Items.Add(ADOQuery.FieldByName('字段名').AsString);
ADOQuery.Next;
end;
我像上述的做法做了,可是每当我将鼠标点到本窗体的其他文本框或者列表框上时,
DBCOMBOBOX所显示的值就变成空了,有什么办法解决呢?
我在这里设置DBCOMBOBOX.STYLE为csDROPDOWNLIST。若将其设置为csDROPDOWN,则根本就选
不中列表框所列的项目。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
顶!
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
不会的, 是不是你的DBCombobox没有对应Field,
不是这样的话, 你换台机器试试;
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
楼上的兄台,当然有对应的FIELD,要不然列表框下拉表上怎会有可选项,我只是选不中而以。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
我是这么做的

adoquery2.Active :=false;
adoquery2.SQL.Clear ;
adoquery2.SQL.Add('select id from department') ;

adoQuery2.ExecSQL;
adoquery2.Active :=true ;
adoQuery2.First ;
while not adoQuery2.eof do
begin

ComboBoxstart.Items.Add(adoQuery2.Fieldbyname('id').Asstring )
end;
adoquery2.Active :=false;
ComboBoxstart没有做什么专门设置
运行没有什么问题!
你是不是要执行一下,少adoQuery2.ExecSQL;??
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
我知道我的问题了,我用的是DBCOMBOBOX,换作COMBOBOX就可以了,真是头痛!
谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行