欢迎进入C/C++编程社区论坛,与300万技术人员互动交流 >>进入 在整个系统中,数据库连接部分是各个模块都需要的,因此在公用模块中进行数据库的连接设计。在系统的App头文件中定义一个数据库连接对象,代码如下: _ConnectionPtr m_pConnection; 在系统App文
欢迎进入C/C++编程社区论坛,与300万技术人员互动交流 >>进入
在整个系统中,数据库连接部分是各个模块都需要的,因此在公用模块中进行数据库的连接设计。在系统的App头文件中定义一个数据库连接对象,代码如下:
_ConnectionPtr m_pConnection;
在系统App文件的初始化函数中连接数据库,代码如下:
BOOL CHotelManageSysApp::InitInstance()
{
AfxEnableControlContainer();
//初始化COM口
AfxOleInit();
//连接数据库
HRESULT hr;
try
{
//创建Connection对象
hr = m_pConnection.CreateInstance("ADODB.Connection");
//如果创建成功,则建立连接
if(SUCCEEDED(hr))
{
//设置超时时间为8秒
m_pConnection->ConnectionTimeout=8;
//设置游标
m_pConnection->PutCursorLocation(adUseClient);
//打开数据库HotelManageSys
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=HotelManageSys.mdb;","","",adModeUnknown);
}
}
//以下为自动生成的程序,由于篇幅所限,此处省略
-----------------------------
}
关闭程序时,自动断开已经连接上的数据库,代码如下:
int CHotelManageSysApp::ExitInstance()
{
//检测数据库状态,如果已经打开则关闭数据库
if(m_pConnection->State)
m_pConnection->Close();
//释放连接
m_pConnection.Release();
return CWinApp::ExitInstance();
}
可以看到,公用模块的设计包括数据库的连接、打开以及关闭。