VS2015在MFC中使用ADO方法连接Access2013数据库

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hu2703411/article/details/49516879
  • 十月份导师的项目启动,自己的任务是移植一套师兄已经用VC++6.0做了百分之七八十的测量系统。正所谓万事开头难,加上只有C语言基础,简直是束手无策。幸而有师兄的指导,但毕竟师兄只是说个大概的方法,不可能手把手教我,所有的操作环节都需要自己来。

  • 言归正传,第一个面临的难题就是建一个基于对话框的MFC工程连接到之前已经做好的数据库。首先创建一个基于对话框的MFC应用程序ADO_Access.sln.然后在stdafx.h头文件末尾添加(网上有说在某个#include后面的添加的,也有说在合适位置添加的,我这里直接添加在最末尾)

#import "C:\Program Files\Common Files\System\ado\msado15.dll"
    no_namespace rename("EOF", "adoEOF")
  • 添加完成后#import下面会出现红色波浪线提示错误, 然后最好是执行一次生成解决方案,会提示生成成功,但是红色波浪线依然在,之前自己被它困扰好久,网上有说不用理会的,之前没理会也确实后来就莫名其妙的不见了,现在我知道了,当生成成功后左下角仍然提示正在分析····文件,等待分析完了红色波浪线也就消失了。

  • 第二步,在ADO_AccessDlh.h
    类里的public下添加
    _ConnectionPtr m_pConnection;//连接access数据库的链接对象
    _RecordsetPtr m_pRecordset;//结果集对象

  • 第三步,初始化数据库连接。 在ADO_AccessDlh类的OnInitDialog()初始化成员函数里添加如下代码:
    // TODO: 在此添加额外的初始化代码
    try
    {
        CoInitialize(NULL);
        m_pConnection = _ConnectionPtr(__uuidof(Connection));
        m_pConnection->ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;\
Data Source=G:\\hospital.accdb;";//这里照着老版的书上写Provider=Microsoft.Jet.OLEDB.4.0;Data
    //Source= MyAccess.mdb是不对的,这样写只适合2007版以前的access,且路径里面的\必须改成\\
        m_pConnection->Open("", "", "", adConnectUnspecified);
    }
    catch (_com_error e)
    {
        AfxMessageBox(_T("数据库连接失败!"));
        return FALSE;
    }
  • 大功告成、关于数据库的增删改查留着以后续写。
阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页