您的当前位置:首页正文

VC++数据库通用模块:公用模块设计

2020-11-09 来源:个人技术集锦

欢迎进入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();

  }

  可以看到,公用模块的设计包括数据库的连接、打开以及关闭。

显示全文