将指定参数设置为 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,依此类推;必须大于等于 1x - 包含输入参数值的 object;必须是 object 类型targetsqltype - 要发送到数据库的 sql 类型(在 java.sql.types 中定义)。scale 参数可以进一步限定此类型。如果提供了非标准的 targetsqltype,则此方法不会抛出 sqlexception。这隐含着对非标准 sql 类型的支持。scale - 对于类型 java.sql.types.decimal 和 java.sql.types.numeric,该值是小数点后的位数。对于所有其他类型,将忽略此值。
- 抛出:
sqlexception - 如果发生
iis7站长之家或者参数索引超出范围- 另请参见:
getparams()