MFC和ACCESS数据库的连接(C_Answers团队开发学生信息管理系统所用)

原创 2012年03月28日 15:30:21

1.通常在应用类(APP类)中进行数据库的连接。(不在dialog类中,,因为要在出现对话框前已经建立好数据库的连接)


第一步:数据库操作准备

1)导入ADO动态链接库。。在stdafx.h中。

在工程的stdafx.h中加入如下语句:

#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

这一句有何作用呢?其最终作用同我们熟悉的#include类似,编译的时候系统会我们声称msado15.tlh和msado15.tl两个C++头文件来定义ADO库。即加载ADO动态连接库。


其中no_namespace表明不使用命名空间,rename("EOF","adoEOF")表明把ADO中用到的EOF改为adoEOF,防止命名冲突。

注意:改代码需要在一行中完成,如果写成两行或者多行,末行要加上"\"符号,表示把这几行看成一行。


2)初始化OLE/COM环境,在应用类(app)的lnitlnstance成员函数中。

方法:在应用类的lnitlnstance成员函数中,添加AfxOlenit函数(在退出应用时,该函数也将负责COM资源的释放)

BOOL CMy13App::InitInstance()
{
    AfxEnableControlContainer();//添加的初始化OLE/COM环境代码

if(!AfxOleInit()){
        AfxMessageBox("初始化OLE DLL失败!");
        return FALSE;
    }


第二步:连接数据库

1)先在APP头文件中声明一个connection指针。

方法为:双击APP类----即进入头文件,,在头文件中声明成员变量。或者右键鼠标---添加成员变量。。


如下

class CMy13App : public CWinApp
{
public:
    _ConnectionPtr m_pcon2;
    CMy13App();
_ConnectionPtr m_pcon;//声明一个连接指针


2)在lnitlnstance中创建Connection对象(实例化)

打开lnitlnstance函数

BOOL CMy13App::InitInstance()
{
    AfxEnableControlContainer();//第一步时自己写的用于初始化OLE/COM的代码
    m_pcon.CreateInstance(_uuidof(Connection ));//创建Connection对象---自己写的

3)设置连接字符串,,以便制定需要的连接

BOOL CMy13App::InitInstance()
{
    AfxEnableControlContainer();//初始化OLE/COM
    m_pcon.CreateInstance(_uuidof(Connection ));                     //创建Connection对象
    try//负责抛出
    {
        CString SQL="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=SIMS.accdb;Jet OLEDB:Database Password=606";;//设置连接字符串
        m_pcon->Open((_bstr_t)SQL,"","",adModeUnknown)          //使用m_pcon的open方法实现对数据库的连接。
    }
    catch (_com_error e)//捕获异常
    {
        AfxMessageBox("数据库连接失败!");
        return FALSE;
    }


在ADO操作中建议使用try....Catch(_com_error e)来捕捉错误信息。

MFC笔记 MFC与Access连接的实现

第一步,要连接数据库,首先要有数据源。这里我们选择的数据源是Access mdb文件。数据库名为DataBase,然后新建employees表,表的字段设计如下图: 第二步,我们要使用M...
  • sky_person
  • sky_person
  • 2014年02月08日 23:43
  • 2351

MFC_如何连接Access数据库_读取出的数据显示在树上

第一部分:如何建立连接 1. stdafx.h中添加: #import "c:\Program Files\\Common Files\\System\\ado\\msado15.dll" re_...
  • mummily
  • mummily
  • 2013年03月24日 09:05
  • 424

东软mfc总结项目i-【学生信息管理系统】

// DialogAdd.cpp : implementation file // #include "stdafx.h" #include "InformationProject.h" #incl...
  • a191030148
  • a191030148
  • 2013年07月19日 12:52
  • 3515

MFC编写个简单学生管理信息程序

(1)、设计一个学生类Student,包括数据成员:姓名、学号、二门课程(面向对象程序设计、高等数学)的成绩。 (2)、创建一个管理学生的类Management,包括实现学生的数据的增加、删除、修改、...
  • Pespi_Co1a
  • Pespi_Co1a
  • 2017年01月17日 10:20
  • 771

MFC对话框——学生信息管理

工具:VC++6.0 步骤1、创建一个基于MFC的对话框程序,命名为StuManage。 步骤2、向对话框中添加3个静态文本控件、1个编辑框控件、两个单选按钮控件、3个复选框控件、3个按钮...
  • hushiwei1993
  • hushiwei1993
  • 2015年03月30日 21:54
  • 1355

eclipse 连接 access 数据库

几年前做过一个 Java 小项目,其中连的是 access 数据库,今天再拿出来运行遇到些许障碍,所以写此文简述一下过程,以便日后查询。 首先,要安装 eclipse 和 jdk,access 是微...
  • Cherry4115
  • Cherry4115
  • 2016年01月18日 19:03
  • 2357

C++项目(1):学生信息管理系统(简单教学版)

我的第一个C++项目。粗糙的学生信息管理系统。用TXT文件来做数据持久化。
  • qcyfred
  • qcyfred
  • 2017年01月14日 18:45
  • 2305

学生信息管理系统+mysql数据库的链接

这个项目需要拥有java基础部分的知识(即javaSE部分)和mysql数据库(JDBC 也就是增删改查的意思) 以及用eclipse编译工具来链接mysql数据库等操作! 下面具体的讲解一...
  • qq_32575047
  • qq_32575047
  • 2017年01月15日 14:51
  • 2059

在VS2010下MFC采用ADO方式连接ACCESS数据库(详细过程)

第一步:首先建立基于对话框的MFC应用程序Library,然后添加一个用户登录界面如图: 并建立此对话框的类LoginDlg ,在类中新建两个变量CString m_strName; ...
  • u012816020
  • u012816020
  • 2015年06月20日 16:33
  • 1912

java+SQL server2008 学生信息管理系统

1、StudetManage类(主界面) package com.sms3; import java.awt.*; import javax.swing.*; import java.awt....
  • xsc_c
  • xsc_c
  • 2013年10月09日 22:29
  • 9442
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MFC和ACCESS数据库的连接(C_Answers团队开发学生信息管理系统所用)
举报原因:
原因补充:

(最多只允许输入30个字)