将指定参数设置为 java 编程语言中的 object
。第二个参数必须是 object
类型。对于整数值,应该使用 java.lang
等效对象。例如,为 int
使用类 integer
。
将此对象发送到数据库前,驱动程序将它转换成指定的目标 sql 类型。如果对象具有自定义映射(属于实现 sqldata
的类),则驱动程序应该调用 sqldata.writesql
方法将该对象写入 sql 数据流中。另一方面,如果该对象是实现 ref
、blob
、clob
、struct
或 array
的类,则驱动程序应该将它作为相应 sql 类型的值传递给数据库。
注意,此方法可用于传递特定于数据库的抽象数据类型。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 rowset
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 jsr-114 rowset
接口的所有类中提供 execute
和 populate
之类的方法。注:jdbcrowset
不需要 populate
方法,因为它没有在此类中定义。调用这种形式的 setobject
后再调用方法 getparams
将返回一个数组,其中包含已经设置的参数值。在该数组中,表示使用此方法所设置的值的元素本身也是一个数组。该数组的第一个元素是给定的 object
实例。第二个元素是为 targetsqltype 设置的值。第三个元素是为 scale 设置的值,如果要设置的对象类型不是 java.sql.types.numeric
或 java.sql.types.decimal
,则驱动程序忽略该值。参数编号由方法 getparams
返回的数组中的元素位置指示,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。换句话说,如果正在设置的对象是第二个占位符参数的值,则包含该值的数组是 getparams
返回数组中的第二个元素。
注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterindex 的数组元素是元素编号 parameterindex -1。
- 参数:
parameterindex
- 此 rowset
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于 1
x
- 包含输入参数值的 object
;必须是 object
类型targetsqltype
- 要发送到数据库的 sql 类型(在 java.sql.types
中定义)。scale
参数可以进一步限定此类型。如果提供了非标准的 targetsqltype,则此方法不会抛出 sqlexception
。这隐含着对非标准 sql 类型的支持。scale
- 对于类型 java.sql.types.decimal
和 java.sql.types.numeric
,该值是小数点后的位数。对于所有其他类型,将忽略此值。
- 抛出:
sqlexception
- 如果发生
iis7站长之家或者参数索引超出范围- 另请参见:
getparams()