dblookupcombobox的用法

sharkabc 2003-08-20 12:39:19
table1:province
table2:city
现在dblookupcombobox1中关联province.name的内容,
dblookupcombobox2中关联city.name的内容。
比如,在dblookupcombobox1中选择浙江省,在dblookupcombobox2中出现杭州市、宁波市、绍兴市等内容。
table provice table city
code name code name pid
01 浙江省 00001 杭州市 01
02 湖北省 00002 宁波市 01
03 湖南省 00003 绍兴市 01
... 00004 武汉市 02
00005 长沙市 03
...

两个表的关联关系是:province.code=city.pid
Delphi中实现代码如何做?
...全文
90 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qukmei 2003-08-20
  • 打赏
  • 举报
回复
你是不是不会数据库呀,我也不会,哈
sharkabc 2003-08-20
  • 打赏
  • 举报
回复
各位帅哥美眉,急着用啊。
sharkabc 2003-08-20
  • 打赏
  • 举报
回复
楼上的,是这样的。
dblookupcombobox1放的是省的内容,来自province.name
dblookupcombobox2放的是市的内容,来自city.name
省的内容变了,市的内容当然要变啦。
我现在将dblookupcombobox2换成combobox,居然搞定了。
代码如下:
procedure Tfrmhr.dblookupcombobox1Click(Sender: TObject);
var
sname,scode:string;
ni:integer;
begin
sname:='';
sname:=dblookupcombobox1.Text;
with frmdm.aqry_city do
begin
active:=false;
sql.Clear;
sql.Text:='select c.name from city c,province p where c.pid=p.code and p.name=:temp';
parameters.ParamByName('temp').Value:=dblookupcombobox1.Text;
active:=true;
end;

combobox1.Items.Clear;
if frmdm.aqry_city.RecordCount > 0 then
begin
frmdm.aqry_city.First;
for ni:=0 to frmdm.aqry_city.RecordCount - 1 do
begin
combobox1.Items.Add(frmdm.aqry_city.FieldValues['name']);
frmdm.aqry_city.Next;
end;
end;
end;
现在不知道怎么用 dblookupcombobox实现同样的功能?
Shiyl 2003-08-20
  • 打赏
  • 举报
回复
adoquery里要写SQL语句,你是用TABLE连的表?就datasource.dataset:=adotable
sharkabc 2003-08-20
  • 打赏
  • 举报
回复
楼上的,dblookupcombobox2.listsource:=datasource;
datasource.dataset:=adoquery1;
编译没有问题,运行出错。
我用adotable,dblookupcombobox显示表中的一个字段内容,可以搞定;就是这么表-表关联一下,用adoquery怎么就不行了。
Shiyl 2003-08-20
  • 打赏
  • 举报
回复
dblookupcombobox2.listsource=adoquery1.datasource;
这句话什么意思??
好象有问题。
dblookupcombobox2.listsource=datasource
datasource的dataset指向adoquery1
试试
sharkabc 2003-08-20
  • 打赏
  • 举报
回复
数据库SQL我会的,select c.name from province p,city c where c.pid = p.code and p.name = dbloolupcombobox1.text;
dblookupcombobox2.listsource=adoquery1.datasource;
可是就是看不到啊?
Shiyl 2003-08-20
  • 打赏
  • 举报
回复
select city.name from table2 where city.pid in (select province.code from table1)

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧