中易网

在delphi中如何用combobox实现分级读取数据库中的内容

答案:2  悬赏:30  
解决时间 2021-04-06 10:46
想用两个combobox和一个edit做一个查询~根据在combobox1中选中的项目~combobox2显示相应的子项目~再根据combobox2中选中的子项目~在edit中显示最终结果~我是用sql server2000和delphi连接的~combobox1中的代码已经写出来了~怎么和combobox2连接我就不知道怎么写了~请各位高手帮帮忙~
以下是实现combobox1的代码~
procedure TForm12.FormCreate(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('SELECt distinct brand from CPU');
adoquery1.Open;
combobox1.Items.Clear;
while not adoquery1.Eof do
begin
combobox1.Items.Add(adoquery1.fieldbyname('brand').AsString);
adoquery1.Next;
end;
end;

对了~我的两个combobox的text属性都是‘请选择’~
最佳答案
你可以在combobox1的OnChange事件里写代码
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('SELECt distinct XXX from CPU where brand='''+combobox1.text+'''');
adoquery1.Open;
combobox2.Items.Clear;
while not adoquery1.Eof do
begin
combobox2.Items.Add(adoquery1.fieldbyname('XXX').AsString);
adoquery1.Next;
end;
依次类推,在combobox2的OnChange事件再写事件啊!
全部回答
1.你可以用一个 table 控件 将你要分级的表全查询出来 2.用循环将第一个combobox用你想做第一级的字段名填充 3.在第一个combobox的onchange事件中 根据第一个combobox选择的内容 利用循环将第2个combobox用table中对应字段的所有行的值来填充 4.类推 不一定非要用table,比如涉及到好几张表时 可以用 query控件每次都查询 例如 第一个选择 辽宁 第2个 列出 沈阳\大连\鞍山… 第2个 选择 沈阳 第3个 列出 和平、大东、铁西、沈河… ………………………………………………………………
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
两个字节才能把所有的汉字表示完全。
安平镇石马湾妇幼保健计划生育服务站在哪里啊
我佳能70D快门参数50不见了,只有30-45-60,怎
有一塔吊基础要求重量为20T,但地基承载力为1
EXCL 表格,一个格怎么把字斜着分二排?(有
云河路/玉龙路(路口)地址在哪,我要去那里办
枸杞子粘稠了是假的吗
抛硬币十次,连续两次正面朝上的概率是多少
红酒泡洋葱放酵母菌
坑爹游戏2第十三关怎么过
电信光纤信号24db正常吗
中日交流标准日本语cd内容不好复制啊
Residential Gateway Device是什么?
现金,银行存款,还有收入,支出的流水账怎么
广州大学和广东财经大学哪间比较好
推荐资讯
早上好早点坊地址在什么地方,想过去办事
我是阴历1992年5月20日生日的,属于什么星座?
请问,汽车空调皮带怎样才算是松了呢?驾驶室
excel中,人员数量统计,加减一行(即一名人
房屋买卖居间合同夫妻一方签字有效吗
帮助他人的雷锋标题
国内有哪些比较好的电热膜品牌? 有没有能作
麻江下司犬是什么品种?
关于纹身图腾的问题
武邑县衡水武邑县计生局我想知道这个在什么地
在扬州为什么电动三轮车会被扣依据什么法律法
上海新虹桥小学怎样
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?