在delphi中如何用combobox实现分级读取数据库中的内容?
本人想使用4combobox来实现分级读取数据库内容,比如在customer表中有4个字段名,分别是custno,company,country,phone。如何在第一个...
本人想使用4combobox来实现分级读取数据库内容,比如在customer表中有4个字段名,分别是custno,company,country,phone。如何在第一个combobox中显示这四个字段名,当选择某一字段是如何在第二个combobox中显示相应的记录?
如果有哪位高手知道请告诉小弟一声,不胜感激! 展开
如果有哪位高手知道请告诉小弟一声,不胜感激! 展开
2个回答
展开全部
1.你可以用一个 TABLE 控件 将你要分级的表全查询出来
2.用循环将第一个combobox用你想做第一级的字段名填充
3.在第一个combobox的onchange事件中 根据第一个combobox选择的内容 利用循环将第2个combobox用table中对应字段的所有行的值来填充
4.类推
不一定非要用table,比如涉及到好几张表时 可以用 query控件每次都查询
例如 第一个选择 辽宁 第2个 列出 沈阳\大连\鞍山…
第2个 选择 沈阳 第3个 列出 和平、大东、铁西、沈河…
………………………………………………………………
2.用循环将第一个combobox用你想做第一级的字段名填充
3.在第一个combobox的onchange事件中 根据第一个combobox选择的内容 利用循环将第2个combobox用table中对应字段的所有行的值来填充
4.类推
不一定非要用table,比如涉及到好几张表时 可以用 query控件每次都查询
例如 第一个选择 辽宁 第2个 列出 沈阳\大连\鞍山…
第2个 选择 沈阳 第3个 列出 和平、大东、铁西、沈河…
………………………………………………………………
展开全部
你可以在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事件再写事件啊!
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事件再写事件啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询