delphi中两个DBComboBox关联显示问题,ADO+SQL SERVER
一个DBComboBox1显示省份,DBComboBox2根据DBComboBox1,显示该省份内的市级城市名创建form时,添加代码,一个Query获取省份,添加到DB...
一个DBComboBox1显示省份,DBComboBox2根据DBComboBox1,显示该省份内的市级城市名
创建form时,添加代码,一个Query获取省份,添加到DBComboBox1;接着SQL查询DBComboBox1显示省份的市级城市名,添加到DBComboBox2
另外,DBComboBox1内容变化时,SQL查询DBComboBox1显示省份的市级城市名,添加到DBComboBox2
现在出现的问题:
1.类似代码,DBComboBox1显示正常,DBComboBox2只显示出一个非关联性的城市名;
2.DBComboBox1变化时,DBComboBox2在原显示下添加,原城市名还在(已调用items.clear后才添加的……),而且;点下拉列表中市名,DBComboBox2.text没有变化。 展开
创建form时,添加代码,一个Query获取省份,添加到DBComboBox1;接着SQL查询DBComboBox1显示省份的市级城市名,添加到DBComboBox2
另外,DBComboBox1内容变化时,SQL查询DBComboBox1显示省份的市级城市名,添加到DBComboBox2
现在出现的问题:
1.类似代码,DBComboBox1显示正常,DBComboBox2只显示出一个非关联性的城市名;
2.DBComboBox1变化时,DBComboBox2在原显示下添加,原城市名还在(已调用items.clear后才添加的……),而且;点下拉列表中市名,DBComboBox2.text没有变化。 展开
展开全部
DBComboBox1OnChange(Sender:TObject);
begin
if Trim(DBComboBox1.Text)<>'' then
begin
DBComboBox2.Items.Clear;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.ADD('select 城市名称 from CityTable Where 省份='''+Trim(DBComboBox1.Text)+'''');
ADOQuery2.Open;
While not ADOQuery2.EOF DO
begin
DBComboBox2.Items.Add(ADOQuery2.FieldByName('城市名称').asstring);
end;
end;
end;
//每次点DBComboBox1,都必须清除DBComboBox2的内容,重新刷新的
begin
if Trim(DBComboBox1.Text)<>'' then
begin
DBComboBox2.Items.Clear;
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.ADD('select 城市名称 from CityTable Where 省份='''+Trim(DBComboBox1.Text)+'''');
ADOQuery2.Open;
While not ADOQuery2.EOF DO
begin
DBComboBox2.Items.Add(ADOQuery2.FieldByName('城市名称').asstring);
end;
end;
end;
//每次点DBComboBox1,都必须清除DBComboBox2的内容,重新刷新的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询