首页 >> 偏方秘方

SQLServerMFCDAO类和MFC

偏方秘方  2020年06月09日  浏览:3 次

microsoft desktop database drivers 3.0 版(它包含列表中的最后六项)为这些数据源提供最佳性能。这些只限 32 位驱动程序。 rBNyL[Q

@#S%dO

Wn|pb B

将外部数据源(如 sql server)链接到 microsoft access 表是最有效的处理数据访问的方法。在将应用程序连接到远程数据源以前,必须先确保应用程序的用户可以访问远程数据,并且确保正确地设计您的应用程序,以解决远程数据源安全性难题。另外,您还必须确保应用程序能够正确地与区分大小写的数据源进行交流,并且确保正确地初始化可安装的 isam已经是三家卤肉卷店的老板了。五年前刚考上大学的他没有想过自己会过这样的生活,以用于您想访问的数据源。最后,您必须检查您的代码,以确保在访问非 jet 数据源时,代码没有使用 microsoft jet 数据源专用的对象或调用。 T06079u}

)Z6 .p8}Q

jX e8a g

设置链接最简捷的方法是:进入 microsoft access。如果用的是 microsoft access 2.0 版,则使用“文件”/“附加表”命令;如果用的是 microsoft access 95 和 microsoft access 97,则使用“文件”/“获取外部数据”/“链接表”命令。 yI3^fp

7?:jh-3^p

B?N UuX

连接信息存储在您所使用的基本表 (.mdb) 中。如果移动了外部数据的位置,就必须在 microsoft access 中或从代码中调用 cdaotabledef::refreshlink,重新建立链接。 !@Rpq4 o

WS9L`bn+J

1Q+O6R%V

dao 记录字段交换机制与在基于 odbc 的数据库类中的 rfx 有着相同的工作方式。记录集对象的字段数据成员如果联系在一起,就形成一个“缓冲区”,以保存一个记录的选定列。当记录集第一次打开并要读取第一条记录时,dfx 就会将每个选定列与适当字段数据成员的地址绑定(关联)在一起。当记录集更新一条记录时,dfx 调用 dao 以向数据库引擎发送适当的命令。dfx 利用它对字段数据成员所了解的内容,指定要写入的数据源中的列(字段)。 _e?$;vW

H_!_}eJ

ELJzfQ Anr

向导支持列的静态绑定。您可以添加自己的 dfx 调用,就象使用基于 odbc 的类时那样。首先,对于每个绑定字段和参数,都必须将成员添加到 cdaorecordset 派生的类中。接下来,cdaorecordset::dofieldexchange 应被替代。请注意,成员的数据类型很重要。它应与来自数据库字段中的数据匹配,或者至少可转换成那种类型。mfc technical #53 更详细地讲述了此过程。 =^$~u+U

"Y8WanG9c$

|EgF1Q,

cdaofieldexchange 类支持由 dao 数据库类使用的 dao 记录字段交换 (dfx) 例程。如果您正在编写自定义数据类型的数据交换例程,则使用该类。cdaofieldexchange 对象提供发生 dao 记录字段交换所需要的上下文信息。cdaofieldexchange 对象支持许多操作,包括绑定参数和字段数据成员,以及在当前记录的字段上设置各种标志。 H_'H(hBkxA

6-dN"

Q*CYeK.{!G

dao 数据库类中的动态绑定 'WmF}!a v

?0qf7B

*l!F5 54%

如果可以用基于 odbc 的类动态绑定列,对这种行为的支持就不会内置于 mfc 类中。动态绑定会内置在 dao 数据库类中,而且执行起来相当容易。 fW@-,5{

(J_jf1

@sVB6^zP

还可以做一些其它的事情以优化性能,如检索记录的一部分而不是整个记录。在本陈述的稍后部分中,我们将提供一些可以优化应用程序的方法。 %my wox

]"3tPS@W

L~g'^RY4

dfx 和动态绑定不是互相排斥的选择方案。通过 dao 数据库类,可以将静态和动态绑定调用混合,以实现最大效率完善的支付体系。 $Izafk $K

_U8@z9j

vj:$_

dao 数据库类中的双缓冲 q4)]y!j0

x v T

fca1Gk

在 mfc 的 cdaorecordset 类中,双缓冲是一种当记录集内的当前记录发生更改时简化检测的机制。当添加新记录和现有记录时,对您的 dao 记录集使用双缓冲会减少必需的工作量。默认情况下,您的 mfc dao 记录集保留缓冲区的第二份副本(记录集类的字段数据成员,全体复制;dao“帮助”中称相应的缓冲区为“复制缓冲区”)。当您对数据成员进行更改时,mfc 会拿它们与副本(“双缓冲区”)进行比较以检测更改。 XACXc

Tc5@BuCs

a ! I_R

双缓冲的代用方法 - 不保留数据的副本 - 当当前记录的字段时,要求您进行其它函数调用。 VPqz'e

' +}\k$/

'^xa (c

双缓冲一直是基于 odbc 的数据库类的一部分。对于 dao 数据库类,如果需要,您可以停用该机制以提高效率。 F\$ Q .U

X`YlWHP'

ocQ#~T'

该机制的主开关名为 m_bcheckcachefordirtyfields,dirty 意思是“已更改”。如果将此开关置于 on(开),就可以对全部或部分字段启用双缓冲。如果该主开关是 off(关),就会禁用整个双缓冲机制。 FdHjzg;

Y"9S`cCA

;V,N8m }@v

您最想关闭其双缓冲的字段包括备注字段、图片字段,以及其它 blob(大型二进制对象)。 VU,P8]D(7E

/E zAD:P

deq1p^-_2

dao sdk 中含有一些 c++ 数据库类,这些类彼此独立,而且不同于 mfc dao 数据库类。这些 c++ 类将单个对象封装到 dao 层次结构中。虽然您可以将 dao sdk c++ 类与 mfc dao 数据库类混合,但 dao sdk c++ 类不遵循操作符超载的 mfc 准则,并且在混合使用这些类时您必须当心。有关的详细信息,请参阅 microsoft systems journal(1999 年 6 月)中的文章“the dao of databases:using data access objects and the jet engine in c++”。

南平什么医院治疗白癜风
安全性比较高的鼻喷剂有哪些
安庆什么医院治疗白癜风
友情链接