在VC++中使用ADOWord文件下载.docx

上传人:b****5 文档编号:15760825 上传时间:2022-11-15 格式:DOCX 页数:18 大小:34.89KB
下载 相关 举报
在VC++中使用ADOWord文件下载.docx_第1页
第1页 / 共18页
在VC++中使用ADOWord文件下载.docx_第2页
第2页 / 共18页
在VC++中使用ADOWord文件下载.docx_第3页
第3页 / 共18页
在VC++中使用ADOWord文件下载.docx_第4页
第4页 / 共18页
在VC++中使用ADOWord文件下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

在VC++中使用ADOWord文件下载.docx

《在VC++中使用ADOWord文件下载.docx》由会员分享,可在线阅读,更多相关《在VC++中使用ADOWord文件下载.docx(18页珍藏版)》请在冰豆网上搜索。

在VC++中使用ADOWord文件下载.docx

(3)执行所需的查询;

(4)把数据检索到一个能够在C++代码中很容易访问的对象中;

(5)提供检测错误的一般方法。

2.ADO对象的详细介绍

如下表:

对象

说明

Command

对象查询数据库并返回RecordSet对象中的记录,以便执行大量操作或处理数据库结构

Connection

打开的与数据源的连接

Error

任何涉及ADO对象的操作都会生成一个或多个提供者错误。

每个错误出现时,一个或多个Error对象将被放到Connection对象的Errors集合中。

Field

含有由Field对象组成的Fields集合。

每个Field对象对应于Recordset中的一列。

使用Field对象的Value属性可设置或返回当前记录的数据。

Parameter

代表与基于参数化查询或存储过程的Command对象相关联的参数或自变量

Property

对象代表由提供者定义的ADO对象的动态特征

RecordSet

表示的是来自基本表或命令执行结果的记录全集。

任何时候,Recordset对象所指的当前记录均为集合内的单个记录

2.1.Command对象

使用Command对象查询数据库并返回Recordset对象中的记录,以便执行大量操作或处理数据库结构。

可以使用Command对象的集合、方法、属性进行下列操作:

∙使用CommandText属性定义命令(例如,SQL语句)的可执行文本。

∙通过Parameter对象和Parameters集合定义参数化查询或存储过程参数。

∙可使用Execute方法执行命令并在适当的时候返回Recordset对象。

∙执行前应使用CommandType属性指定命令类型以优化性能。

∙使用Prepared属性决定提供者是否在执行前保存准备好(或编译好)的命令版本。

∙使用CommandTimeout属性设置提供者等待命令执行的秒数。

∙通过设置ActiveConnection属性使打开的连接与Command对象关联。

∙设置Name属性将Command标识为与Connection对象关联的方法。

∙将Command对象传送给Recordset的Source属性以便获取数据。

注意 

 

如果不想使用Command对象执行查询,请将查询字符串传送给Connection对象的Execute方法或Recordset对象的Open方法。

但是,当需要使命令文本具有持久性并重新执行它,或使用查询参数时,则必须使用Command对象。

要执行Command,只需通过它所关联的Connection对象的Name属性,将其简单调用即可。

必须将Command的ActiveConnection属性设置为Connection对象。

如果Command带有参数,则将这些参数的值作为参数传送给方法。

如果在相同连接上执行两个或多个Command对象,并且某个Command对象是带输出参数的存储过程,这时会发生错误。

要执行各个Command对象,请使用独立的连接或将所有其他Command对象的连接断开。

2.2Connection对象

Connection对象代表与数据源进行的唯一会话。

如果是客户端/服务器数据库系统,该对象可以等价于到服务器的实际网络连接。

取决于提供者所支持的功能,Connection对象的某些集合、方法或属性有可能无效。

使用Connection对象的集合、方法、和属性可执行下列操作:

∙在打开连接前使用ConnectionString、ConnectionTimeout和Mode属性对连接进行配置。

∙设置CursorLocation属性以便调用支持批更新的“客户端游标提供者”。

∙使用DefaultDatabase属性设置连接的默认数据库。

∙使用IsolationLevel属性为在连接上打开的事务设置隔离级别。

∙使用Provider属性指定OLEDB提供者。

∙使用Open方法建立到数据源的物理连接。

使用Close方法将其断开。

∙使用Execute方法执行对连接的命令,并使用CommandTimeout属性对执行进行配置。

∙可使用BeginTrans、CommitTrans和RollbackTrans方法以及Attributes属性管理打开的连接上的事务(如果提供者支持则包括嵌套的事务)。

∙使用Errors集合检查数据源返回的错误。

∙通过Version属性读取使用中的ADO执行版本。

∙使用OpenSchema方法获取数据库模式信息。

如果不使用Command对象执行查询,请向Connection对象的Execute方法传送查询字符串。

但是,当需要使命令文本具有持久性并重新执行,或使用查询参数的时候,则必须使用Command对象。

可以创建独立于先前定义的其他任何对象的Connection对象。

可以象执行Connection对象的本地方法一样执行命令或存储过程。

如果要执行命令,可以使用Command对象的Name属性给命令指定一个名称。

将Command对象的ActiveConnection属性设置为该连接。

然后,象发出Connection对象的方法一样发出使用命令名称的语句,后面可带任何参数(如果有返回行,则后面带Recordset对象

2.3.Error对象

每个错误出现时,一个或多个Error对象将被放到Connection对象的Errors集合中。

当另一个ADO操作产生错误时,Errors集合将被清空,并在其中放入新的Error对象集。

每个Error对象都代表特定的提供者错误而不是ADO错误,ADO错误被记载到运行时的例外处理机制中。

例如,在MicrosoftVisualBasic中,产生特定ADO的错误将触发OnError事件并出现在Err对象中。

关于ADO错误的完整列表,请参阅ADO错误代码主题。

通过Error对象的属性可获得每个错误的详细信息,其中包括以下内容:

∙Description属性,包含错误的文本。

∙Number属性,包含错误常量的长整型整数值。

∙Source属性,标识产生错误的对象。

在向数据源发出请求之后,如果Errors集合中有多个Error对象,则将会用到该属性。

∙SQLState和NativeError属性,提供来自SQL数据源的信息。

出现提供者错误时,Error对象将被放在Connection对象的Errors集合中。

ADO支持由单个ADO操作返回多个错误,以便显示特定提供者的错误信息。

要在错误处理程序中获得丰富的错误信息,可使用相应的语言或所在工作环境下的错误捕获功能,然后使用嵌套循环枚举出Errors集合的每个Error对象的属性。

与提供者一样,ADO在进行可能引发新的提供者错误的调用前将清除OLEErrorInfo对象。

但是,只有当提供者产生新的错误或Clear方法被调用时,才能清空并充填Connection对象的Errors集合。

某些属性和方法返回的警告以Errors集合中的Error对象的方式出现,但并不中止程序的执行。

在调用Recordset对象的Resync、UpdateBatch、或CancelBatch方法,或Connection对象的Open方法,或者在设置Records对象的Filter属性之前,可通过调用Errors集合的Clear方法。

这样就可以读取Errors集合的Count属性,以测试返回的警告。

2.4.Field对象

Recordset对象含有由Field对象组成的Fields集合。

取决于提供者具有的不同功能,Field对象的某些集合、方法或属性有可能无效。

使用Field对象的集合、方法、和属性可进行如下操作:

∙使用Name属性可返回字段名。

∙使用Value属性可查看或更改字段中的数据。

∙使用Type、Precision和NumericScale属性可返回字段的基本特性。

∙使用DefinedSize属性可返回已声明的字段大小。

∙使用ActualSize属性可返回给定字段中数据的实际大小。

∙使用Attributes属性和Properties集合可决定对于给定字段哪些类型的功能受到支持。

∙使用AppendChunk和GetChunk方法可处理包含长二进制或长字符数据的字段值。

∙如果提供者支持批更新,可使用OriginalValue和UnderlyingValue属性在批更新期间解决字段值之间的差异。

在打开Field对象的Recordset前,所有元数据属性(Name、Type、DefinedSize,Precision和NumericScale)都是可用的。

在此时设置这些属性将有助于动态构造其格式。

2.5.Parameter对象

许多提供者都支持参数化的命令。

需要进行的操作在这些命令中只定义一次,但可以使用变量(或参数)改变命令的某些细节。

例如,SQLSELECT语句可使用参数定义WHERE子句的匹配条件,而使用另一个参数来定义SORTBY子句的列的名称。

Parameter对象代表与参数化查询关联的参数,或进/出参数以及存储过程的返回值。

取决于提供者的功能,Parameter对象的某些集合、方法或属性有可能无效。

使用Parameter对象的集合、方法、和属性可进行如下操作:

∙使用Name属性可设置或返回参数名称。

∙使用Value属性可设置或返回参数值。

∙使用Attributes和Direction、Precision、NumericScale、Size以及Type属性可设置或返回参数特性。

∙使用AppendChunk方法可将长整型二进制或字符数据传递给参数。

如果知道与想要调用的存储过程或参数化查询相关联的参数属性和名称,则可使用CreateParameter方法创建带有相应属性设置的Parameter对象,并使用Append方法将它们添加到Parameters集合。

这样就可以设置并返回参数值,而无需调用Parameters

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文学研究

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1