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

2025-01-14 08:15:55
推荐回答(2个)
回答(1):

1.你可以用一个 TABLE 控件 将你要分级的表全查询出来
2.用循环将第一个combobox用你想做第一级的字段名填充
3.在第一个combobox的onchange事件中 根据第一个combobox选择的内容 利用循环将第2个combobox用table中对应字段的所有行的值来填充
4.类推

不一定非要用table,比如涉及到好几张表时 可以用 query控件每次都查询
例如 第一个选择 辽宁 第2个 列出 沈阳\大连\鞍山…
第2个 选择 沈阳 第3个 列出 和平、大东、铁西、沈河…
………………………………………………………………

回答(2):

你可以在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事件再写事件啊!