使用指定属性创建新的 Parameter 对象。
语法
Set parameter = command.CreateParameter (Name, Type, Direction, Size, Value)
返回值
返回 Parameter 对象。
参数
Name 可选,字符串,代表 Parameter 对象名称。
Type 可选,长整型值,指定 Parameter 对象数据类型。关于有效设置请参见 Type 属性。
Direction 可选,长整型值,指定 Parameter 对象类型。关于有效设置请参见 Direction 属性。
Size 可选,长整型值,指定参数值最大长度(以字符或字节数为单位)。
Value 可选,变体型,指定 Parameter 对象的值。
说明
使用 CreateParameter 方法可用指定的名称、类型、方向、大小和值创建新的 Parameter 对象。在参数中传送的所有值都将写入相应的 Parameter 属性。
该方法无法自动将 Parameter 对象追加到 Command 对象的 Parameter 集合,这样就可以设置附加属性。如果将 Parameter 对象追加到集合,则 ADO 将使该附加属性的值生效。
如果在 Type 参数中指定可变长度的数据类型,那么在将它追加到 Parameters 集合之前必须传送 Size 参数或者设置 Parameter 对象的 Size 属性;否则将产生错误。
CreateRecordset 方法 (RDS)
创建未连接的空记录集。
语法
object.CreateRecordset(ColumnInfos)
参数
Object 对象变量,代表 RDSServer.DataFactory 或 RDS.DataControl 对象。
ColumnsInfos 数组的变体型数组,用于定义所创建的 Recordset 的每列。每列的定义都包含具有以下四个所需属性的数组。
属性
说明
Name
列标头的名称。
Type
整型数据类型。
Size
以字符为单位的整型宽度,与数据类型无关。
Nullability
布尔值。
随后列数组的集合被组合为一个数组,用以定义 Recordset。
说明
服务器端业务对象可以使用来自非 OLE DB 数据提供者的数据充填所产生的 ADODB.Recordset,例如包含股票份额的操作系统文件。
下表列出了 RDSServer.DataFactory 对象的 CreateRecordset 方法支持的数据类型,所列编号为用于定义字段的引用编号。
每种数据类型可以是固定长度或可变长度。固定长度类型的大小应定义为 -1,因为其大小已预先确定而此处仍需要其大小的定义。可变长度数据类型大小的允许范围从 1 到 32767。
对于某些可变数据类型,其类型可以强制为在“替换”列中注明的类型。只有在创建和填写 Recordset 之后才能看到替换情况,此后如有必要,可以检查实际数据类型。
长度
常量
编号
替换
固定
adTinyInt
16
固定
adSmallInt
2
固定
adInteger
3
固定
adBigInt
20
固定
adUnsignedTinyInt
17
固定
adUnsignedSmallInt
18
固定
adUnsignedInt
19
固定
adUnsignedBigInt
21
固定
adSingle
4
固定
adDouble
5
固定
adCurrency
6
固定
adDecimal
14
固定
adNumeric
131
固定
adBoolean
11
固定
adError
10
固定
adGuid
72
固定
adDate
7
固定
adDBDate
133
固定
adDBTime
134
固定
adDBTimestamp
135
7
可变
adBSTR
8
130
可变
adChar
129
200
可变
adVarChar
200
可变
adLongVarChar
201
200
可变
adWChar
130
可变
adVarWChar
202
130
可变
adLongVarWChar
203
130
可变
adBinary
128
可变
adVarBinary
204
可变
adLongVarBinary
205
204
Delete 方法(ADO Parameters 集合)
从 Parameters 集合中删除对象。
语法
Parameters.Delete Index
参数
Index 字符串,代表将要删除对象名称,或者对象在集合中的顺序位置(索引)。
说明
使用集合上的 Delete 方法可删除集合中的某个对象。该方法只对 Command 对象的 Parameters 集合有效。在调用 Delete 方法时必须使用 Parameter 对象的 Name 属性或它的集合索引 — 对象变量是无效参数。
Delete 方法 (ADO Fields 集合)
从 Fields 集合中删除对象。
语法
Fields.Delete Field
参数
Field 变体型,指定将要删除的 Field 对象。该参数必须是 Field 对象名而不能是序号位置或 Field 对象本身。
说明
对打开的 Recordset 调用 Fields.Delete 方法将引起运行
Delete 方法 (ADO Recordset)
删除当前记录或记录组。
语法
recordset.Delete AffectRecords
参数
AffectRecords AffectEnum 值,确定 Delete 方法所影响的记录数目,该值可以是下列常量之一。
常量
说明
AdAffectCurrent
默认。仅删除当前记录。
AdAffectGroup
删除满足当前 Filter 属性设置的记录。要使用该选项,必须将 Filter 属性设置为有效的预定义常量之一。
adAffectAll
删除所有记录。
adAffectAllChapters
删除所有子集记录。
说明
使用 Delete 方法可将 Recordset 对象中的当前记录或一组记录标记为删除。如果 Recordset 对象不允许删除记录将引发错误。使用立即更新模式将在数据库中进行立即删除,否则记录将标记为从缓存删除,实际的删除将在调用 UpdateBatch 方法时进行。(使用 Filter 属性可查看已删除的记录)。
从已删除的记录中检索字段值将引发错误。删除当前记录后,在移动到其他记录之前已删除的记录将保持为当前记录。一旦离开已删除记录,则无法再次访问它。
如果在事务中嵌套删除,可用 RollbackTrans 方法恢复已删除的记录。如果处于批更新模式,则可用 CancelBatch 方法取消一个或一组挂起删除。
如果因与基本数据冲突而导致删除记录失败(如记录已被其他用户删除),则提供者向 Errors 集合返回警告但不终止程序执行,只有在所有提出请求的记录上发生冲突时才会产生运行时错误。
如果 Unique Table 动态属性被设置,并且 Recordset 是对多个表执行 JOIN 操作的结果,那么,Delete 方法将仅删除 Unique Table 属性所命名的表中的行。
||||||Execute 方法 (ADO Command)
执行在 CommandText 属性中指定的查询、SQL 语句或存储过程。
语法
对于按行返回的 Command:
Set recordset = command.Execute( RecordsAffected, Parameters, Options )
对于非按行返回的 Command:
command.Execute RecordsAffected, Parameters, Options
返回值
返回 Recordset 对象引用。
参数
RecordsAffected 可选,长整型变量,提供者向其返回操作所影响的记录数目。RecordsAffected 参数仅应用于操作查询或存储过程。RecordsAffected 不返回由返回结果的查询或存储过程所返回的记录数目。详细信息,请使用 RecordCount 属性。
Parameters 可选,变体型数组,使用 SQL 语句传送的参数值。(用该参数传送时输出参数将不返回正确值。)
Options 可选,长整型值,指示提供者如何计算 Command 对象的 CommandText 属性。该值可为下列常量之一:
常量
说明
AdCmdText
指示提供者应按命令的文本定义(如 SQL 语句)来计算 CommandText。
AdCmdTable
指示 ADO 应生成 SQL 查询以便从 CommandText 命名的表中返回所有行。
AdCmdTableDirect
指示提供者应从 CommandText 命名的表中返回所有行。
AdCmdStoredProc
指示提供者应按存储过程计算 CommandText。
AdCmdUnknown
指示 CommandText 中的命令类型未知。
adAsyncExecute
指示命令应异步执行。
adAsyncFetch
指示对由 CacheSize 属性指定的初始数量之后的剩余行应使用异步提取。
本列表中前 4 个常量的详细说明请参见 CommandType 属性。
说明
使用 Command 对象的 Execute 方法可执行在对象的 CommandText 属性中指定的查询。如果 CommandText 属性指定按行返回查询,执行所产生的任何结果都将存储在新的 Recordset 对象中。如果该命令不是按行返回查询,则提供者返回关闭的 Recordset 对象。某些应用程序语言允许忽略该返回值(如果不需要任何 Recordset)。
如果查询带有参数,将使用 Command 对象中参数的当前值,除非通过 Execute 调用传送的参数覆盖它们。可以在调用 Execute 方法时通过省略某些参数的新值来覆盖参数子集。指定参数的次序与其在方法中被传送的次序相同。例如,如果有 4 个(或更多)参数并且希望只为第一个和第四个参数传送新值,则可以将 Array(var1,,,var4) 作为 Parameters 参数传送。
注意 在 Parameters 参数中传送时输出参数将不返回正确的值。
该操作结束后将发出 ExecuteComplete 事件。
Execute 方法 (ADO Connection)
执行指定的查询、SQL 语句、存储过程或特定提供者的文本等内容。
语法
对于非按行返回的命令字符串:
connection.Execute CommandText, RecordsAffected, Options
对于按行返回的命令字符串:
Set recordset = connection.Execute (CommandText, RecordsAffected, Options)
返回值
返回 Recordset 对象引用。
参数
CommandText 字符串,包含要执行的 SQL 语句、表名、存储过程或特定提供者的文本。
RecordsAffected 可选,长整型变量,提供者向其返回操作所影响的记录数目。
Options 可选,长整型值,指示提供者应如何计算 CommandText 参数,可为下列值:
常量
说明
AdCmdText
指示提供者应按命令的文本定义计算 CommandText。
AdCmdTable
指示 ADO 应生成 SQL 查询以便从 CommandText 命名的表中返回所有行。
AdCmdTableDirect
指示提供者应从 CommandText 命名的表中返回所有行。
AdCmdTable
指示提供者应按表名计算 CommandText。
AdCmdStoredProc
指示提供者应按存储过程计算 CommandText。
AdCmdUnknown
指示 CommandText 参数中的命令类型未知。
adAsyncExecute
指示命令应该异步执行。
adAsyncFetch
指示对在 CacheSize 属性指定的初始数量之后的剩余行使用异步提取。
本列表中前 4 个常量的详细说明请参见 CommandType 属性。
说明
使用 Connection 对象的 Execute 方法,可执行任何在指定连接的 CommandText 参数中传送给方法的查询。如果 CommandText 参数指定按行返回的查询,执行产生的任何结果将存储在新的 Recordset 对象中。如果命令不是按行返回的查询,则提供者返回关闭的 Recordset 对象。
返回的 Recordset 对象始终为只读、仅向前的游标。如需要具有更多功能的 Recordset 对象,应首先创建具有所需属性设置的 Recordset 对象,然后使用 Recordset 对象的 Open 方法执行查询并返回所需游标类型。
CommandText 参数的内容对提供者是特定的,并可以是标准的 SQL 语法或提供者支持的任何特殊命令格式。
该操作完成后将产生 ExecuteComplete 事件。