本文主要是介绍DVD出租系统【3】MFC界面连接数据库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
DVD出租系统【3】界面连接数据库
数据库是sql server 2008:
1、初始化COM库:
ADO是基于COM技术的,所以,在应用程序调用ADO前,必须初始化COM库环境。
ADO使用结束后,还需要关闭库,释放初始化加载的动态库,MFC程序中,一般在 CXXXAPP 的 InitInstance 的
函数中调用 COM 库的初始化函数 CoInitialize(NULL); 在 ExitInstance 的函数中调用卸载 COM 库的函数:CoUninitialize();
2、、引入 ADO 动态链接库:
在使用 vc++ 的 MFC 编程开发时,MFC 并没有提供对 ADO 封装类的支持,能够支持 ADO 编程的是 ADO 的 COM动态库 msado*.dll
一般在系统盘的:\Program Files\Common Files\System\ado 目录下,根据操作系统版本的不同,该文件可能是:msado15.dll,
* 代表 ADO 库的版本,在 stdafx.h 头文件中添加如下代码:
#import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF", "adoEof")
3、在头文件中添加代码:
_ConnectionPtr m_pConnection;BOOL connectDB();void CloseDB();virtual void OnCancel();
4、接下来增加数据库连接代码,数据库关闭代码:(onCancel是函数重载出来的)
BOOL CDVDRentDlg::connectDB()
{HRESULT hr;try{hr = m_pConnection.CreateInstance(__uuidof(Connection));if (SUCCEEDED(hr)) {//_bstr_t connectStr = _T("Provider=SQLNCLI;Server=192.168.0.100;Database=DVDRentDB;Uid=cctry;Pwd=www.cctry.com");_bstr_t connectStr = _T("Provider=sqloledb;Data Source=192.168.1.23;Initial Catalog=DVDRentDB;User Id=sa;Password=123456");m_pConnection->ConnectionTimeout = 20;hr = m_pConnection->Open(connectStr, _T(""), _T(""), adConnectUnspecified);if (FAILED(hr)) {MessageBox(_T("打开与数据库的连接失败."));return FALSE;}}else {MessageBox(_T("实例化 Connection 对象失败."));return FALSE;}}catch (_com_error &e){_bstr_t bstrSource(e.Source());_bstr_t bstrDescription(e.Description());MessageBox(bstrDescription, bstrSource);return FALSE;}return TRUE;
}
void CDVDRentDlg::CloseDB()
{if (m_pConnection && m_pConnection->State == adStateOpen) {m_pConnection->Close();}
}void CDVDRentDlg::OnCancel()
{// TODO: 在此添加专用代码和/或调用基类CloseDB();CDialogEx::OnCancel();
}
5、运行效果图如下:
本节工程地址:
链接:https://pan.baidu.com/s/1PYaRk-vXiB2hBhTsj4f9CQ
提取码:ncqx
这篇关于DVD出租系统【3】MFC界面连接数据库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!