有关combobox一个极简单的问题,请教(2分)

  • 主题发起人 主题发起人 wl821205
  • 开始时间 开始时间
W

wl821205

Unregistered / Unconfirmed
GUEST, unregistred user!
begin
combobox2.items.clear;
adoquery2.first;
while not adoquery2.eof do
begin
combobox2.items.add(adoquery2.fieldbyname(combobox1.text).asstring;
adoquery2.next;
end;


上面的代码,我放在combobox1的onchange事件中,就出现了一件怪事,就是:当我combobox1选择在'性别'这一值时,combobox2中出现了很多的男,女,请问如何解决
 
qq群23981160问下吧
 
1。确保adoquery2当前数据无重复
2。如无重复,看看combobox2的onchange事件是不是多次执行了
3。说实话,看你的代码,我想象不出你的数据结构是什么样的
 
这很正常,因为combobox1 change后,combobox2添加的性别字段的内容,当然是“男、女”。
不知你的目的是什么,请说清楚。
 
方法一:在Add之前加一个Check环节;
方法二:用Select Distinct Sex From [TableName]来取单一值,然后在Add。
 
不奇怪`!!!你的数据表该有多少男,女呢!!!
 
adoquery2.first;
放到end后面试试

这句代码combobox2.items.add(adoquery2.fieldbyname(combobox1.text).asstring;真让人匪夷所思阿
如果你只是想加combobox1的text。为什么要加上adoquery2.fieldbyname呢?

奇怪的是,编译还能通过?!少了半边括号的情况下
 
加句判断
begin
combobox2.items.clear;
if combobox1.text<>'性别' then
begin
adoquery2.first;
while not adoquery2.eof do
begin
combobox2.items.add(adoquery2.fieldbyname(combobox1.text).asstring;
adoquery2.next;
end;
end
else
begin
combobox2.items.add('男');
combobox2.items.add('女');
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
862
import
I
I
回复
0
查看
712
import
I
后退
顶部