导读:在整个系统中,数据库连接部分是各个模块都需要的,因此在公用模块中进行数据库的连接设计。要了解更多优质资料进入C++历年真题,模拟题,辅导等!在系统的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();
}
可以看到,公用模块的设计包括数据库的连接、打开以及关闭。
编辑特别推荐:
C++kmp算法模板代码解读
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。