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"];
}
//---------------------------------------------------------------- 展开
想根据,选中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"];
}
//---------------------------------------------------------------- 展开
展开全部
可以在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为当前选取的项目的编号
这里改为
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为当前选取的项目的编号
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询