用ADO封装类的数据库程序开发实例(2)

2007-12-06  来源:   浏览次数 5
      接下来让我们在此基础上进行具体的编程。
  
  五、开始编写ADO应用程序.
  
  使用ADO之前,我们另外还需要添加下面的语句,如此把ADO的库引入到工程中. #import "c:\program files\common files\system\ado\msado15.dll"
  no_namespace rename("EOF","adoEOF")
  根据机器安装时候的设置不同具体的路径可能不一样。
  另外编译的时候会出现如下的警告信息:
  msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
  MSDN建议我们不要理会。如果你实在不想看到的话可以在stdafx.h中加入一行下面的代码:
  #pragma warning(disable:4146)
  这样这个警告信息就不会再出现了。
  
  ADO使用了COM,所以在使用ADO之前,必须对COM进行了初始化,否则无法使用.你可以使用AfxOleInit()来初始化,但只能初始一次,你不能多次调用此函数,建议你在应用程序的APP类的InitInstance方法中进行初始化.
  上面这些一般相关的资料都有详细说明,因此我就不细说了,下面我们来看看如何我封装的两个类。
  
  六、ADO封装类:CAdoConnection 和 CAdoRecordSet
  
  首先当然是要连接到数据源了,连接到数据源的函数是_CAdoConnection的Connect方法,它封装了ADO连接对象的CreateInstance和Open方法:
  我们来看看我是如何封装的:
  
  BOOL CAdoConnection::Connect(LPCTSTR strConnect, long lOptions)
  {
  m_strConnect = strConnect;
  try
  {
  ///创建 Connection 对象---------------------------
  HRESULThr = m_pConnection.CreateInstance("ADODB.Connection");
  if (SUCCEEDED(hr))
  {
  // 连接数据库---------------------------------------------
  if (SUCCEEDED(m_pConnection->Open(strConnect, "", "", lOptions)))
  {
  return TRUE;
  }
  }
  }
  catch (_com_error e)
  {
  TRACE(_T(":( 连接数据库发生错误: %s\n"), e.ErrorMessage());
  return FALSE;
  }
  catch (...)
  {
  TRACE(_T(":( 连接数据库时发生未知错误:"));
  }
  return FALSE;
  }
  
  使用之前先定义一个CAdoConnection 类对象如m_adoConnection,例如:CString strSrcName = "E:\\Access\\datebase.mdb";//假设在e盘有这样一个access的数据库文件
  CString strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strSrcName;
  m_adoConnection.Connect(LPCSTR(strConnect));
  
  这样就连接到数据源了.
  接着就是要打开记录集了,下面我对它的open方法的封装:使用进你可以忽略后面的三个参数,直接把一个SQL语句传给它.
  
  
  HRESULT CAdoRecordSet::Open(LPCTSTR strSQL,

本新闻共4页,当前在第1页  1  2  3  4  

上一篇:用ADO封装类的数..    下一篇: ADO开发实践

相关主题:

网友评论