67上位机VC MFC组合框中添加数据库文件数据内容
67上位机VC MFC组合框中添加数据库文件数据内容
功能展示
开发数据库相关上位机程序 时有时要实现数据库文件内数据加载到组合框的功能,我们当前例程就实现了这一功能,效果如图
要点提示
当前例程主要是通过ADO技术连接数据库,读取数据库文件内的字段,然后通过组合框控件的ADDSTRING()函数将已经读取的数据添加到组合框中; 在使用ADO技术时,需要导入一个ADO动态链接库msado15.dll,该动态库位于系统盘下的“Program Files\CommonFiles\System\ado\”目录下。
例:如果你的系统盘为C盘,则该文件位于“C:\Program Files\CommonFiles\System\ado”目录中。所以需要在工程文件中添加#import “C:\ProgramFiles\Common Files\System\ado\msado15.dll” no_namespace rename(“EOF” ,“adoEOF”) 实现导入ADO文件 实现功能 1.新建基于对话框的应用程序 2.导入一个ADO动态链接库msado15.dll;在对话框头文件中添加一句实现#import "C:\Program Files\CommonFiles\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") 3.添加一组合框,和一按钮控件,给组合框关联变量CComboBox m_Combo;
给按钮关联消息响应函数,在内容实现向组合框加载数据库数据 void CGkbc8Dlg::OnAdd() {_ConnectionPtr pConnection; _RecordsetPtr pRecordset; CString TheValue; ::CoInitialize(NULL); //初始化COM环境 pConnection=NULL; pConnection.CreateInstance(__uuidof(Connection)); //连接对象实例化 pConnection->ConnectionString="uid=admin;pwd=111;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=database.mdb;"; //设置连接字符串 pConnection->Open(L"",L"",L"",adCmdUnspecified); pRecordset=pConnection->Execute((_bstr_t)("select* from info"), NULL,adCmdText);//执行SQL语句 while(!pRecordset->adoEOF) {TheValue=(char*)(_bstr_t)pRecordset->GetCollect("name"); m_Combo.AddString(TheValue); pRecordset->MoveNext();} pRecordset->Close(); pConnection->Close(); pRecordset=NULL; pConnection=NULL; ::CoUninitialize(); m_Combo.SetCurSel(1);}
我们来演示下功能实现的整个过程
|