CreateParameter 参数方法详解

创建具有指定属性的新的 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 属性

指示 ParameterField Property 对象的操作类型或数据类型。
设置和返回值

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

常量说明
AdArray与其他类型一起加入逻辑 OR 以指示该数据是那种类型的安全数组 (DBTYPE_ARRAY)。
AdBigInt8 字节带符号的整数 (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)。
adError32 - 位错误代码 (DBTYPE_ERROR)。
adGUID全局唯一的标识符 (GUID) (DBTYPE_GUID)。
adIDispatchOLE 对象上 Idispatch 接口的指针 (DBTYPE_IDISPATCH)。
adInteger4 字节的带符号整型 (DBTYPE_I4)。
adIUnknownOLE 对象上 IUnknown 接口的指针 (DBTYPE_IUNKNOWN)。
adLongVarBinary长二进制值(仅用于 Parameter 对象)。
adLongVarChar字符串值(仅用于 Parameter 对象)。
adLongVarWChar以空结尾的长字符串值(仅用于 Parameter 对象)。
adNumeric具有固定精度和范围的精确数字值 (DBTYPE_NUMERIC)。
adSingle单精度浮点值 (DBTYPE_R4)。
adSmallInt2 字节带符号整型 (DBTYPE_I2)。
adTinyInt1 字节带符号整型 (DBTYPE_I1)。
adUnsignedBigInt8 字节不带符号整型 (DBTYPE_UI8)。
adUnsignedInt4 字节不带符号整型 (DBTYPE_UI4)。
adUnsignedSmallInt2 字节不带符号整型 (DBTYPE_UI2)。
adUnsignedTinyInt1 字节不带符号整型 (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 属性。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值