科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道SQL Server MFC DAO 类和 MFC ODBC 类(7)

SQL Server MFC DAO 类和 MFC ODBC 类(7)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

自 mfc 数据访问对象 (dao) 数据库类在 1995 年 10 月发布以来,mfc 数据库开发人员就已开始考虑该使用哪个类集。

作者:赛迪网技术社区 来源:赛迪网技术社区 2007年9月1日

关键字: 数据库 SQL Server SQL Server 各版本

  • 评论
  • 分享微博
  • 分享邮件
odbc 数据库类的数据源选择 LN5l=cee@  
8zm 7  
d9j$Qb  
当您用 mfc odbc 类编写应用程序时,可以连接到任何数据源(只要您有它的 odbc 驱动程序)。odbc 驱动程序管理器和 odbc 驱动程序的操作在您用这些类编写的应用程序中是透明的,但个别驱动程序性能会影响应用程序的功能。 ?&vogn\3  
}baGMyJ8sR  
 le/42  
通常,mfc 动态集(但并非只向前滚动的记录集)要求 odbc 驱动程序具有 2 级 api 一致性。如果数据源的驱动程序符合 1 级 api 设置,您就仍可以使用可更新且只读的快照与只向前滚动的记录集,但不能使用动态集。然而,如果 1 级驱动程序支持扩展的提取和键集驱动游标,它就可以支持动态集。 Vitm&qM  
QhJyiHYZ  
yMwR  
odbc desktop driver pack 3.0 版支持 2 级 odbc api 调用 sqlextendedfetch。 k I[]388~  
_{9}5$J  
3MDa)>~?  
appwizard 和 classwizard 会自动将数据源的列静态地绑定到您应用程序的成员变量中。这是在您应用程序与数据源之间建立连接的最简单的方法,但不是最灵活的方法。可以用类 cfieldexchange 将自定义的记录字段交换 (rfx) 调用添加到您的应用程序中。请参见“technical note 43:rfx routines”,以获取更多信息。 9\wKX>[o  
F<=p5ie  
s"pS1n;o0  
另外,还可以考虑动态地绑定数据库的列。在最普通的级别中可执行下列步骤: #tuH?8;=  
Cb3!w{h  
2 0]Dm9O  
构造您的主要记录集对象。然后,可以将指针传递给一个打开的 cdatabase 对象,或者也可以用其它方法向列记录集提供连接信息。 {M9Z($#  
k 0 4`n:  
执行一些步骤,动态地添加列。 kd<EO8]  
28PyFcrQ&:  
打开您的主要记录集。   P`Ux==q+  
&`=+\'_  
1 |{bHI/w  
K{(W49N^r  
记录集会选择记录,并使用记录字段交换 (rfx) 绑定“静态”列(映射到记录集字段数据成员的列)和动态列(映射到您分配的额外存储的列)。 e>nh? C  
P!qhq[0,o5  
FY\[+VA&  
dao 数据库类的数据源选项 F +z_rR  
/3w A=Wdu  
MpmE<F#  
现在我们要谈的是您可以用 dao 数据库类连接的数据源、列的静态绑定、列的动态绑定,以及记录的双缓冲。 nvO)\*  
5wG  
_cvx_m;S  
既然 microsoft access 数据库是 jet 的本机数据库,您自然就可以以最快速度访问它们。microsoft access 97 具有的数据库格式是 dao 3.5 版的本机数据库格式。如果使用 microsoft access 97 数据库,将获得最为快速的性能。 ;uvJ TM7  
rj'l  
?G>k^p 5p  
jet 使用单独的 dll 提供对 microsoft jet 1.x 和 2.0 版数据库的访问权限。存储引擎和格式完全是用 microsoft jet 3.0 版修订的。假如更改之处很多,microsoft jet 3.0 版就会将 2.0 版数据库视为外部 isam,这会影响性能。因此,这也是促使您应该考虑将 microsoft access 数据库升级的合理原因。 nX0^D2k\  
b,@[AGwa%e  
E; Kz*H  
gWq&;n;\  
另外,您还可以访问可安装的 isam 数据库和 odbc 数据源。isam(基于索引的连续访问方法)数据库,如 foxpro 和 dbase,可以直接打开,也可以链接到 access 数据库以实现最佳性能。下面是 dao 可以访问的数据源的列表:  IV6p  
]goqm4  
1#J~ PC  
tDLO0JFlc  
=ot"8E qK  
microsoft foxpro 的 2.0、2.5 和 2.6 版。在 3.0 版中可以导入与导出数据,但不能创建对象。 yI l*yN  
d ZaIoR<  
dbase iii、dbase iv 和 dbase 5.0 g,umoGJ  
:_"Evv?  
paradox 的 3.x、4.x 和 5.x 版 MIo$g Gz  
7EKRVg>  
btrieve 的 5.1x 和 6.0 版 JICmM  
Wr&mCZ"{  
microsoft excel 的 3.0、4.0、5.0、7.0 和 8.0 版工作表 vm_!# o  
}biV`%CO  
lotus wks、wk1、wk3、wk4 电子表格 s@M.njz17m  
)M~|4m  
文本文件   N&uK_MG  
l\"i$5Mf  
LImz?X!1  
2G }]whK  
请记住,microsoft access 的 1.x、2.0 和 7.0 版数据库都属于此类别。 Wa! E5e  
fV7&HK[  
|-?vuS*H  
可以通过 odbc 访问 odbc 数据源,如 sql server 和 oracle,因此您可以选择针对这些数据源使用 dao。一个 odbc 数据源可以来自任何 dbms,只要您拥有该 dbms 的适当的 odbc 驱动程序。对于 visual c++ 2.0 版或更高版本,您需要 32 位的 odbc 驱动程序(但 win32 除外,在 win32 中需要 16 位的 odbc 驱动程序)。下面是此版本 visual c++ 所包含的 odbc 驱动程序列表。 L&nz|J$8  
PEGtiP(}D  
b,5Y:P.hvn  
Lc| C|'9,  
_cYyDc:dn  
sql server P KuRoY  
`lMKbX-  
microsoft access ow 3UH@%  
q i'1?I`  
microsoft foxpro `P9G&q>:  
rK7vON>A  
microsoft excel >~(&o)  
2cQrMtBE  
dbase G|w;s#[  
$9^/`E  
paradox ,GY@ S@8  
XNe\NKjC  
文本文件   n2U9`[_)  
i:kH)<f-z  
"^*$V ? /  
J*V"6u>
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章