专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C++ Builder

c++ buider ADOQuery筛选查询,该怎么解决

发布时间:2011-06-28 13:33:44 文章来源:www.iduyao.cn 采编人员:星星草
c++ buider ADOQuery筛选查询
在窗体里添加一个组合框ComboBox1,如何在下拉列表中,从一张有很多批号的表里筛选出满足条件的批号。
窗体里我添加了一个 ADOQuery 、ADOTable1 Datasource1下面是我写的两种方法的代码但是下拉列表没有数据:
第一种方法:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
AnsiString sql;
ADOQuery->Close();
ADOQuery->SQL->Clear();
sql="Select 腐蚀批号 from 腐蚀箔成绩单_高压tmp where 机号>EH39" ;这是出错的地方提示“EH39无效”
ADOQuery->SQL->Add(sql);
ADOQuery->Open();

  ADOTable2->Open();
  ADOTable2->First();
  while(!ADOTable2->Eof){
  DBComboBox2->Items->Add(ADOTable2->Fields->Fields[0]->AsString);
  ADOTable2->Next();
  }
  ADOTable2->First();
  DBComboBox2->ItemIndex = 0;

  }
//---------------------------------------
第二种方法:
//---------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{

  ADOQuery->Close();
  ADOQuery->Filter="机号>EH39";
  ADOQuery->Filtered=true;//开始筛选

  ADOTable2->Open();
  ADOTable2->First();
  while(!ADOTable2->Eof){
  DBComboBox2->Items->Add(ADOTable2->Fields->Fields[0]->AsString);
  ADOTable2->Next();
  }
  ADOTable2->First();
  DBComboBox2->ItemIndex = 0;

  //Timer1->Enabled = true;


  Timer1->Enabled = true;
}
这种方法没有提示错误,但是筛选不到数据
//---------------------------------------
请高手们帮帮忙,分不多全给你们了,谢谢

------解决方案--------------------
DBComboBox2直接绑定数据源就可以了 不用Add 操作
用了ADOQuery->SQL->Add(sql); 
ADOQuery->Open(); 执行了sql语句,查询了数据得出了数据 ADOTable2就不需要 了
C/C++ code

DBComboBox2->DataSource = Datasource1 ;
AnsiString sql;
ADOQuery->Close();
ADOQuery->SQL->Clear();
sql="Select 腐蚀批号  from 腐蚀箔成绩单_高压tmp where 机号>EH39" ;这是出错的地方提示“EH39无效”
ADOQuery->SQL->Add(sql);
ADOQuery->Open();
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: