欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-04-30 17:08:53
...

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

  }

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

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