QQ登录

只需一步,快速开始

上位机MFC如何使用ADO打开与关闭数据库连接

[ 复制链接 ]
在使用ADO前我们应该初始化COM库
  1. if (!SUCCEEDED(CoInitialize(NULL)))
  2.         {
  3.                 ::AfxMessageBox(_T("Failed to initialize COM!"));
  4.                 return FALSE;
  5.         }
复制代码
然后引入ADO动态库。
  1. #import "c:\program files\common files\system\ado\msado15.dll"\
  2.                 no_namespace\
  3.                 rename("EOF", "adoEOF")
复制代码
然后才是定义智能指针,初始化它,再进行数据库的打开与关闭
  1. _ConnectionPtr m_pConnection;
复制代码

  1. if (!SUCCEEDED(m_pConnection.CreateInstance(__uuidof(Connection))))
  2.         {
  3.                 m_pConnection = NULL;
  4.                 TRACE(_T("Database CreateInstance failed"));
  5.         }
复制代码
调用下面按钮点击函数来打开 与关闭数据库。
  1. void CGkbc8Dlg::OnButton1()
  2. {
  3.         if (m_pConnection->State & adStateOpen)
  4.         {
  5.                 AfxMessageBox(_T("数据库已经打开。"));
  6.                 return;
  7.         }
  8.        
  9.         CString strConnect = _T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= Demo.mdb");
  10.         if (OpenDatabase(strConnect))
  11.         {
  12.                 AfxMessageBox(_T("数据库打开成功。"));
  13.         }
  14.         else
  15.         {
  16.                 AfxMessageBox(_T("数据库打开失败。"));
  17.         }
  18. }
复制代码
  1. BOOL CDemoDlg::CloseDatabase()
  2. {
  3.         ASSERT(m_pConnection != NULL);

  4.         //关闭数据库连接
  5.         try
  6.         {
  7.                 if (m_pConnection->State & adStateOpen)
  8.                 {
  9.                         return SUCCEEDED(m_pConnection->Close());
  10.                 }
  11.                 else
  12.                 {
  13.                         return TRUE;
  14.                 }
  15.         }
  16.         catch (_com_error& e)
  17.         {
  18.                 TRACE(_T("%s\n"), e.ErrorMessage());
  19.                 return FALSE;
  20.         }
  21. }
复制代码
上面两具按钮调用的两个函数为

  1. void CDemoDlg::OnOpen()
  2. {
  3.         if (m_pConnection->State & adStateOpen)
  4.         {
  5.                 AfxMessageBox(_T("数据库已经打开。"));
  6.                 return;
  7.         }
  8.        
  9.         CString strConnect = _T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= Demo.mdb");
  10.         if (OpenDatabase(strConnect))
  11.         {
  12.                 AfxMessageBox(_T("数据库打开成功。"));
  13.         }
  14.         else
  15.         {
  16.                 AfxMessageBox(_T("数据库打开失败。"));
  17.         }
  18. }

  19. void CDemoDlg::OnClose()
  20. {
  21.         if (!(m_pConnection->State & adStateOpen))
  22.         {
  23.                 AfxMessageBox(_T("数据库未打开。"));
  24.                 return;
  25.         }

  26.         if (CloseDatabase())
  27.         {
  28.                 AfxMessageBox(_T("数据库关闭成功。"));
  29.         }
  30.         else
  31.         {
  32.                 AfxMessageBox(_T("数据库关闭失败。"));
  33.         }
  34. }
复制代码
注意,例程打开的是根目录的一个数据库文件:Demo.mdb

上位机MFC如何使用ADO打开与关闭数据库连接

上位机MFC如何使用ADO打开与关闭数据库连接

请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:上位机MFC如何使用ADO打开与关闭数据库连接.rar 
文件大小:178.86 KB  售价:1金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


  

上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例

  

经历1年的编程与录制点击进入查看


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索