请教如何实现这个功能啊.(30分)

  • 主题发起人 主题发起人 topdelphi
  • 开始时间 开始时间
T

topdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
我的SQL数据库字段和记录如下,我在程序开始里将球赛类别读进COMBOBOX1里,供用户选择,
但是例如我在COMBOBOX1选择了足协,如何在COMBOBOX2里只显示足协的球队名称啊.
我的语句如下,但是达不到这个效果,烦请各位如何修改啊.
编号 球赛类别 球队名称
-------------------- --------------- --------------------
1 足协 AT雅典
2 足协 波尔多
4 足协 飞燕诺
5 足协 红星
6 足协 维迪斯
7 足协 利巴域
8 德甲 安特赫治
9 德甲 拜仁慕尼黑
10 德甲 波琴
11 德甲 多蒙特

procedure Tfrmadds.Box1Click(Sender: TObject);
var
st:string;
begin
if box1.ItemIndex =0 then
begin
with frmmains.bootad do begin
Filtered := false;
Filter := '球赛类别='''+ Box1.Text + '''';
Filtered := True;
first;
while not eof do
begin
st:=FieldByName('球队名称').asString;
if Box2.items.IndexOf(st)=-1 then
box2.Items.Add(st);
next;
end;
end;

 
procedure Tfrmadds.Box1Click(Sender: TObject);
var
st:string;
begin
if box1.ItemIndex =0 then
begin
with frmmains.bootad do begin
Filtered := false;
Filter := '球赛类别='''+ Box1.Text + '''';
Filtered := True;
first;
box2.clear;//////////////////
while not eof do
begin
st:=FieldByName('球队名称').asString;
box2.Items.Add(st);
next;
end;
end;
 
你可以看看lookupcombox的用法
 
lookupcombox设定keyfield属性为combobox1中显示的字段名子
 
谢谢各位的回答,但是这条语句只实现了一部分,但是我之后如果选择德甲的时候,为何
还是足协这些记录呢,请教如何再修改啊,
 
后退
顶部