加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

MFC应用程序和Access数据库采用ODBC连接方式

(2012-07-15 16:22:11)
标签:

mfc

odbc

access数据库

单文档

校园

分类: C/Cplusplus
    此博文主要目的是显示一下MFC应用程序是怎么和Access数据库进行连接的。详细流程如下:

   1在建立工程之前,需要先建立数据库。这个简单:在放置数据库的文件下点击鼠标右键,选择“新建”

>Microsoft Access 数据库”,如果没有的话,说明你的计算机没有安装此软件,下载安装一个即可。这里需要注意一下:数据库的后缀名为.mdb,如Data.mdb。我用的是2010版的,其后缀名是.accdb,必须将其改为.mdb(不改也行,只是在选择ODBC驱动器的时候要注意一下)。数据库建好后,打开数据库,在里面建立一个新的表,如info;打开表,直接在里面插入各个字段,亦可以插入一些数据,方便以后调试程序的时候用。在表上点击鼠标右键,选择“设计视图”,在这里可以设计各个字段的性质,如默认值、类型、关键字等。

   2、建立数据源。数据源是给程序用的,只有建立数据源,才能将程序和数据库真正的连接起来。用户要想使用自己建立的数据库,必须得自己建立数据源。具体流程如下:

       1)点击“开始”—>“控制面板”—>“管理工具”,显示如下画面:

http://s14/middle/867764f7hc4da28e2b35d&690

2找到“数据源(ODBC)”,打开后如下;点击右边的“添加”

http://s16/middle/867764f7hc4da2b739bef&690

3)找到“Microsoft Access Driver*.mdb)”,点击“完成”(如果你建立的数据库是.accdb格式的,那么此时的驱动器应选择“Microsoft Access Driver*.mdb*.accdb)”),如下:

http://s10/middle/867764f7hc4da2d31abc9&690

4)添加“数据源名”,这里的“数据源名”就是马上要建立的数据源的名称,一般和数据库的名字是一样的;“说明”可写可不写:

http://s11/middle/867764f7hc4da2f6a3a0a&690

如果要设置密码和用户名,点击“高级”,出现如下:

http://s13/middle/867764f7hc4da316941cc&690

5)点击“选择”,选择刚才建好的数据库,如下:

http://s3/middle/867764f7hc4da350c2572&690

      (6)一直点“确定”,此时会看见“用户数据源”中出现了刚才建立好的数据源Data,如下:

http://s11/middle/867764f7h7a15d23b6d7a&690

7)点击“确定”后,就完成了数据源的添加。


         3、前面的准备工作都做好了,下面就开始建立工程了。

1)新建MFC AppWizard[exe] 工程,工程名为Wage;如果你想改变此工程的路径,在Location中选择即可;点击“OK”:

http://s8/middle/867764f7hc4da39ef3177&690

2)选择“Single document”单文档,其他默认即可;点击“Next

http://s13/middle/867764f7hc4da3b38f86c&690

3)选择“Database view without filesupport”,然后点击“Data sourse”,进行数据源的选择;

http://s7/middle/867764f7hc4da3c6ac956&690

4)采用ODBC的数据连接方式,选择事先建立好的数据源Data;需要注意一下的是:记录集的类型(Recordset type)有两种:

第一种,动态集(Dynaset):此类型包含了索引视图的查询结果集,只能保存被索引的原始数据,能反映原始记录(即数据库)的更新;

第二种,快照集(Snapshot):此类型是某一时刻数据库的一个视图和结果集,查询结果集中的所有记录都缓存在本地,不能看到原始记录的更新,换言之,此类型为静态的,瞬间的结果,不能像动态集那样反映数据库的更新。

         所以,要想数据库动态地更新,最好还是选择“Dynaset”。

http://s10/middle/867764f7hc4da3d8c3859&690

5)选择数据库中的表info,点击“OK

http://s2/middle/867764f7hc4da3e4c0101&690

     这时会显示数据库中的表已被选中,如下:

http://s3/middle/867764f7h7a15d31fed52&690

6)点击“Finish”,完成工程的建立。

至此,和Access数据库建立连接的MFC程序应经建好,剩下的就是怎样在程序中操作数据库了(这一要点留在下一篇博文中)。在此,需要注意几点:(1)在创建应用程序时,不要创建基于对话窗框的应用程序,因为此种类型的程序没有现成的和数据库连接的方式,而基于单文档的程序有直接的连接方式,即在创建工程的过程中就可建立连接。
(2)也正是因为(1)中的这种连接方式,导致在工程建立以后再想换个数据库或其中的表是不太可能的。
(3)如果你在工程中选择的记录集类型是“Snapshot”,而之后又想改为“Dynaset”,那么没必要重新建立一次工程,只需要在程序中改变即可。具体方法是:在建好的工程中有一个名字为CXXXSet的类,在其构造函数中有这么一句:m_nDefaultType = snapshot; 只需将这里的snapshot改为dynaset即可。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有