您的位置:首页 > 数据库

vs2008 MFC使用DataGrid控件绑定数据库

2016-12-23 09:23 134 查看
1、首先在对话框上点击右键,选择插入ActiveX控件,向下拖拉,找到MicrosoftDataGrid Control 6.0(SP6)(OLEDB),点击确定,在界面上会新增一个控件。

2、在界面上点击该控件后,点击右键增加控制变量m_dataGrid。

3、在对话框头文件中增加:

#import "c:\program files\common files\system\ado\msado15.dll"no_namespace rename("EOF","adoEOF")

引入dll文件;

4、在对话框类中添加变量声明:

     _ConnectionPtrm_pConnection;
     _RecordsetPtrm_pRecordset;

5、在对话框初始化函数中增加 com初始化:

     CoInitialize(NULL);

6、增加对话框对WM_DESTROY的处理,在OnDestroy函数中增加关闭操作:

     m_pRecordset->Close();  //关闭记录集
     if(m_pConnection->State)
     {
         m_pConnection->Close();
     }
     CoUninitialize();    //关闭com环境
7、连接数据库操作,单独写一个函数。

voidCtestAdoAccessDlg::ConnectDb()
{
     m_pConnection.CreateInstance("ADODB.Connection");
 
     try
     {
         m_pConnection->ConnectionTimeout= 8;
         m_pConnection->PutCursorLocation(adUseClient);
         m_pConnection->Open("Provider=Microsoft.ACE.OLEDB.12.0;DataSource=D:\\test\\testAccess\\Debug\\Demo.mdb;","","",adModeUnknown);
     }
 
     catch(_com_error e)
     {
         AfxMessageBox("数据库连接失败");
         return;
     }
 
     //---------初始化记录集对象---------------//
     try
     { 
          m_pRecordset.CreateInstance("ADODB.Recordset");
         //打开记录集
         m_pRecordset->Open("SELECT * FROM DemoTable",_variant_t((IDispatch*)m_pConnection,true),adOpenDynamic,adLockPessimistic,adCmdText);
     }
     catch(_com_error e)///捕捉异常
     {
         CStringtemp;
         temp.Format("aaa连接数据库错误信息:%s",e.ErrorMessage());
         AfxMessageBox(temp);
         return;
     }
 
 
     m_dataGrid.putref_DataSource(NULL);
     m_dataGrid.putref_DataSource((LPUNKNOWN)m_pRecordset);
     m_dataGrid.Refresh();
 
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息