C++ Builder 中关于ComboBox的事件

在一个Form中想根据,选中ComboBox中的某一下拉项对数据库搜索,得出一个结果,在同一Form中的Label,显示该怎么做?代码要写在哪个事件下?下面是我写的代码,... 在一个Form中
想根据,选中ComboBox中的某一下拉项
对数据库搜索,得出一个结果,在同一Form中的Label,显示
该怎么做?
代码要写在哪个事件下?

下面是我写的代码,有没有问题
//----------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit7.h"
//----------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm7 *Form7;
//----------------------------------------------------------------
__fastcall TForm7::TForm7(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm7::ComboBox1Change(TObject *Sender)
{ADOQuery1->SQL->Clear();
AnsiString an1="select tzname as a from touzi leixing where";
an1+=" tzdm='"+ComboBox1->Text+"';";
ADOQuery1->SQL->Add(an1);
ADOQuery1->Open();
Form7->Label5->Caption=ADOQuery1->FieldValues["a"];
}
//----------------------------------------------------------------
展开
 我来答
lsaunter
2008-01-27 · TA获得超过1188个赞
知道小有建树答主
回答量:753
采纳率:0%
帮助的人:611万
展开全部
可以在ComboBox1Change下

这里改为

void __fastcall TForm7::ComboBox1Change(TObject *Sender)
{ADOQuery1->SQL->Clear();
AnsiString an1="select tzname as a from touzi leixing where";
an1+=" tzdm='"+this->ComboBox1->Items->Strings[this->ComboBox1->Itemindex];+"';";
ADOQuery1->SQL->Add(an1);
ADOQuery1->Open();
Form7->Label5->Caption=ADOQuery1->FieldValues["a"];
}

其中加入this->ComboBox1->Items->Strings[this->ComboBox1->Itemindex];

这句的意思是,
this->ComboBox1->Items->Strings[int]为当前选中的行文字
this->ComboBox1->Itemindex为当前选取的项目的编号
cuiahong
2008-01-18 · TA获得超过1075个赞
知道小有建树答主
回答量:1073
采纳率:0%
帮助的人:658万
展开全部
好难哈
~ ~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式