delphi内combobox用法。
从c表中调取cno列的内容,但是却显示不出来,请高手帮忙看一下哪里有错误?procedureTfrm_main.ComboBox1Change(Sender:TObjec...
从c表中调取cno列的内容,但是却显示不出来,请高手帮忙看一下哪里有错误? procedure Tfrm_main.ComboBox1Change(Sender: TObject);var i: Integer;begin ComboBox1.Clear; ComboBox1.SetFocus; with ADOQuery1 do begin Close; SQL.Clear; SQL.Add('select cno from c'); Open; if RecordCount>0 then for i:=0 to RecordCount-1 do begin ComboBox1.Items.Add(FieldByName('cno').AsString); next; end; end;end;
展开
4个回答
展开全部
以上事件是一个死循环,所以永远看不到显示的内容;不知道楼上几位回答的时候有没看到?
这段代码应该是放在ComboBox1dropdown事件中;
因为你的ComboBox1.Clear; 和ComboBox1.Items.Add都在触发ComboBox1Change事件,所以程序不出现假死已经算好的了
这段代码应该是放在ComboBox1dropdown事件中;
因为你的ComboBox1.Clear; 和ComboBox1.Items.Add都在触发ComboBox1Change事件,所以程序不出现假死已经算好的了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要在combobox 的onchange 事件下面写:
procedure Tfrm_main.ComboBox1Change(Sender: TObject);
begin
ComboBox1.text:='';
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select cno from c');
Open;
if adoquery.recordcount>0 then
begin
while not EOF do
begin
ComboBox1.Items.Add(FieldByName('cno').AsString);
next;
end;
end
else
showmessage('没有相关记录');
exit;
end;
procedure Tfrm_main.ComboBox1Change(Sender: TObject);
begin
ComboBox1.text:='';
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select cno from c');
Open;
if adoquery.recordcount>0 then
begin
while not EOF do
begin
ComboBox1.Items.Add(FieldByName('cno').AsString);
next;
end;
end
else
showmessage('没有相关记录');
exit;
end;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.确定有记录吗?
2.这段代码不要放在ComboBox组件的onChange事件, 放在Button的onClick事件试试
3.也可以这么写
procedure Tfrm_main.ComboBox1Change(Sender: TObject);
begin
ComboBox1.Clear;
ComboBox1.SetFocus;
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select cno from c');
Open;
while not EOF do
begin
ComboBox1.Items.Add(FieldByName('cno').AsString);
next;
end;
end;
end;
2.这段代码不要放在ComboBox组件的onChange事件, 放在Button的onClick事件试试
3.也可以这么写
procedure Tfrm_main.ComboBox1Change(Sender: TObject);
begin
ComboBox1.Clear;
ComboBox1.SetFocus;
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select cno from c');
Open;
while not EOF do
begin
ComboBox1.Items.Add(FieldByName('cno').AsString);
next;
end;
end;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
buttion事件里写
begin
if combobox.text='小明' then edit1.text=100;
if combobox.text='小王' then edit1.text=90;
......
end;
最好是把数据存储到表了。通过查找combobox的值,获取对应的成绩,赋值给edit
begin
if combobox.text='小明' then edit1.text=100;
if combobox.text='小王' then edit1.text=90;
......
end;
最好是把数据存储到表了。通过查找combobox的值,获取对应的成绩,赋值给edit
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询