MFC中使用ADO访问数据库

来源:互联网 发布:软件制作网站 编辑:程序博客网 时间:2024/05/01 20:48

目前,我所掌握的VC程序访问数据库有两种方法,一种是用ODBC,一种是ADO

ODBC访问数据库主要是通过MFC中的两个类,一个是CDatabase,一个是CRecordSet。这种访问方式需要设置数据源,我始终觉得不灵活,所以我比较喜欢使用ADO

ADO有三个智能指针:_ConnectionPtr_CommandPtr_RecordsetPtr

在使用ADO之前,必须加载ADO,加载的方法是,在StdAfx.h文件中加入:

#import "c:/program files/common files/system/ado/msado15.dll" /

   no_namespace /

   rename("EOF","adoEOF")

再在适当的地方添加初始化函数:AfxOleInit()此函数在MFC中使用,在非MFC中使用另外两个函数:

CoInitialize(NULL);

CoUnInitialize();

初始化工作完成以后就可以连接数据库。代码如下:

  m_pConnection.CreateInstance(_uuidof(Connection));

  try

  {    

m_pConnection->Open("

Provider=Microsoft.Jet.OLEDB.4.0;

Data Source=ado.mdb","","",adModeUnknown);

  }

  catch(_com_error e)

  {

     AfxMessageBox("no");

  }

之后就可以操作数据库了。以前出错的原因找到了,是因为没有创建实例,也就是没有CreateInstance

 
原创粉丝点击