现在的位置: 首页 > 综合 > 正文

CreateParameter 参数方法详解

2019年11月01日 综合 ⁄ 共 3219字 ⁄ 字号 暂无评论

创建具有指定属性的新的 Parameter 对象。

语法

Set parameter = command.CreateParameter (Name, Type, Direction, Size, Value)

例如

cm.Parameters.Append cm.CreateParameter("BH", 3, 1,10,rqID)

返回值

返回 Parameter 对象。
参数

Name
可选。String 值,包含 Parameter 对象的名称。
Type
可选。DataTypeEnum 值,指定 Parameter 对象的数据类型。
Direction
可选。ParameterDirectionEnum 值,指定 Parameter 对象的类型。
Size
可选。Long 值,指定参数值的最大长度(以字符或字节为单位)。
Value
可选。Variant,指定 Parameter 对象的值。

说明

使用 CreateParameter 方法创建具用指定的名称、类型、方向、大小和值的新的 Parameter 对象。在参数中传送的任何值都将写入相应的 Parameter 属性。

此方法不会将 Parameter 对象自动追加到 Command 对象的 Parameters 集合。这样就可以设置附加属性,在将 Parameter 对象追加到集合时,ADO 将使这些附加属性的值生效。

如果在 Type 参数中指定变长数据类型,在将其追加到 Parameters 集合之前必须传送 Size 参数或者设置 Parameter 对象的 Size 属性;否则将发生错误。

如果在 Type 参数中指定数字型数据类型(adNumeric 或 adDecimal),也必须设置 NumericScale 和 Precision 属性。

相关 属性

Type 属性
指示 Parameter、Field 或 Property 对象的操作类型或数据类型。
设置和返回值
设置或返回下列 DataTypeEnum 值之一。相应的 OLE DB 类型标识符在下表的说明栏的括号中给出。有关 OLE DB 数据类型的详细信息,请参阅第 10 章和《OLE DB 程序员参考》的附录 A。

常量 说明
AdArray 与其他类型一起加入逻辑 OR 以指示该数据是那种类型的安全数组 (DBTYPE_ARRAY)。
AdBigInt 8 字节带符号的整数 (DBTYPE_I8)。
AdBinary 二进制值 (DBTYPE_BYTES)。
AdBoolean 布尔型值 (DBTYPE_BOOL)。
adByRef 与其他类型一起加入逻辑 OR 以指示该数据是其他类型数据的指针 (DBTYPE_BYREF)。
adBSTR 以空结尾的字符串 (Unicode) (DBTYPE_BSTR)。
adChar 字符串值 (DBTYPE_STR)。
adCurrency 货币值 (DBTYPE_CY)。货币数字的小数点位置固定、小数点右侧有四位数字。该值保存为 8 字节范围为 10,000 的带符号整型值。
adDate 日期值 (DBTYPE_DATE)。日期按双精度型数值来保存,数字全部表示从 1899 年 12 月 30 开始的日期数。小数部分是一天当中的片段时间。
adDBDate 日期值 (yyyymmdd) (DBTYPE_DBDATE)。
adDBTime 时间值 (hhmmss) (DBTYPE_DBTIME)。
adDBTimeStamp 时间戳(yyyymmddhhmmss 加 10 亿分之一的小数)(DBTYPE_DBTIMESTAMP).
adDecimal 具有固定精度和范围的精确数字值 (DBTYPE_DECIMAL)。
adDouble 双精度浮点值 (DBTYPE_R8)。
adEmpty 未指定值 (DBTYPE_EMPTY)。
adError 32 - 位错误代码 (DBTYPE_ERROR)。
adGUID 全局唯一的标识符 (GUID) (DBTYPE_GUID)。
adIDispatch OLE 对象上 Idispatch 接口的指针 (DBTYPE_IDISPATCH)。
adInteger 4 字节的带符号整型 (DBTYPE_I4)。
adIUnknown OLE 对象上 IUnknown 接口的指针 (DBTYPE_IUNKNOWN)。
adLongVarBinary 长二进制值(仅用于 Parameter 对象)。
adLongVarChar 长字符串值(仅用于 Parameter 对象)。
adLongVarWChar 以空结尾的长字符串值(仅用于 Parameter 对象)。
adNumeric 具有固定精度和范围的精确数字值 (DBTYPE_NUMERIC)。
adSingle 单精度浮点值 (DBTYPE_R4)。
adSmallInt 2 字节带符号整型 (DBTYPE_I2)。
adTinyInt 1 字节带符号整型 (DBTYPE_I1)。
adUnsignedBigInt 8 字节不带符号整型 (DBTYPE_UI8)。
adUnsignedInt 4 字节不带符号整型 (DBTYPE_UI4)。
adUnsignedSmallInt 2 字节不带符号整型 (DBTYPE_UI2)。
adUnsignedTinyInt 1 字节不带符号整型 (DBTYPE_UI1)。
adUserDefined 用户定义的变量 (DBTYPE_UDT)。
adVarBinary 二进制值(仅 Parameter 对象)。
adVarChar 字符串值(仅 Parameter 对象)。
adVariant 自动变体型 (DBTYPE_VARIANT)。
adVector 与其他类型一起加入逻辑 OR 中,指示数据是 DBVECTOR 结构(由 OLE DB 定义)。该结构含有元素的计数和其他类型 (DBTYPE_VECTOR) 数据的指针。
adVarWChar 以空结尾的 Unicode 字符串(仅 Parameter 对象)。
adWChar 以空结尾的 Unicode 字符串 (DBTYPE_WSTR)。

说明
对 Parameter 对象,Type 属性是读/写。对其他所有对象,Type 属性是只读。

Direction 属性

指示 Parameter 所标明的是输入参数、输出参数还是既是输出又是输入参数,或该参数是否为存储过程返回的值。

设置和返回值

设置或返回以下某个 ParameterDirectionEnum 值。

常量 说明
AdParamUnknown 指示参数方向未知。
AdParamInput 默认值。指示输入参数。
AdParamOutput 指示输出参数。
AdParamInputOutput 同时指示输入参数和输出参数。
AdParamReturnValue 指示返回值。
说明

使用 Direction 属性可指定向过程传递参数或从过程传递参数的方式。Direction 属性为读/写;该属性允许使用不返回该信息的提供者,或者在不希望 ADO 为了获取参数信息而附加调用提供者时设置该信息。

并非所有的提供者都可以在其存储过程中确定参数方向。在此情况下,在执行查询前必须设置 Direction 属性。

Size 属性

表示 Parameter 对象的最大大小(按字节或字符)。

设置和返回数值

设置或返回表示 Parameter 对象的最大大小(按字节或字符)的长整型值。

说明

使用 Size 属性确定对 Parameter 对象的 Value 属性写入(或读出)值的最大大小。Size 属性为可读/写。

如果要指定 Parameter 对象为变长数据类型(例如任何字符串类型,如 adVarChar),则必须先设置对象的 Size 属性,然后再将该对象追加到 Parameters 集合。否则,将会出现错误。

如果已经将 Parameter 对象追加到 Command 对象的 Parameter 集合,并已经将它的类型更改为变长数据类型,那么必须先设置 Parameter 对象的 Size 属性然后再执行 Command 对象。否则,将出现错误。

如果使用 Refresh 方法从提供者获取参数信息,并且它返回一个或多个变长数据类型 Parameter 对象,ADO 可能会根据其最大可能的大小为其分配内存空间,这样在执行中可能会导致错误。为避免出错,应该在执行命令之前显式设置这些参数的 Size 属性。

给我留言

留言无头像?