理解 Visual C++ Extensions for ADOC言语教程-C / C++-优质IT资源分享社区

admin
管理员
管理员
  • UID1
  • 粉丝29
  • 关注4
  • 发帖数581
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:205回复:0

  理解 Visual C++ Extensions for ADOC言语教程

楼主#
更多 发布于:2016-06-02 20:20

当咱们运用Visual

C++进行ADO编程时,一项较为头疼的作业即是对VARIANT字段类型的处理。通常做法是,先把VARIANT类型变换为形式上较为相似的C++类型,然后再把变换后的数据存放在一个类(class)或构造(structure)中。即便如此,对VARIANT数据类型的处理在必定程度上也影响到了程序的功能。

ADO为咱们供给了一个接口,该接口使咱们能够把数据直接读取到本地,然后绕开关于杂乱的VARIANT数据类型的处理。一起,ADO还界说了一组预处理宏,用来简化接口的运用。用好这一东西,将会使咱们的编程作业将变得轻松和高效。

通常状况下,咱们从ADO取得Recordset数据集,然后界说一个C/C++构造类型,再把Recordset中的记载绑定到构造成员变量中。当遇到VARIANT类型时,状况变得杂乱,你有必要处理怎么把VARIANT数据类型(数据库)变换到C/C++数据类型(本地)的疑问。Visual

C++ Extensions for ADO(为叙说方便,以下简称ADOExt)的方针即是使这一切变得简略。

IADORecordBinding 接口简介

ADOExt

把RecordSet记载会集的字段绑定到C/C++变量中。一旦该Recordset当前行的数据发作改动,数据将被当即拷贝到绑定的C/C++变量中。根据需要,数据将被变换到指定的C/C++数据类型。

IADORecordBinding 接口的 BindToRecordset

成员办法用来完结数据库字段到本地C/C++变量之间的绑定。假如要为Recordset新增一条记载,能够运用AddNew办法。Update办法则用来把绑定的C/C++变量数据更新和升级到数据库中。

IADORecordBinding

接口的完结不必咱们操心,Recordset目标悄悄的在暗地完结这一切。

绑定单元(Binding Entries)简介

ADOExt

把Recordset目标的字段类型映射到本地的C/C++变量中,咱们把这种从一个数据库字段映射到一个C/C++变量之间的进程界说称为一个绑定单元(Binding

Entries)。绑定由宏来完结,能够绑定的类型包括数值型、定长、以及可变长度的数据。绑定的根本流程是:界说派生自CADORecordBinding(CADORecordBinding

类自身本来也是一组宏界说)的类,在类中运用特定的宏来完结数据绑定。然后,在类中声明相应的C/C++变量。

ADO 在内部把宏界说中的参数映射到一个OLE DB

DBBINDING类型的构造中,而且创立一个OLE DB 存取目标用来办理字段和变量之间的数据移动和格式变换。OLE DB

的数据界说包括三个有些:一个用来贮存数据的缓冲区;一个用来标明数据存取状况,以及变量怎么提取的状况位;以及数据的长度。

头文件包括

要运用 Visual C++ 的ADOExt, 你需要在应用程序中包括下列头文件:

#include

绑定Recordset 字段的进程

■创立一个派生自CADORecordsetBinding的类。

■在派生类中设定绑定单元并界说相应的C/C++变量。这些绑定单元被界定在

BEGIN_ADO_BINDING 和 END_ADO_BINDING 之间。不要想当然的在宏界说间放置逗号或许分号,这些作业会由宏在内部自动完结。

■为每一个要映射为C/C++变量的数据库字段指定一个绑定单元。根据需要从ADO_FIXED_LENGTH_ENTRY,

ADO_NUMERIC_ENTRY, 或许 ADO_VARIABLE_LENGTH_ENTRY 这三个宏界说中挑选一个,并填写上准确的参数。

■在你的引证程序中,创立一个该类的实例。从 Recordset 中获取

IADORecordBinding 接口。然后调用BindToRecordset办法完结数据绑定。

接口办法界说

IADORecordBinding 接口有三个办法:BindToRecordset, AddNew,

以及 Update。这些办法有且只要一个指针类型的参数,该参数指向一个派生自CADORecordBinding的类实例。事实上,AddNew 和 Updage

办法 将别离调用 ADO 中的同名办法。

语法:

BindToRecordset 办法完结 Recordset 字段到 C/C++

变量之间的绑定。

BindToRecordset(CADORecordBinding *binding)

AddNew 办法调用它的同名办法,ADO 中的 AddNew 办法,向 Recordset

中添加一条新的记载。

AddNew(CADORecordBinding *binding)

Update 办法调用它在ADO中的同名办法 Update,

完结对Recordset的数据更新。

Update(CADORecordBinding *binding)

优质IT资源分享社区为你提供此文。

本站有大量优质C、C++教程视频,资料等资源,包含C,C++基础教程,高级进阶教程等等,教程视频资源涵盖传智播客,极客学院,达内,北大青鸟,猎豹网校等等IT职业培训机构的培训教学视频,价值巨大。欢迎点击下方链接查看。

C、C++教程视频

优质IT资源分享社区(www.itziyuan.top)
一个免费,自由,开放,共享,平等,互助的优质IT资源分享网站。
专注免费分享各大IT培训机构最新培训教学视频,为你的IT学习助力!

!!!回帖受限制请看点击这里!!!
!!!资源失效请在此版块发帖说明!!!

[PS:按 CTRL+D收藏本站网址~]

——“优质IT资源分享社区”管理员专用签名~

本版相似帖子

游客