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

标签:
mfcodbcaccess数据库单文档校园 |
分类: C/Cplusplus |
—>“Microsoft Access 数据库”,如果没有的话,说明你的计算机没有安装此软件,下载安装一个即可。这里需要注意一下:数据库的后缀名为.mdb,如Data.mdb。我用的是2010版的,其后缀名是.accdb,必须将其改为.mdb(不改也行,只是在选择ODBC驱动器的时候要注意一下)。数据库建好后,打开数据库,在里面建立一个新的表,如info;打开表,直接在里面插入各个字段,亦可以插入一些数据,方便以后调试程序的时候用。在表上点击鼠标右键,选择“设计视图”,在这里可以设计各个字段的性质,如默认值、类型、关键字等。
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
http://s11/middle/867764f7h7a15d23b6d7a&690
(7)点击“确定”后,就完成了数据源的添加。
(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):此类型是某一时刻数据库的一个视图和结果集,查询结果集中的所有记录都缓存在本地,不能看到原始记录的更新,换言之,此类型为静态的,瞬间的结果,不能像动态集那样反映数据库的更新。
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即可。