|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.sql.rowset.BaseRowSet
public abstract class BaseRowSet
提供一个具有基本功能的 RowSet
对象的抽象类。基本功能包括设置属性和发送事件通知,这是所有 JavaBeansTM 组件都必须实现的。
BaseRowSet
类为所有
RowSet
实现提供核心功能,所有标准实现
可以结合使用此类和一个或多个
RowSet
接口来提供标准特定于供应商的实现。更详细地说,即所有实现必须至少实现一个
RowSet
接口(
JdbcRowSet
、
CachedRowSet
、
JoinRowSet
、
FilteredRowSet
或
WebRowSet
)。这意味着所有扩展
BaseRowSet
类的实现也必须实现一个
RowSet
接口。
BaseRowSet
类提供以下内容:
RowSet
对象命令中的各个参数
RowSet
实现的用途及其获得数据的方式。例如,从
ResultSet
对象获得其数据的 rowset 需要设置那些建立数据库连接所需的属性。如果某个
RowSet
对象使用
DriverManager
设施建立连接,则它需要设置一个标识合适驱动程序的 JDBC URL 属性,还需要设置那些提供用户名和密码的属性。另一方面,如果 rowset 使用
DataSource
对象建立连接(这是首选的方法),则它无需设置 JDBC URL 属性。但是它需要设置用于数据源逻辑名的属性,以及用户名和密码的属性。
注:要使用 DataSource
对象建立连接,该 DataSource
对象必须已经向使用 Java Naming and Directory InterfaceTM (JNDI) API 的命名服务注册。通常由具有系统管理员资格的人员完成此注册。
ResultSet
对象的命令(查询)。此查询就是为
RowSet
对象的 command 属性所设置的命令。rowset 使用数据填充自身的方式是将数据从
ResultSet
对象读取到其自身。如果查询为要设置的值包含占位符,则使用
BaseRowSet
的设置方法设置这些值。如有必要,所有设置方法都允许将这些值设置为
null
。
以下代码片断展示了如何设置 CachedRowSet
TM 对象 crs
的 command 属性。注意,如果使用某种工具设置属性,则这就是该工具应使用的代码。
crs.setCommand("SELECT FIRST_NAME, LAST_NAME, ADDRESS FROM CUSTOMERS" + "WHERE CREDIT_LIMIT > ? AND REGION = ?");
在此示例中,CREDIT_LIMIT
和 REGION
的值是占位符参数,用一个问号 (?) 指示。第一个问号是占位符参数编号 1
,第二个问号是占位符参数编号 2
,依此类推。执行查询前必须为占位符参数设置值。要设置这些占位符参数,BaseRowSet
类提供了一组与 PreparedStatement
接口类似的设置方法,用于设置每种数据类型的值。RowSet
对象内部存储该参数值,该对象的 execute
方法在将要执行的命令发送到 DBMS 前,使用这些值内部设置占位符参数的值。
以下代码片断演示了如何设置前一个示例查询中的两个参数。
crs.setInt(1, 5000); crs.setString(2, "West");如果此时调用
execute
方法,则发送到 DBMS 的查询是:
"SELECT FIRST_NAME, LAST_NAME, ADDRESS FROM CUSTOMERS" + "WHERE CREDIT_LIMIT > 5000 AND REGION = 'West'"注:将
Array
、
Clob
、
Blob
和
Ref
对象设置为命令参数,将这些值分别存储为
SerialArray
、
SerialClob
、
SerialBlob
和
SerialRef
对象。
BaseRowSet
类提供两类设置方法:一类设置属性,一类设置占位符参数。此部分中讨论的设置方法是设置占位符参数的那一类。
使用 BaseRowSet
的设置方法设置的占位符参数以对象的形式存储在内部 Hashtable
对象中。基本类型则以其 Object
类型存储。例如,byte
以 Byte
对象的形式存储,int
则以 Integer
对象的形式存储。调用方法 execute
时,Hashtable
对象中的值替换命令中的适当占位符参数。
调用方法
getParams
能够以
Object
实例数组的形式返回存储在
Hashtable
对象中的值。此数组中的元素可以是一个简单的
Object
实例,也可以是一个数组(
Object
类型)。使用特定的设置方法可确定此数组中某个元素是
Object
还是数组。
大多数设置占位符参数的方法采用两个参数,第一个参数指示要设置的占位符参数,第二个参数给出要设置的值。getInt
、getString
、getBoolean
和 getLong
之类的方法属于此类。调用这些方法后,调用方法 getParams
将返回一个数组,其中带有已经设置的值。每个数组元素都是一个 Object
实例,表示已经设置的值。根据传递到设置方法的 int
(第一个参数)来确定这些值在数组中的顺序。该数组中的值就是传递给设置方法的值(第二个参数)。换句话说,数组中的第一个元素是为 RowSet
对象的命令中第一个占位符参数所设置的值。第二个元素是为第二个占位符参数所设置的值,依此类推。
一些设置方法除了要设置的值外,还发送驱动程序和 DBMS 信息。如果在使用了此类设置方法后再调用方法 getParams
,则数组中的元素本身就是数组,以容纳附加信息。在此类别中,方法 setNull
是一个特例,因为它有一种形式只带有两个参数 (setNull(int parameterIndex, int SqlType)
)。尽管如此,它仍然需要一个数组来包含要传递给驱动程序和 DBMS 的信息。此数组中的第一个元素是要设置的值,该值为 null
;第二个元素是为 sqlType 提供的 int
,指示要设置为 null
的 SQL 值的类型。某些 DBMS 需要此信息,因此为了确保应用程序的可移植性,此信息是必需的。当要设置为 null
的值是用户定义的类型时,可使用该方法的另一种形式。这种形式带有三个参数 (setNull(int parameterIndex, int sqlType, String typeName)
),同样需要一个数组来包含要传递给驱动程序和 DBMS 的信息。此数组中的前两个参数与第一种 setNull
相同。第三个参数 typeName 给出了用户定义类型的 SQL 名称。与其他设置方法一样,通过 getParams
返回的数组中元素的位置来指示要设置的占位符参数的编号。所以,举例来说,如果提供给 setNull
的参数是 2
,则 getParams
返回的数组中的第二个元素将是一个两元素或三元素数组。
某些方法(如 setObject
和 setDate
)还有带有多于两个参数的形式,这些额外的参数为驱动程序或 DBMS 提供信息。例如,方法 setDate
、setTime
和 setTimestamp
可将 Calendar
对象作为其第三个参数。如果 DBMS 没有存储时区信息,则驱动程序使用 Calendar
对象来构造正在设置的 Date
、Time
或 Timestamp
对象。与提供附加信息的其他方法一样,getParams
返回的数组中的元素是一个数组,而不是简单的 Object
实例。
方法 setAsciiStream
、setBinaryStream
、setCharacterStream
和 setUnicodeStream
(该方法已废弃,所以应用程序应该使用 getCharacterStream
)带有三个参数,所以对于这些方法,getParams
返回的数组中的元素也是一个数组。这些设置方法的不同之处在于除了由参数提供的信息外,该数组还包含一个 BaseRowSet
常量,指示正在设置的流类型。
注:由扩展此类的 RowSet
实现内部调用方法 getParams
;应用程序的程序员通常不直接调用此方法。
BaseRowSet
类为 rowset 提供了事件通知机制。它包含字段
listeners
、添加和移除侦听器的方法,以及将更改通知给侦听器的方法。
侦听器是一个实现了 RowSetListener
接口的对象。如果已经将侦听器添加到 RowSet
对象的侦听器列表,则 RowSet
对象上发生事件时它将获得通知。每个侦听器的 RowSetListener
方法实现定义了获得发生事件的通知时,该对象将执行的操作。
RowSet
对象有三种可能的事件:
RowSet
对象的内容 用于通知的 BaseRowSet
方法指示已经发生事件的类型。例如,方法 notifyRowChanged
指示某行已经被更新、删除或插入。每种通知方法都创建 RowSetEvent
对象,将该对象提供给侦听器,从而标识发生事件的 RowSet
对象。侦听器如何使用此信息(可能不执行任何操作)取决于它的实现方式。
BaseRowSet
对象是用很多起始值初始化的。 扩展
BaseRowSet
类的默认
RowSet
实例具有以下特点:
RowSet
对象的命令没有限制。 BINARY
、VARBINARY
、LONGVARBINARY
、CHAR
、VARCHAR
和 LONGVARCHAR
。 null
。 Vector
对象,用于存储为 RowSet
对象命令中的占位符参数设置的值。 如果需要其他值,则应用程序必须显式设置该属性值。例如,以下代码行将 CachedRowSet
对象 crs 的最大行数设置为 500。
crs.setMaxRows(500);对于任何违反已定义断言的情况,扩展此
BaseRowSet
类的方法实现
必须抛出
SQLException
对象。此外,如果扩展的类重写和重新实现了任何
BaseRowSet
方法,并且遇到了连接性或底层数据源问题,则方法
可以为此另外抛出
SQLException
对象。
字段摘要 | |
---|---|
static int |
ASCII_STREAM_PARAM 该常量向 RowSetReaderImpl 对象指示给定的参数是一个 ASCII 流。 |
protected InputStream |
asciiStream 将由方法 getAsciiStream 返回的 InputStream 对象,该方法在 ResultSet 接口中指定。 |
static int |
BINARY_STREAM_PARAM 该常量向 RowSetReaderImpl 对象指示给定的参数是一个二进制流。 |
protected InputStream |
binaryStream 将由方法 getBinaryStream 返回的 InputStream 对象,该方法在 ResultSet 接口中指定。 |
protected Reader |
charStream 将由方法 getCharacterStream 返回的 Reader 对象,该方法在 ResultSet 接口中指定。 |
static int |
UNICODE_STREAM_PARAM 该常量向 RowSetReaderImpl 对象指示给定的参数是一个 Unicode 流。 |
protected InputStream |
unicodeStream 将由方法 getUnicodeStream 返回的 InputStream 对象,该方法在 ResultSet 接口中指定。 |
构造方法摘要 | |
---|---|
BaseRowSet() 构造一个新的 BaseRowSet 对象,使用默认的 Vector 对象初始化其 listeners 字段。 |
方法摘要 | |
---|---|
void |
addRowSetListener(RowSetListener listener) 只要在此 RowSet 对象上发生事件,就将通知该侦听器。 |
void |
clearParameters() 清除所有此 RowSet 对象的内部参数表示形式的当前参数值,这些参数值将在执行此 RowSet 对象的命令时在其中设置这些参数。 |
String |
getCommand() 获取作为此 RowSet 对象的命令的 SQL 查询。 |
int |
getConcurrency() 返回此 RowSet 对象的并发性。 |
String |
getDataSourceName() 返回向使用 Java Naming and Directory Interface (JNDI) API 的命名服务所提供的逻辑名,这将获得 javax.sql.DataSource 对象。 |
boolean |
getEscapeProcessing() 确定是否为此 RowSet 对象启用了转义处理。 |
int |
getFetchDirection() 获取此 RowSet 对象的当前有关获取方向的设置。 |
int |
getFetchSize() 返回此 RowSet 对象的获取大小。 |
int |
getMaxFieldSize() 获取可用于此 RowSet 对象列值的最大字节数。 |
int |
getMaxRows() 获取此 RowSet 对象可以包含的最大行数。 |
Object[] |
getParams() 获取一个数组,其中包含为此 RowSet 对象命令设置的参数值(包括 Object 和基本类型),如果尚未设置任何参数,则抛出 SQLException 对象。 |
String |
getPassword() 返回用于创建此 RowSet 对象的数据库连接的密码。 |
int |
getQueryTimeout() 获取驱动程序等待查询执行的最大秒数。 |
boolean |
getShowDeleted() 获取一个 boolean 值,该值指示标记为删除的行是否会出现在当前行集合中。 |
int |
getTransactionIsolation() 返回此 RowSet 对象连接的事务隔离属性。 |
int |
getType() 返回此 RowSet 对象的类型。 |
Map<String,Class<?>> |
getTypeMap() 获取与此 RowSet 对象的 Connection 对象关联的类型映射表。 |
String |
getUrl() 获取此 RowSet 对象的 javax.sql.Reader 对象用来建立与关系数据库连接(使用启用 JDBC 技术的驱动程序)的 JDBC URL。 |
String |
getUsername() 返回用于创建数据库连接的用户名。 |
protected void |
initParams() 执行必需的内部配置和初始化,从而允许所有 JDBC RowSet 实现开始使用 BaseRowSet 实例提供的标准设施。 |
boolean |
isReadOnly() 返回一个指示此 RowSet 对象是否为只读的 boolean 值。 |
protected void |
notifyCursorMoved() 通知向此 RowSet 对象注册的所有侦听器其光标已移动。 |
protected void |
notifyRowChanged() 通知向此 RowSet 对象注册的所有侦听器其行已更改。 |
protected void |
notifyRowSetChanged() 通知向此 RowSet 对象注册的所有侦听器其整个内容已更改。 |
void |
removeRowSetListener(RowSetListener listener) 从此 RowSet 对象的侦听器列表中移除指定的对象。 |
void |
setArray(int parameterIndex, Array array) 将指定参数设置为 Java 编程语言中的 Array 对象。 |
void |
setAsciiStream(int parameterIndex, InputStream x) 将此 RowSet 对象命令中的指定参数设置为给定输入流。 |
void |
setAsciiStream(int parameterIndex, InputStream x, int length) 将指定参数设置为给定的 java.io.InputStream 对象,该对象将具有指定的字节数。 |
void |
setAsciiStream(String parameterName, InputStream x) 将指定参数设置为给定的输入流。 |
void |
setAsciiStream(String parameterName, InputStream x, int length) 将指定参数设置为给定输入流,该输入流将拥有指定字节数。 |
void |
setBigDecimal(int parameterIndex, BigDecimal x) 将指定参数设置为给定的 java.lang.BigDecimal 值。 |
void |
setBigDecimal(String parameterName, BigDecimal x) 将指定参数设置为给定的 java.math.BigDecimal 值。 |
void |
setBinaryStream(int parameterIndex, InputStream x) 将此 RowSet 对象命令中的指定参数设置为给定输入流。 |
void |
setBinaryStream(int parameterIndex, InputStream x, int length) 将指定参数设置为给定的 java.io.InputStream 对象,该对象具有指定的字节数。 |
void |
setBinaryStream(String parameterName, InputStream x) 将指定参数设置为给定输入流。 |
void |
setBinaryStream(String parameterName, InputStream x, int length) 将指定参数设置为给定的输入流,该输入流将拥有指定的字节数。 |
void |
setBlob(int parameterIndex, Blob x) 将指定参数设置为 Java 编程语言中的给定 Blob 对象。 |
void |
setBlob(int parameterIndex, InputStream inputStream) 将指定参数设置为 InputStream 对象。 |
void |
setBlob(int parameterIndex, InputStream inputStream, long length) 将指定参数设置为 InputStream 对象。 |
void |
setBlob(String parameterName, Blob x) 将指定参数设置为给定的 java.sql.Blob 对象。 |
void |
setBlob(String parameterName, InputStream inputStream) 将指定参数设置为 InputStream 对象。 |
void |
setBlob(String parameterName, InputStream inputStream, long length) 将指定参数设置为 InputStream 对象。 |
void |
setBoolean(int parameterIndex, boolean x) 将指定参数设置为 Java 编程语言中的给定 boolean 值。 |
void |
setBoolean(String parameterName, boolean x) 将指定参数设置为给定的 Java boolean 值。 |
void |
setByte(int parameterIndex, byte x) 将指定参数设置为 Java 编程语言中的给定 byte 值。 |
void |
setByte(String parameterName, byte x) 将指定参数设置为给定的 Java byte 值。 |
void |
setBytes(int parameterIndex, byte[] x) 将指定参数设置为给定的 byte 数组。 |
void |
setBytes(String parameterName, byte[] x) 将指定参数设置为给定的 Java byte 数组。 |
void |
setCharacterStream(int parameterIndex, Reader reader) 将此 RowSet 对象命令中的指定参数设置为给定的 Reader 对象。 |
void |
setCharacterStream(int parameterIndex, Reader reader, int length) 将指定参数设置为给定的 java.io.Reader 对象,该对象具有指定的字符数。 |
void |
setCharacterStream(String parameterName, Reader reader) 将指定参数设置为给定 Reader 对象。 |
void |
setCharacterStream(String parameterName, Reader reader, int length) 将指定参数设置为给定的 Reader 对象,该对象是给定的字符长度数目。 |
void |
setClob(int parameterIndex, Clob x) 将指定参数设置为 Java 编程语言中的给定 Clob 对象。 |
void |
setClob(int parameterIndex, Reader reader) 将指定参数设置为 Reader 对象。 |
void |
setClob(int parameterIndex, Reader reader, long length) 将指定参数设置为 Reader 对象。 |
void |
setClob(String parameterName, Clob x) 将指定参数设置为给定的 java.sql.Clob 对象。 |
void |
setClob(String parameterName, Reader reader) 将指定参数设置为 Reader 对象。 |
void |
setClob(String parameterName, Reader reader, long length) 将指定参数设置为 Reader 对象。 |
void |
setCommand(String cmd) 将此 RowSet 对象的 command 属性设置为给定的 String 对象,并清除为前一个命令设置的参数(如果有)。 |
void |
setConcurrency(int concurrency) 将此 RowSet 对象的并发性设置为指定的并发性。 |
void |
setDataSourceName(String name) 将此 RowSet 对象的 DataSource 名称属性设置为给定的逻辑名,并将此 RowSet 对象的 Url 属性设置为 null 。 |
void |
setDate(int parameterIndex, Date x) 将指定参数设置为给定的 java.sql.Date 值。 |
void |
setDate(int parameterIndex, Date x, Calendar cal) 将指定参数设置为给定的 java.sql.Date 对象。 |
void |
setDate(String parameterName, Date x) 使用运行应用程序的虚拟机所在的默认时区将指定参数设置为给定的 java.sql.Date 值。 |
void |
setDate(String parameterName, Date x, Calendar cal) 使用给定 Calendar 对象将指定参数设置为给定的 java.sql.Date 值。 |
void |
setDouble(int parameterIndex, double x) 将指定参数设置为 Java 编程语言中的给定 double 值。 |
void |
setDouble(String parameterName, double x) 将指定参数设置为给定的 Java double 值。 |
void |
setEscapeProcessing(boolean enable) 设置为给定的 boolean 值,指示将 SQL 语句发送到数据库之前,驱动程序是否扫描转义语法并进行转义替换。 |
void |
setFetchDirection(int direction) 为驱动程序提供一个性能提示,该提示指示处理此 RowSet 对象中各行时使用的方向。 |
void |
setFetchSize(int rows) 将此 RowSet 对象的获取大小设置为给定的行数。 |
void |
setFloat(int parameterIndex, float x) 将指定参数设置为 Java 编程语言中的给定 float 值。 |
void |
setFloat(String parameterName, float x) 将指定参数设置为给定的 Java float 值。 |
void |
setInt(int parameterIndex, int x) 将指定参数设置为 Java 编程语言中的 int 值。 |
void |
setInt(String parameterName, int x) 将指定参数设置为给定的 Java int 值。 |
void |
setLong(int parameterIndex, long x) 将指定参数设置为 Java 编程语言中的给定 long 值。 |
void |
setLong(String parameterName, long x) 将指定参数设置为给定的 Java long 值。 |
void |
setMaxFieldSize(int max) 将可用于此 RowSet 对象列值的最大字节数设置为给定数。 |
void |
setMaxRows(int max) 将此 RowSet 对象可以包含的最大行数设置为给定数。 |
void |
setNCharacterStream(int parameterIndex, Reader value) 将此 RowSet 对象命令中的指定参数设置为 Reader 对象。 |
void |
setNCharacterStream(int parameterIndex, Reader value, long length) 将指定参数设置为 Reader 对象。 |
void |
setNCharacterStream(String parameterName, Reader value) 将指定参数设置为 Reader 对象。 |
void |
setNCharacterStream(String parameterName, Reader value, long length) 将指定参数设置为 Reader 对象。 |
void |
setNClob(int parameterIndex, NClob value) 将指定参数设置为 java.sql.NClob 对象。 |
void |
setNClob(int parameterIndex, Reader reader) 将指定参数设置为 Reader 对象。 |
void |
setNClob(int parameterIndex, Reader reader, long length) 将指定参数设置为 Reader 对象。 |
void |
setNClob(String parameterName, NClob value) 将指定参数设置为 java.sql.NClob 对象。 |
void |
setNClob(String parameterName, Reader reader) 将指定参数设置为 Reader 对象。 |
void |
setNClob(String parameterName, Reader reader, long length) 将指定参数设置为 Reader 对象。 |
void |
setNString(int parameterIndex, String value) 将指定参数设置为给定的 String 对象。 |
void |
setNString(String parameterName, String value) 将指定参数设置为给定的 String 对象。 |
void |
setNull(int parameterIndex, int sqlType) 将指定参数设置为 SQL NULL 。 |
void |
setNull(int parameterIndex, int sqlType, String typeName) 将指定参数设置为 SQL NULL 。 |
void |
setNull(String parameterName, int sqlType) 将指定参数设置为 SQL NULL 。 |
void |
setNull(String parameterName, int sqlType, String typeName) 将指定参数设置为 SQL NULL 。 |
void |
setObject(int parameterIndex, Object x) 将指定参数设置为 Java 编程语言中的 Object 。 |
void |
setObject(int parameterIndex, Object x, int targetSqlType) 使用给定 Object 值设置指定参数的值。 |
void |
setObject(int parameterIndex, Object x, int targetSqlType, int scale) 将指定参数设置为 Java 编程语言中的 Object 。 |
void |
setObject(String parameterName, Object x) 使用给定对象设置指定参数的值。 |
void |
setObject(String parameterName, Object x, int targetSqlType) 使用给定对象设置指定参数的值。 |
void |
setObject(String parameterName, Object x, int targetSqlType, int scale) 使用给定对象设置指定参数的值。 |
void |
setPassword(String pass) 将用于创建此 RowSet 对象的数据库连接的密码设置为给定的 String 对象。 |
void |
setQueryTimeout(int seconds) 将驱动程序等待查询执行的最大秒数设置为给定的数。 |
void |
setReadOnly(boolean value) 将此 RowSet 对象的 readOnly 属性设置为给定的 boolean 值。 |
void |
setRef(int parameterIndex, Ref ref) 将指定参数设置为 Java 编程语言中的给定 Ref 对象。 |
void |
setRowId(int parameterIndex, RowId x) 将指定参数设置为给定的 java.sql.RowId 对象。 |
void |
setRowId(String parameterName, RowId x) 将指定参数设置为给定的 java.sql.RowId 对象。 |
void |
setShort(int parameterIndex, short x) 将指定参数设置为 Java 编程语言中的给定 short 值。 |
void |
setShort(String parameterName, short x) 将指定参数设置为给定的 Java short 值。 |
void |
setShowDeleted(boolean value) 将属性 showDeleted 设置为给定的 boolean 值,该值指示标记为删除的行是否会出现在当前行集合中。 |
void |
setSQLXML(int parameterIndex, SQLXML xmlObject) 将指定参数设置为给定 java.sql.SQLXML 对象。 |
void |
setSQLXML(String parameterName, SQLXML xmlObject) 将指定参数设置为给定的 java.sql.SQLXML 对象。 |
void |
setString(int parameterIndex, String x) 将指定参数设置为给定的 String 值。 |
void |
setString(String parameterName, String x) 将指定参数设置为给定的 Java String 值。 |
void |
setTime(int parameterIndex, Time x) 将指定参数设置为给定的 java.sql.Time 值。 |
void |
setTime(int parameterIndex, Time x, Calendar cal) 将指定参数设置为给定的 java.sql.Time 对象。 |
void |
setTime(String parameterName, Time x) 将指定参数设置为给定的 java.sql.Time 值。 |
void |
setTime(String parameterName, Time x, Calendar cal) 使用给定 Calendar 对象将指定参数设置为给定的 java.sql.Time 值。 |
void |
setTimestamp(int parameterIndex, Timestamp x) 将指定参数设置为给定的 java.sql.Timestamp 值。 |
void |
setTimestamp(int parameterIndex, Timestamp x, Calendar cal) 将指定参数设置为给定的 java.sql.Timestamp 对象。 |
void |
setTimestamp(String parameterName, Timestamp x) 将指定参数设置为给定的 java.sql.Timestamp 值。 |
void |
setTimestamp(String parameterName, Timestamp x, Calendar cal) 使用给定 Calendar 对象将指定参数设置为给定的 java.sql.Timestamp 值。 |
void |
setTransactionIsolation(int level) 将此 JDBC RowSet 对象的事务隔离属性设置为给定的常量。 |
void |
setType(int type) 将此 RowSet 对象的类型设置为指定类型。 |
void |
setTypeMap(Map<String,Class<?>> map) 将给定的 java.util.Map 对象安装为与此 RowSet 对象的 Connection 对象关联的类型映射表。 |
void |
setUnicodeStream(int parameterIndex, InputStream x, int length) 已过时。 应该使用 getCharacterStream 替代它 |
void |
setURL(int parameterIndex, URL x) 将指定参数设置为给定的 java.net.URL 值。 |
void |
setUrl(String url) 将此 RowSet 对象的 Url 属性设置为给定的 String 对象,并将 dataSource 名称属性设置为 null 。 |
void |
setUsername(String name) 将此 RowSet 对象的 username 属性设置为给定的用户名。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
public static final int UNICODE_STREAM_PARAM
RowSetReaderImpl
对象指示给定的参数是一个 Unicode 流。此
RowSetReaderImpl
对象作为
SyncProvider
抽象类的扩展来提供,该抽象类在
SyncFactory
静态工厂 SPI 机制中定义。
public static final int BINARY_STREAM_PARAM
RowSetReaderImpl
对象指示给定的参数是一个二进制流。此
RowSetReaderImpl
对象作为
SyncProvider
抽象类的扩展来提供,该抽象类在
SyncFactory
静态工厂 SPI 机制中定义。
public static final int ASCII_STREAM_PARAM
RowSetReaderImpl
对象指示给定的参数是一个 ASCII 流。此
RowSetReaderImpl
对象作为
SyncProvider
抽象类的扩展来提供,该抽象类在
SyncFactory
静态工厂 SPI 机制中定义。
protected InputStream binaryStream
getBinaryStream
返回的
InputStream
对象,该方法在
ResultSet
接口中指定。
protected InputStream unicodeStream
getUnicodeStream
返回的
InputStream
对象,该方法在
ResultSet
接口中指定。
protected InputStream asciiStream
getAsciiStream
返回的
InputStream
对象,该方法在
ResultSet
接口中指定。
protected Reader charStream
getCharacterStream
返回的
Reader
对象,该方法在
ResultSet
接口中指定。
构造方法详细信息 |
---|
public BaseRowSet()
BaseRowSet
对象,使用默认的
Vector
对象初始化其
listeners
字段。初始化时使用的其他默认值列在此类类注释的 6.0 部分。
方法详细信息 |
---|
protected void initParams()
RowSet
实现开始使用
BaseRowSet
实例提供的标准设施。
应该在实例化
RowSet
对象后再调用此方法,以正确地初始化所有参数。此方法永远
不应该由应用程序调用,而应从具有扩展此类的
RowSet
实现的对象中调用。
public void addRowSetListener(RowSetListener listener)
RowSet
对象上发生事件,就将通知该侦听器。
为了准确地反映 RowSet
对象的当前状态,侦听器可能是一个需要更新的表或图形。
注:如果 RowSetListener
对象为 null
,则此方法正常丢弃该 null
值,不向侦听器集添加 null 引用。
注:如果已经设置了侦听器,则新的 RowSetListerner
实例将添加到已注册接收此 RowSet
事件通知的侦听器集合。
listener
- 一个对象,它已经实现了
javax.sql.RowSetListener
接口并且希望在此
RowSet
对象上发生任何事件时得到通知;可以为 null。
removeRowSetListener(javax.sql.RowSetListener)
public void removeRowSetListener(RowSetListener listener)
RowSet
对象的侦听器列表中移除指定的对象。如果给定的参数不是已注册侦听器,则此方法不执行任何操作。
注:如果
RowSetListener
对象为
null
,则此方法正常丢弃该
null
值。
listener
- 位于此
RowSet
对象的侦听器列表中的
RowSetListener
对象
addRowSetListener(javax.sql.RowSetListener)
protected void notifyCursorMoved() throws SQLException
RowSet
对象注册的所有侦听器其光标已移动。
当应用程序调用某个方法移动光标时,该方法移动光标,然后内部调用此方法。应用程序永远不应该直接调用此方法。
SQLException
- 如果扩展
BaseRowSet
抽象类的类未实现
RowSet
接口或其某个子接口。
protected void notifyRowChanged() throws SQLException
RowSet
对象注册的所有侦听器其行已更改。
当应用程序调用更改某行的方法时,如 CachedRowSet
方法 insertRow
、updateRow
或 deleteRow
,该方法内部调用 notifyRowChanged
。应用程序永远不应该直接调用此方法。
SQLException
- 如果扩展
BaseRowSet
抽象类的类未实现
RowSet
接口或其某个子接口。
protected void notifyRowSetChanged() throws SQLException
RowSet
对象注册的所有侦听器其整个内容已更改。
当应用程序调用更改 RowSet
对象整个内容的方法时,如 CachedRowSet
方法 execute
、populate
、restoreOriginal
或 release
,该方法内部调用(直接或间接)notifyRowSetChanged
。应用程序永远不应该直接调用此方法。
SQLException
- 如果扩展
BaseRowSet
抽象类的类未实现
RowSet
接口或其某个子接口。
public String getCommand()
RowSet
对象的命令的 SQL 查询。command 属性包含为填充此
RowSet
对象所执行的查询。
此方法返回的 SQL 查询由 RowSet
方法使用,如 execute
和 populate
,扩展了 BaseRowSet
抽象类和实现了一个或多个标准 JSR-114 RowSet
接口的任何类都可实现这些方法。
RowSet
对象的 reader 使用该命令获得 ResultSet
对象。然后 reader 从 ResultSet
对象读取数据并使用该数据填充此 RowSet
对象。
command
属性的默认值为 null
。
String
,它是此
RowSet
对象的
command
属性的值;可以为
null
setCommand(java.lang.String)
public void setCommand(String cmd) throws SQLException
RowSet
对象的
command
属性设置为给定的
String
对象,并清除为前一个命令设置的参数(如果有)。
如果 RowSet
对象从一个不支持 command 属性的数据源获得数据(如电子表格或其他表格文件),则不需要 command
属性。因此,此属性是可选的,可以为 null
。
cmd
- 包含 SQL 查询的
String
对象,该查询将被设置为此
RowSet
对象的 command 属性;可以为
null
但不能是空字符串
SQLException
- 如果提供空字符串作为 command 值
getCommand()
public String getUrl() throws SQLException
RowSet
对象的
javax.sql.Reader
对象用来建立与关系数据库连接(使用启用 JDBC 技术的驱动程序)的 JDBC URL。
如果底层数据源是非 SQL 数据源(如电子表格或 XML 数据源),则该 Url
属性为 null
。
String
对象,该 URL 用来为此
RowSet
对象建立连接;如果未设置,则为
null
(默认值)
SQLException
- 如果获取 URL 值时发生错误
setUrl(java.lang.String)
public void setUrl(String url) throws SQLException
RowSet
对象的 Url 属性设置为给定的
String
对象,并将 dataSource 名称属性设置为
null
。Url 属性是使用启用 JDBC 技术的驱动程序(“JDBC 驱动程序”)和
DriverManager
建立连接时所使用的 JDBC URL。在驱动程序文档中可以找到特定驱动程序要使用的恰当 JDBC URL。虽然对如何形成 JDBC URL 有很多指导方针,但驱动程序供应商可以指定除长度为
0
(空字符串)以外的任何
String
对象。
如果使用 DataSource
对象而不是 DriverManager
建立连接,则设置 Url 属性是可选的。驱动程序将使用最近一次指定的 URL 属性或 dataSourceName 属性来创建连接。如果应用程序使用 JDBC URL,则必须在使用 RowSet
对象连接到数据库之前加载可接受 JDBC URL 的 JDBC 驱动程序。为了读取或写入数据,RowSet
对象将内部使用该 URL 创建数据库连接。
url
- 一个
String
对象,包含为此
RowSet
对象建立到数据库的连接时所使用的 JDBC URL;可以为
null
但不得为空字符串
SQLException
- 如果设置 Url 属性时发生错误,或者提供的参数是长度为
0
的字符串(空字符串)
getUrl()
public String getDataSourceName()
javax.sql.DataSource
对象。可使用此
DataSource
对象建立到它所表示的数据源的连接。
用户应该设置 url 或数据源名称属性。驱动程序将使用最近一次设置的属性来建立连接。
String
对象,标识建立连接所使用的
DataSource
对象;如果尚未设置逻辑名,则返回
null
。
setDataSourceName(java.lang.String)
public void setDataSourceName(String name) throws SQLException
RowSet
对象的
DataSource
名称属性设置为给定的逻辑名,并将此
RowSet
对象的 Url 属性设置为
null
。该名称必须已绑定到 JNDI 命名服务中的
DataSource
对象,这样应用程序才可以使用该名称执行查找,以获取绑定到该名称的
DataSource
对象。然后可使用此
DataSource
对象建立到它所表示的数据源的连接。
用户应该设置 Url 属性或 dataSourceName 属性。如果同时设置了两个属性,则驱动程序将使用最近一次设置的属性。
name
- 一个
String
对象,它所带的名称可提供给基于 JNDI 技术的命名服务,以获取可用于建立连接的
DataSource
对象;可以为
null
但不得为空字符串
SQLException
- 如果提供空字符串作为
DataSource
名称
zhang
public String getUsername()
execute
之前在运行时设置该属性。
String
对象,包含为创建连接而提供给数据源的用户名;如果未设置,则为
null
(默认值)
setUsername(java.lang.String)
public void setUsername(String name)
RowSet
对象的 username 属性设置为给定的用户名。因为 username 属性不是序列化的,所以在调用方法
execute
之前在运行时设置该属性。
name
-
String
对象,包含为创建连接而提供给数据源的用户名。可以为 null。
getUsername()
public String getPassword()
RowSet
对象的数据库连接的密码。因为 password 属性不是序列化的,所以在调用方法
execute
之前在运行时设置该属性。默认值为
null
。
String
对象,表示为创建连接而必须提供给数据库的密码
setPassword(java.lang.String)
public void setPassword(String pass)
RowSet
对象的数据库连接的密码设置为给定的
String
对象。因为 password 属性不是序列化的,所以在调用方法
execute
之前在运行时设置该属性。
pass
-
String
对象,表示为创建连接而提供给数据库的密码。可以为 null。
getPassword()
public void setType(int type) throws SQLException
RowSet
对象的类型设置为指定类型。默认类型是
ResultSet.TYPE_SCROLL_INSENSITIVE
。
type
- 以下常量之一:
ResultSet.TYPE_FORWARD_ONLY
、
ResultSet.TYPE_SCROLL_INSENSITIVE
或
ResultSet.TYPE_SCROLL_SENSITIVE
SQLException
- 如果提供的参数不是以下常量之一:
ResultSet.TYPE_FORWARD_ONLY
、
ResultSet.TYPE_SCROLL_INSENSITIVE
或
ResultSet.TYPE_SCROLL_SENSITIVE
getConcurrency()
,
getType()
public int getType() throws SQLException
RowSet
对象的类型。类型是由创建
RowSet
对象的语句最初确定的。
RowSet
对象可在任何时间调用方法
setType
来更改其类型。默认值是
TYPE_SCROLL_INSENSITIVE
。
RowSet
对象的类型,必须是以下值之一:
ResultSet.TYPE_FORWARD_ONLY
、
ResultSet.TYPE_SCROLL_INSENSITIVE
或
ResultSet.TYPE_SCROLL_SENSITIVE
SQLException
- 如果获得此
RowSet
对象的类型时发生错误
setType(int)
public void setConcurrency(int concurrency) throws SQLException
RowSet
对象的并发性设置为指定的并发性。所有
RowSet
对象(连接或非连接的)的默认并发性是
ResultSet.CONCUR_UPDATABLE
,但是可在任何时间调用此方法来更改该并发性。
concurrency
- 以下常量之一:
ResultSet.CONCUR_READ_ONLY
或
ResultSet.CONCUR_UPDATABLE
SQLException
- 如果提供的参数不是以下常量之一:
ResultSet.CONCUR_UPDATABLE
或
ResultSet.CONCUR_READ_ONLY
getConcurrency()
,
isReadOnly()
public boolean isReadOnly()
RowSet
对象是否为只读的
boolean
值。任何试图更新只读
RowSet
对象将导致抛出
SQLException
。默认情况下,如果可以进行更新,则 rowset 是可更新的。
RowSet
对象,则返回
true
;否则返回
false
setConcurrency(int)
,
setReadOnly(boolean)
public void setReadOnly(boolean value)
RowSet
对象的 readOnly 属性设置为给定的
boolean
值。
value
- 为
true
指示此
RowSet
对象是只读的;为
false
指示该对象是可更新的
public int getTransactionIsolation()
RowSet
对象连接的事务隔离属性。此属性表示在事务中请求使用的事务隔离级别。
对于某些 RowSet
实现,如在非连接环境中操作的 CachedRowSet
,SyncProvider
对象提供了互补的锁定和数据完整性选项。以下描述的选项仅与连接的 RowSet
对象(JdbcRowSet
对象)有关。
Connection.TRANSACTION_NONE
、
Connection.TRANSACTION_READ_UNCOMMITTED
、
Connection.TRANSACTION_READ_COMMITTED
、
Connection.TRANSACTION_REPEATABLE_READ
或
Connection.TRANSACTION_SERIALIZABLE
SyncFactory
,
SyncProvider
,
setTransactionIsolation(int)
public void setTransactionIsolation(int level) throws SQLException
RowSet
对象的事务隔离属性设置为给定的常量。如果可以,DBMS 将为事务使用此事务隔离级别。
对于某些 RowSet
实现,如在非连接环境中操作的 CachedRowSet
,所用的 SyncProvider
对象提供了互补的锁定和数据完整性选项。以下描述的选项仅与连接的 RowSet
对象(JdbcRowSet
对象)有关。
level
- 以下常量之一,按升序列出:
Connection.TRANSACTION_NONE
、
Connection.TRANSACTION_READ_UNCOMMITTED
、
Connection.TRANSACTION_READ_COMMITTED
、
Connection.TRANSACTION_REPEATABLE_READ
或
Connection.TRANSACTION_SERIALIZABLE
SQLException
- 如果给定的参数不是 Connection 常量之一
SyncFactory
,
SyncProvider
,
getTransactionIsolation()
public Map<String,Class<?>> getTypeMap()
RowSet
对象的
Connection
对象关联的类型映射表。
支持 JDBC 3.0 API 的驱动程序将创建具有关联类型映射表的 Connection
对象。此类型映射表(初始为空)可以包含一个或多个完全限定的 SQL 名,以及指示命名 SQL 值所要映射的类的 Class
对象。当没有其他类型映射取代自定义类型映射时,在连接的类型映射表中指定的类型映射将用做自定义类型映射。
如果向可以执行自定义映射的方法显式提供类型映射表,则该类型映射表将取代连接的类型映射表。
java.util.Map
对象,它是此
RowSet
对象连接的类型映射表
public void setTypeMap(Map<String,Class<?>> map)
java.util.Map
对象安装为与此
RowSet
对象的
Connection
对象关联的类型映射表。如果为方法显式提供了不同的类型映射表,则使用提供的类型映射表,否则将使用此类型映射表中所指示的自定义映射。
map
- 一个
java.util.Map
对象,包含用户定义类型 (UDT) 的 SQL 类型名称到 Java 编程语言中类的映射。
Map
对象中每一项都由 UDT 的完全限定 SQL 名称和用于该 UDT 的
SQLData
实现的
Class
对象组成。可以为
null
。
public int getMaxFieldSize() throws SQLException
RowSet
对象列值的最大字节数。此限制仅适用于包含以下类型值的列:
BINARY
、
VARBINARY
、
LONGVARBINARY
、
CHAR
、
VARCHAR
和
LONGVARCHAR
。如果超过了该限制,则正常丢弃多出的数据。
int
值;0 表示没有限制
SQLException
- 如果确定列大小的最大限制时内部发生错误
public void setMaxFieldSize(int max) throws SQLException
RowSet
对象列值的最大字节数设置为给定数。此限制仅适用于包含以下类型值的列:
BINARY
、
VARBINARY
、
LONGVARBINARY
、
CHAR
、
VARCHAR
和
LONGVARCHAR
。如果超过了该限制,则正常丢弃多出的数据。为了获得最大的可移植性,建议使用大于 256 的值。
max
- 指示新的最大列大小限制的
int
值;0 表示没有限制
SQLException
- 如果 (1) 设置最大列大小限制时内部发生错误 (2) 设置的大小小于 0
public int getMaxRows() throws SQLException
RowSet
对象可以包含的最大行数。如果超过了此限制,则正常撤消多出的行。
int
值;0 表示没有限制
SQLException
- 如果确定
Rowset
对象可以包含的最大行数限制时内部发生错误
public void setMaxRows(int max) throws SQLException
RowSet
对象可以包含的最大行数设置为给定数。如果超过了此限制,则正常撤消多出的行。
max
- 指示当前最大行数的
int
值;0 表示没有限制
SQLException
- 如果设置 JDBC
RowSet
对象可以包含的最大行数限制时内部发生错误;如果
max 小于
0
;如果
max 小于
RowSet
的
fetchSize
public void setEscapeProcessing(boolean enable) throws SQLException
boolean
值,指示将 SQL 语句发送到数据库之前,驱动程序是否扫描转义语法并进行转义替换。默认值是驱动程序执行转义处理。
注:因为 PreparedStatement
对象通常在调用此方法之前解析,所以对准备的语句禁用转义处理无效。
enable
- 为
true
表示启用转义处理;为
false
表示禁用该处理
SQLException
- 如果设置底层启用 JDBC 技术的驱动程序处理转义语法时发生错误
public int getQueryTimeout() throws SQLException
SQLException
。
SQLException
- 如果确定查询超时值时发生错误
public void setQueryTimeout(int seconds) throws SQLException
SQLException
。
seconds
- 新的查询超时限制,以秒为单位;0 表示没有限制;不得小于 0
SQLException
- 如果设置查询超时值时发生错误,如果查询超时值小于 0
public boolean getShowDeleted() throws SQLException
boolean
值,该值指示标记为删除的行是否会出现在当前行集合中。默认值为
false
。
注:允许保持已删除行可见会使某些方法的行为变得复杂。但是,多数 RowSet
对象的用户可以简单地忽略此额外细节,因为只有极其特殊的应用程序才会利用此功能。
true
;否则返回
false
SQLException
- 如果确定已删除行是否可见时发生错误
setShowDeleted(boolean)
public void setShowDeleted(boolean value) throws SQLException
showDeleted
设置为给定的
boolean
值,该值指示标记为删除的行是否会出现在当前行集合中。
value
- 如果已删除行是可见的,则为
true
;否则为
false
SQLException
- 如果设置已删除行是否可见时发生错误
getShowDeleted()
public boolean getEscapeProcessing() throws SQLException
RowSet
对象启用了转义处理。
true
;否则返回
false
SQLException
- 如果在确定是否启用转义处理时发生错误,或者尚未启用内部转义处理触发器
public void setFetchDirection(int direction) throws SQLException
RowSet
对象中各行时使用的方向。驱动程序可以忽略此提示。
RowSet
对象继承它从中获取数据的 ResultSet
对象的默认属性。该 ResultSet
对象的默认获取方向由创建它的 Statement
对象设置。
仅在 RowSet
对象已使用 JDBC 驱动程序连接到数据库时,此方法才适用。
RowSet
对象可在任何时间使用此方法来更改其有关获取方向的设置。
direction
-
ResultSet.FETCH_FORWARD
、
ResultSet.FETCH_REVERSE
或
ResultSet.FETCH_UNKNOWN
之一
SQLException
- 如果 (1)
RowSet
类型是
TYPE_FORWARD_ONLY
并且给定的获取方向不是
FETCH_FORWARD
(2) 给定的获取方向不是以下值之一:ResultSet.FETCH_FORWARD、ResultSet.FETCH_REVERSE 或 ResultSet.FETCH_UNKNOWN
getFetchDirection()
public int getFetchDirection() throws SQLException
RowSet
对象的当前有关获取方向的设置。默认类型是
ResultSet.FETCH_FORWARD
。
ResultSet.FETCH_FORWARD
、
ResultSet.FETCH_REVERSE
或
ResultSet.FETCH_UNKNOWN
之一
SQLException
- 如果确定获取行的当前获取方向时发生错误
setFetchDirection(int)
public void setFetchSize(int rows) throws SQLException
RowSet
对象的获取大小设置为给定的行数。获取大小为启用 JDBC 技术的驱动程序(“JDBC 驱动程序”)提供了一个提示,该提示指示此
RowSet
对象还需要行时应该从数据库获取的行数。如果指定的获取大小为 0,则驱动程序忽略该值,随意对获取大小作出它自己的最佳猜测。
RowSet
对象继承它从中获取数据的 ResultSet
对象的默认属性。该 ResultSet
对象的默认获取大小由创建它的 Statement
对象设置。
仅在 RowSet
对象已使用 JDBC 驱动程序连接到数据库时,此方法才适用。对于连接的 RowSet
实现(如 JdbcRowSet
),此方法对底层 JDBC 驱动程序直接并立即产生影响。
RowSet
对象可在任何时间使用此方法来更改其有关获取大小的设置。
对于某些 RowSet
实现,如在非连接环境中操作的 CachedRowSet
,正在使用的 SyncProvider
对象可以利用获取大小来轮询数据源、获取不超过该获取大小的多个行,以及获取可以形成原始查询所返回的实际行子集的多个行。这种实现的变化由非连接 RowSet
对象所使用的具体 SyncProvider
对象确定。
rows
- 要获取的行数;
0
让驱动程序决定最佳的获取大小;不得小于
0
或大于此
RowSet
对象允许的最大行数(调用方法
getMaxRows()
返回的数目)
SQLException
- 如果指定的获取大小小于
0
或大于最大行数限制
getFetchSize()
public int getFetchSize() throws SQLException
RowSet
对象的获取大小。默认值为 0。
RowSet
对象还需要从数据库获取行时,建议作为获取大小的行数
SQLException
- 如果确定当前获取大小中的行数时发生错误
setFetchSize(int)
public int getConcurrency() throws SQLException
RowSet
对象的并发性。对于连接和非连接
RowSet
对象而言,默认值都是
CONCUR_UPDATABLE
。
应用程序可以在任何时间调用方法 setConcurrency
来更改 RowSet
对象的并发性。
RowSet
对象的并发性类型,必须是以下值之一:
ResultSet.CONCUR_READ_ONLY
或
ResultSet.CONCUR_UPDATABLE
SQLException
- 如果获得此
RowSet
对象的并发性时发生错误
setConcurrency(int)
,
isReadOnly()
public void setNull(int parameterIndex, int sqlType) throws SQLException
NULL
。注意,必须使用
java.sql.Types
中定义的某个类型代码指定参数的 SQL 类型。在第二个参数中指定此 SQL 类型。
注意,第二个参数告知 DBMS 值的数据类型被设置为 NULL
。某些 DBMS 需要此信息,所以为了使代码更容易移植,此信息是必需的。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用这种形式的 setNull
后再调用方法 getParams
将返回一个 Object
数组,其中包含已经设置的参数值。在该数组中,表示使用此方法所设置的值的元素本身也是一个数组。该数组的第一个元素为 null
。第二个元素是为 sqlType 设置的值。参数编号由方法 getParams
返回的数组中元素的位置指示,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。换句话说,如果将第二个占位符参数设置为 null
,则包含该值的数组是 getParams
返回的数组中的第二个元素。
注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
sqlType
- 一个
int
值,是类
Types
中定义的 SQL 类型代码之一。如果提供了非标准的
sqlType,则此方法不会抛出
SQLException
。这隐含着对非标准 SQL 类型的支持。
SQLException
- 如果发生数据库访问错误或者给定的参数索引超出范围
getParams()
public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException
NULL
。 虽然这种形式的
setNull
方法用于用户定义的参数和
REF
参数,但是也可使用此方法设置任意 JDBC 类型的 null 参数。以下是用户定义的类型:
STRUCT
、
DISTINCT
、
JAVA_OBJECT
和指定数组类型。
注:为了便于移植,在指定 NULL
用户定义参数或 REF
参数时,应用程序必须提供 SQL 类型代码和完全限定的 SQL 类型名称。在用户定义类型的情况下,名称是参数本身的类型名称。对于 REF
参数,名称是所引用类型的类型名称。如果启用 JDBC 技术的驱动程序不需要类型代码和类型名称信息,那么它可以忽略这些信息。
如果该参数没有用户定义的类型或 REF
类型,则忽略给定的 typeName
参数。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用这种形式的 setNull
后再调用方法 getParams
将返回一个 Object
数组,其中包含已经设置的参数值。在该数组中,表示使用此方法所设置的值的元素本身也是一个数组。该数组的第一个元素为 null
。第二个元素是为 sqlType 设置的值,第三个元素是为 typeName 设置的值。参数编号由方法 getParams
返回的数组中元素的位置指示,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。换句话说,如果将第二个占位符参数设置为 null
,则包含该值的数组是 getParams
返回的数组中的第二个元素。
注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
sqlType
-
java.sql.Types
中的值
typeName
- SQL 用户定义类型的完全限定名,如果该参数不是用户定义类型或
REF
值,则忽略该参数
SQLException
- 如果发生错误或者给定的参数索引超出范围
getParams()
public void setBoolean(int parameterIndex, boolean x) throws SQLException
boolean
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
BIT
值。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 参数值
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setByte(int parameterIndex, byte x) throws SQLException
byte
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
TINYINT
值。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 参数值
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setShort(int parameterIndex, short x) throws SQLException
short
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
SMALLINT
值。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 参数值
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setInt(int parameterIndex, int x) throws SQLException
int
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
INTEGER
值。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 参数值
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setLong(int parameterIndex, long x) throws SQLException
long
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
BIGINT
值。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 参数值
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setFloat(int parameterIndex, float x) throws SQLException
float
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
FLOAT
值。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 参数值
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setDouble(int parameterIndex, double x) throws SQLException
double
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
DOUBLE
值。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 参数值
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException
java.lang.BigDecimal
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
NUMERIC
值。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 参数值
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setString(int parameterIndex, String x) throws SQLException
String
值。在将此值发送给数据库时,驱动程序将它转换成一个 SQL
VARCHAR
或
LONGVARCHAR
值(取决于该参数相对于驱动程序在
VARCHAR
值上的限制的相对大小)。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 参数值
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setBytes(int parameterIndex, byte[] x) throws SQLException
VARBINARY
或
LONGVARBINARY
值(取决于该参数相对于驱动程序在
VARBINARY
值上的限制的相对大小)。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 参数值
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setDate(int parameterIndex, Date x) throws SQLException
java.sql.Date
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
DATE
值。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用这种形式的 setDate
后再调用方法 getParams
将返回一个数组,其中要为占位符参数编号 parameterIndex 设置的值是作为第二个参数提供的 Date
对象。注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 参数值
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setTime(int parameterIndex, Time x) throws SQLException
java.sql.Time
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
TIME
值。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用这种形式的 setTime
方法后再调用方法 getParams
将返回一个已经设置的参数所组成的数组。要为参数占位符编号 parameterIndex 进行设置的参数是设置为此方法第二个参数的 Time
对象。
注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 一个
java.sql.Time
对象,将设置为占位符参数
parameterIndex 的值
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException
java.sql.Timestamp
值。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
TIMESTAMP
值。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用这种形式的 setTimestamp
后再调用方法 getParams
将返回一个数组,其中占位符参数编号 parameterIndex 的值是作为此方法第二个参数提供的 Timestamp
对象。注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 一个
java.sql.Timestamp
对象
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException
java.io.InputStream
对象,该对象将具有指定的字节数。将读取该流的内容并发送到数据库。如果读取并发送到数据库的字节数不等于
length,则此方法抛出
SQLException
对象。
在将一个非常大的 ASCII 值输入到 LONGVARCHAR
参数时,通过 java.io.InputStream
对象将它发送给参数可能更实际一些。在到达文件末尾之前,启用 JDBC 技术的驱动程序将根据需要从该流读取数据。驱动程序将执行从 ASCII 到数据库 CHAR
格式的任何必要转换。
注:此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用 setAsciiStream
后再调用方法 getParams
将返回一个数组,其中包含已经设置的参数值。在该数组中,表示使用此方法所设置的值的元素本身也是一个数组。该数组的第一个元素是给定的 java.io.InputStream
对象。第二个元素是为 length 设置的值。第三个元素是内部 BaseRowSet
常量,指示传递到此方法的流是一个 ASCII 流。参数编号由方法 getParams
返回的数组中元素的位置指示,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。换句话说,如果正在设置的输入流是第二个占位符参数的值,则包含该值的数组将是 getParams
返回数组中的第二个元素。
注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是元素编号 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 包含 ASCII 参数值的 Java 输入流
length
- 流中的字节数。这是驱动程序要发送到 DBMS 的字节数;长度为 0 或小于 0 是未定义的,但会导致在底层 JDBC 驱动程序中抛出无效长度异常。
SQLException
- 如果发生错误、参数索引超出范围,或者当连接到数据源时,驱动程序读取和发送到数据库的字节数不等于
length 中指定的字节数
getParams()
public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException
RowSet
对象命令中的指定参数设置为给定输入流。在将一个非常大的 ASCII 值输入到
LONGVARCHAR
参数时,通过
java.io.InputStream
发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 ASCII 到数据库 char 格式的任何必要转换。
注: 此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
注: 请参考 JDBC 驱动程序文档确定使用带有长度参数的 setAsciiStream
是否更有效。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
x
- 包含 ASCII 参数值的 Java 输入流
SQLException
- 如果发生数据库访问错误或者在关闭的
PreparedStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException
java.io.InputStream
对象,该对象具有指定的字节数。将读取该流的内容并发送到数据库。如果读取并发送到数据库的字节数不等于
length,则此方法抛出
SQLException
对象。
在将一个非常大的二进制值输入到 LONGVARBINARY
参数时,通过 java.io.InputStream
对象发送它可能更为实际。在到达文件末尾之前,启用 JDBC 技术的驱动程序将根据需要从该流读取数据。
注:此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用 setBinaryStream
后再调用方法 getParams
将返回一个数组,其中包含已经设置的参数值。在该数组中,表示使用此方法所设置的值的元素本身也是一个数组。该数组的第一个元素是给定的 java.io.InputStream
对象。第二个元素是为 length 设置的值。第三个元素是内部 BaseRowSet
常量,指示传递到此方法的流是一个二进制流。参数编号由方法 getParams
返回的数组中元素的位置指示,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。换句话说,如果正在设置的输入流是第二个占位符参数的值,则包含该值的数组将是 getParams
返回数组中的第二个元素。
注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是元素编号 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 包含要设置的二进制值的输入流
length
- 流中的字节数;长度为 0 或小于 0 是未定义的,但会导致在底层 JDBC 驱动程序中抛出无效长度异常。
SQLException
- 如果发生错误、参数索引超出范围,或者当连接到数据源时,驱动程序读取和发送到数据库的字节数不等于
length 中指定的字节数
getParams()
public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException
RowSet
对象命令中的指定参数设置为给定输入流。在将一个非常大的二进制值输入到
LONGVARBINARY
参数时,通过
java.io.InputStream
对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。
注: 此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
注: 请参考 JDBC 驱动程序文档确定使用带有长度参数的 setBinaryStream
是否更有效。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
x
- 包含二进制参数值的 java 输入流
SQLException
- 如果发生数据库访问错误或者在关闭的
PreparedStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
java.io.InputStream
对象,该对象具有指定的字节数。将读取该流的内容并发送到数据库。如果读取和发送到数据库的字节数不等于
length,则此方法抛出
SQLException
。
在将一个非常大的 Unicode 值输入到 LONGVARCHAR
参数时,通过 java.io.InputStream
对象发送它可能更为实际。在到达文件末尾之前,启用 JDBC 技术的驱动程序将根据需要从该流读取数据。驱动程序将执行从 Unicode 到数据库 CHAR
格式的任何必要转换。Unicode 流的字节格式必须是 Java UTF-8,这在 Java 虚拟机规范中定义。
注:此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
此方法已废弃,应该使用 getCharacterStream
替代它。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。调用 setUnicodeStream
后再调用方法 getParams
将返回一个数组,其中包含已经设置的参数值。在该数组中,表示使用此方法所设置的值的元素本身也是一个数组。该数组的第一个元素是给定的 java.io.InputStream
对象。第二个元素是为 length 设置的值。第三个元素是内部 BaseRowSet
常量,指示传递到此方法的流是一个 Unicode 流。参数编号由方法 getParams
返回的数组中元素的位置指示,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。换句话说,如果正在设置的输入流是第二个占位符参数的值,则包含该值的数组将是 getParams
返回数组中的第二个元素。
注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是元素编号 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 包含 UNICODE 参数值的
java.io.InputStream
对象
length
- 输入流中的字节数
SQLException
- 如果发生错误、参数索引超出范围,或者驱动程序读取和发送到数据库的字节数不等于
length 中指定的字节数
getParams()
public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException
java.io.Reader
对象,该对象具有指定的字符数。将读取该 reader 的内容并发送到数据库。如果读取和发送到数据库的字节数不等于
length,则此方法抛出
SQLException
。
在将一个非常大的 Unicode 值输入到 LONGVARCHAR
参数时,通过 Reader
对象发送它可能更为实际。在到达文件末尾之前,启用 JDBC 技术的驱动程序将根据需要从该流读取数据。驱动程序将执行从 Unicode 到数据库 CHAR
格式的任何必要转换。Unicode 流的字节格式必须是 Java UTF-8,这在 Java 虚拟机规范中定义。
注:此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用 setCharacterStream
后再调用方法 getParams
将返回一个数组,其中包含已经设置的参数值。在该数组中,表示使用此方法所设置的值的元素本身也是一个数组。该数组的第一个元素是给定的 java.io.Reader
对象。第二个元素是为 length 设置的值。参数编号由方法 getParams
返回的数组中元素的位置指示,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。换句话说,如果正在设置的 reader 是第二个占位符参数的值,则包含该值的数组将是 getParams
返回数组中的第二个元素。
注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是元素编号 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
reader
- 包含 Unicode 数据的
Reader
对象
length
- 流中的字符数;长度为 0 或小于 0 是未定义的,但会导致在底层 JDBC 驱动程序中抛出无效长度异常。
SQLException
- 如果发生错误、参数索引超出范围,或者当连接到数据源时,驱动程序读取和发送到数据库的字节数不等于
length 中指定的字节数
getParams()
public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException
RowSet
对象命令中的指定参数设置为给定的
Reader
对象。在将一个非常大的 UNICODE 值输入到
LONGVARCHAR
参数时,通过
java.io.Reader
对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 UNICODE 到数据库 char 格式的任何必要转换。
注: 此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
注: 请参考 JDBC 驱动程序文档确定使用带有长度参数的 setCharacterStream
是否更有效。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
reader
- 包含 Unicode 数据的
java.io.Reader
对象
SQLException
- 如果发生数据库访问错误或者在关闭的
PreparedStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setObject(int parameterIndex, Object x, int targetSqlType, int scale) throws SQLException
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
- 如果发生错误或者参数索引超出范围
getParams()
public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException
Object
值设置指定参数的值。此方法类似于
setObject(int parameterIndex, Object x, int targetSqlType, int scale)
,不同之处在于它假定 scale 为 0。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用这种形式的 setObject
后再调用方法 getParams
将返回一个数组,其中包含已经设置的参数值。在该数组中,表示使用此方法所设置的值的元素本身也是一个数组。该数组的第一个元素是给定的 Object
实例。第二个元素是为 targetSqlType 设置的值。参数编号由方法 getParams
返回的数组中元素的位置指示,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。换句话说,如果正在设置的对象是第二个占位符参数的值,则包含该值的数组是 getParams
返回数组中的第二个元素。
注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是元素编号 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 包含输入参数值的
Object
;必须是
Object
类型
targetSqlType
- 要发送到数据库的 SQL 类型(在
java.sql.Types
中定义)。如果提供了非标准的
targetSqlType,则此方法不会抛出
SQLException
。这隐含着对非标准 SQL 类型的支持。
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setObject(int parameterIndex, Object x) throws SQLException
Object
。第二个参数必须是
Object
类型。对于整数值,应该使用
java.lang
等效对象。例如,为
int
使用类
Integer
。
JDBC 规范定义了一个从 Java Object
类型到 SQL 类型的标准映射。在将给定的对象发送到数据库之前,驱动程序使用此标准映射将其转换为对应的 SQL 类型。如果对象具有自定义映射(属于实现 SQLData
的类),则驱动程序应该调用 SQLData.writeSQL
方法将该对象写入 SQL 数据流中。
另一方面,如果该对象是实现 Ref
、Blob
、Clob
、Struct
或 Array
的类,则驱动程序应该将它作为相应 SQL 类型的值传递给数据库。
如果出现混淆,例如如果该对象是实现多个接口的类,则此方法抛出异常。
注意,此方法可用于传递特定于数据库的抽象数据类型。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用此方法后再调用方法 getParams
将返回一个当前命令参数的 object 数组,其中包括已为占位符参数编号 parameterIndex
设置的 Object
。注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是元素编号 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 包含输入参数值的对象
SQLException
- 如果发生错误、参数索引超出范围,或者在要设置的对象实现方面存在混淆
getParams()
public void setRef(int parameterIndex, Ref ref) throws SQLException
Ref
对象。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
REF
值。在内部,该
Ref
被表示成
SerialRef
,以确保可序列化性。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用此方法后再调用方法 getParams
将返回一个当前命令参数的 object 数组,其中包括已为占位符参数编号 parameterIndex
设置的 Ref
对象。注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是元素编号 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
ref
- 表示 SQL
REF
值的
Ref
对象;不能为 null
SQLException
- 如果发生错误、参数索引超出范围,或者
Ref
对象为
null
;或者
Ref
对象返回
null
基本类型名称。
getParams()
,
SerialRef
public void setBlob(int parameterIndex, Blob x) throws SQLException
Blob
对象。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
BLOB
值。在内部,该
Blob
被表示成
SerialBlob
,以确保可序列化性。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用此方法后再调用方法 getParams
将返回一个当前命令参数的 object 数组,其中包括已为占位符参数编号 parameterIndex
设置的 Blob
对象。注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是元素编号 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 表示 SQL
BLOB
值的
Blob
对象
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
,
SerialBlob
public void setClob(int parameterIndex, Clob x) throws SQLException
Clob
对象。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
CLOB
值。在内部,该
Clob
被表示成
SerialClob
,以确保可序列化性。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用此方法后再调用方法 getParams
将返回一个当前命令参数的 object 数组,其中包括已为占位符参数编号 parameterIndex
设置的 Clob
对象。注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是元素编号 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 表示 SQL
CLOB
值的
Clob
对象;不能为 null
SQLException
- 如果发生错误、参数索引超出范围,或者
Clob
为 null
getParams()
,
SerialBlob
public void setArray(int parameterIndex, Array array) throws SQLException
Array
对象。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
ARRAY
值。在内部,该
Array
被表示成
SerialArray
,以确保可序列化性。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用此方法后再调用方法 getParams
将返回一个当前命令参数的 object 数组,其中包括已为占位符参数编号 parameterIndex
设置的 Array
对象。注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是元素编号 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
array
- 表示 SQL
ARRAY
值的
Array
对象,不能为 null。传递到此方法的
Array
对象必须对所有调用的
getArray()
方法返回非 null 的 Object。null 值将导致抛出
SQLException
。
SQLException
- 如果发生错误、参数索引超出范围或者
ARRAY
为 null
getParams()
,
SerialArray
public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException
java.sql.Date
对象。当 DBMS 不存储时区信息时,驱动程序将使用给定的
Calendar
对象构造要发送到数据库的 SQL
DATE
值。利用
Calendar
对象,驱动程序可以在考虑自定义时区的情况下计算日期。如果没有指定任何
Calendar
对象,则驱动程序使用运行应用程序的虚拟机所在的时区。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用这种形式的 setDate
后再调用方法 getParams
将返回一个数组,其中包含已经设置的参数值。在该数组中,表示使用此方法所设置的值的元素本身也是一个数组。该数组的第一个元素是给定的 java.sql.Date
对象。第二个元素是为 cal 设置的值。参数编号由方法 getParams
返回的数组中元素的位置指示,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。换句话说,如果正在设置的 date 是第二个占位符参数的值,则包含该值的数组是 getParams
返回数组中的第二个元素。
注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 表示 SQL
DATE
值的
java.sql.Date
对象
cal
- 构造日期时所使用的
java.util.Calendar
对象
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException
java.sql.Time
对象。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
TIME
值。
当 DBMS 不存储时区信息时,驱动程序将使用给定的 Calendar
对象构造要发送到数据库的 SQL TIME
值。利用 Calendar
对象,驱动程序可以在考虑自定义时区的情况下计算日期。如果没有指定任何 Calendar
对象,则驱动程序使用运行应用程序的虚拟机所在的时区。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用这种形式的 setTime
后再调用方法 getParams
将返回一个数组,其中包含已经设置的参数值。在该数组中,表示使用此方法所设置的值的元素本身也是一个数组。该数组的第一个元素是给定的 java.sql.Time
对象。第二个元素是为 cal 设置的值。参数编号由方法 getParams
返回的数组中元素的位置指示,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。换句话说,如果正在设置的 time 是第二个占位符参数的值,则包含该值的数组是 getParams
返回数组中的第二个元素。
注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 一个
java.sql.Time
对象
cal
- 驱动程序可用来构造时间的
java.util.Calendar
对象
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException
java.sql.Timestamp
对象。在将该对象发送到数据库时,驱动程序将它转换成一个 SQL
TIMESTAMP
值。
当 DBMS 不存储时区信息时,驱动程序将使用给定的 Calendar
对象构造要发送到数据库的 SQL TIMESTAMP
值。利用 Calendar
对象,驱动程序可以在考虑自定义时区的情况下计算 timestamp。如果没有指定任何 Calendar
对象,则驱动程序使用运行应用程序的虚拟机所在的时区。
此方法设置的参数值是内部存储的,当调用方法 execute
时,将该值作为此 RowSet
对象命令中的适当参数提供。必须在扩展此类和实现了一个或多个标准 JSR-114 RowSet
接口的所有类中提供 execute
和 populate
之类的方法。
注:JdbcRowSet
不需要 populate
方法,因为它没有在此类中定义。
调用这种形式的 setTimestamp
后再调用方法 getParams
将返回一个数组,其中包含已经设置的参数值。在该数组中,表示使用此方法所设置的值的元素本身也是一个数组。该数组的第一个元素是给定的 java.sql.Timestamp
对象。第二个元素是为 cal 设置的值。参数编号由方法 getParams
返回的数组中元素的位置指示,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。换句话说,如果正在设置的 timestamp 是第二个占位符参数的值,则包含该值的数组是 getParams
返回数组中的第二个元素。
注意,因为数组中的元素编号从 0 开始,所以对应于占位符参数编号 parameterIndex 的数组元素是 parameterIndex -1。
parameterIndex
- 此
RowSet
对象命令中要设置的占位符参数的序号。第一个参数是 1,第二个参数是 2,依此类推;必须大于等于
1
x
- 一个
java.sql.Timestamp
对象
cal
- 驱动程序构造 timestamp 所使用的
java.util.Calendar
对象
SQLException
- 如果发生错误或者参数索引超出范围
getParams()
public void clearParameters() throws SQLException
RowSet
对象的内部参数表示形式的当前参数值,这些参数值将在执行此
RowSet
对象的命令时在其中设置这些参数。
通常参数值对此 RowSet
对象的重复使用仍然有效。使用设置方法设置参数值可自动清除指定参数的值,并用新的指定值替换该值。
此方法由 setCommand
方法内部调用,以清除前一条命令设置的所有参数。
另外,此方法与 initParams
方法的不同之处在于它保持 RowSet
对象的模式。
SQLException
- 如果清除参数时发生错误
public Object[] getParams() throws SQLException
RowSet
对象命令设置的参数值(包括 Object 和基本类型),如果尚未设置任何参数,则抛出
SQLException
对象。将命令发送到 DBMS 执行前,这些参数将替换
PreparedStatement
对象中的占位符参数,该对象是用于扩展了
BaseRowSet
类的
RowSet
实现的命令。
返回数组的每个元素都是一个 Object
实例,包含提供给设置方法的参数值。元素的顺序由提供给 parameterIndex 的值确定。如果设置方法仅带有参数索引和要设置的值(可能为 null),则数组元素将包含要设置的值(以 Object
的形式表示)。如果还有附加参数,则数组元素本身就是一个数组,包含要设置的值和所有提供给设置方法的附加参数值。如果该方法设置一个流,则数组元素包括将提供给该方法的流类型。这些附加参数供驱动程序或 DBMS 使用,可以使用这些参数,也可以不使用。
注:类型 Array
、Blob
、Clob
和 Ref
的已存储参数值分别以 SerialArray
、SerialBlob
、SerialClob
和 SerialRef
的形式返回。
Object
实例所组成的数组,包括在此
RowSet
对象的命令中所设置的参数值;如果尚未设置任何参数,则返回空数组
SQLException
- 如果获取此
RowSet
对象参数的对象数组时发生错误,或者并非所有的参数都已经设置
public void setNull(String parameterName, int sqlType) throws SQLException
NULL
。
注: 必须指定参数的 SQL 类型。
parameterName
- 参数的名称
sqlType
-
java.sql.Types
中定义的 SQL 类型代码
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setNull(String parameterName, int sqlType, String typeName) throws SQLException
NULL
。这种
setNull
方法应该用于用户定义类型和 REF 类型参数。用户定义类型的示例有:STRUCT、DISTINCT、JAVA_OBJECT 和指定数组类型。
注: 为了便于移植,在指定 NULL 用户定义参数或 REF 参数时,应用程序必须提供 SQL 类型代码和完全限定的 SQL 类型名称。对于用户定义类型,名称是参数本身的类型名称。对于 REF 参数,名称是所引用类型的类型名称。 如果 JDBC 驱动程序不需要类型代码或类型名称信息,那么它可以忽略这些信息。 尽管此方法供用户定义参数和 Ref 参数使用,但也可以使用它来设置任何 JDBC 类型的 null 参数。如果该参数不具有用户定义类型或 REF 类型,则忽略给定 typeName。
parameterName
- 参数的名称
sqlType
- 取自
java.sql.Types
的值
typeName
- SQL 用户定义类型的完全限定名称;如果该参数不是用户定义类型或 SQL
REF
值,则忽略它
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setBoolean(String parameterName, boolean x) throws SQLException
boolean
值。在将此值发送到数据库时,驱动程序将其转换为 SQL
BIT
或
BOOLEAN
值。
parameterName
- 参数的名称
x
- 参数值
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getBoolean
public void setByte(String parameterName, byte x) throws SQLException
byte
值。在将此值发送到数据库时,驱动程序将其转换为 SQL
TINYINT
值。
parameterName
- 参数的名称
x
- 参数值
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getByte
public void setShort(String parameterName, short x) throws SQLException
short
值。在将此值发送到数据库时,驱动程序将其转换为 SQL
SMALLINT
值。
parameterName
- 参数的名称
x
- 参数值
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getShort
public void setInt(String parameterName, int x) throws SQLException
int
值。在将此值发送到数据库时,驱动程序将其转换为 SQL
INTEGER
值。
parameterName
- 参数的名称
x
- 参数值
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getInt
public void setLong(String parameterName, long x) throws SQLException
long
值。在将此值发送到数据库时,驱动程序将其转换为 SQL
BIGINT
值。
parameterName
- 参数的名称
x
- 参数值
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getLong
public void setFloat(String parameterName, float x) throws SQLException
float
值。在将此值发送到数据库时,驱动程序将其转换为 SQL
FLOAT
值。
parameterName
- 参数的名称
x
- 参数值
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getFloat
public void setDouble(String parameterName, double x) throws SQLException
double
值。在将此值发送到数据库时,驱动程序将其转换为 SQL
DOUBLE
值。
parameterName
- 参数的名称
x
- 参数值
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getDouble
public void setBigDecimal(String parameterName, BigDecimal x) throws SQLException
java.math.BigDecimal
值。在将此值发送到数据库时,驱动程序将其转换为 SQL
NUMERIC
值。
parameterName
- 参数的名称
x
- 参数值
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getBigDecimal
public void setString(String parameterName, String x) throws SQLException
String
值。在将此值发送到数据库时,驱动程序将其转换为 SQL
VARCHAR
或
LONGVARCHAR
值(具体取决于该参数相对于驱动程序在
VARCHAR
值上的限制的大小)。
parameterName
- 参数的名称
x
- 参数值
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getString
public void setBytes(String parameterName, byte[] x) throws SQLException
VARBINARY
或
LONGVARBINARY
值(具体取决于该参数相对于驱动程序在
VARBINARY
值上的限制的大小)。
parameterName
- 参数的名称
x
- 参数值
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getBytes
public void setTimestamp(String parameterName, Timestamp x) throws SQLException
java.sql.Timestamp
值。在将此值发送到数据库时,驱动程序将其转换为 SQL
TIMESTAMP
值。
parameterName
- 参数的名称
x
- 参数值
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getTimestamp
public void setAsciiStream(String parameterName, InputStream x, int length) throws SQLException
LONGVARCHAR
参数时,通过
java.io.InputStream
发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 ASCII 到数据库 char 格式的任何必要转换。
注: 此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
parameterName
- 参数的名称
x
- 包含 ASCII 参数值的 Java 输入流
length
- 流中的字节数
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setBinaryStream(String parameterName, InputStream x, int length) throws SQLException
LONGVARBINARY
参数时,通过
java.io.InputStream
对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。
注: 此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
parameterName
- 参数的名称
x
- 包含二进制参数值的 java 输入流
length
- 流中的字节数
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setCharacterStream(String parameterName, Reader reader, int length) throws SQLException
Reader
对象,该对象是给定的字符长度数目。在将一个非常大的 UNICODE 值输入到
LONGVARCHAR
参数时,通过
java.io.Reader
对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 UNICODE 到数据库 char 格式的任何必要转换。
注: 此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
parameterName
- 参数的名称
reader
- 包含用作指定参数的 UNICODE 数据的
java.io.Reader
对象
length
- 流中的字符数
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setAsciiStream(String parameterName, InputStream x) throws SQLException
LONGVARCHAR
参数时,通过
java.io.InputStream
发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 ASCII 到数据库 char 格式的任何必要转换。
注: 此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
注: 请参考 JDBC 驱动程序文档确定使用带有长度参数的 setAsciiStream
是否更有效。
parameterName
- 参数的名称
x
- 包含 ASCII 参数值的 Java 输入流
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setBinaryStream(String parameterName, InputStream x) throws SQLException
LONGVARBINARY
参数时,通过
java.io.InputStream
对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。
注: 此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
注: 请参考 JDBC 驱动程序文档确定使用带有长度参数的 setBinaryStream
是否更有效。
parameterName
- 参数的名称
x
- 包含二进制参数值的 Java 输入流
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setCharacterStream(String parameterName, Reader reader) throws SQLException
Reader
对象。在将一个非常大的 UNICODE 值输入到
LONGVARCHAR
参数时,通过
java.io.Reader
对象发送它可能更为实际。将根据需要从流中读取数据,一直读取到文件末尾。JDBC 驱动程序将执行从 UNICODE 到数据库 char 格式的任何必要转换。
注: 此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
注: 请参考 JDBC 驱动程序文档确定使用带有长度参数的 setCharacterStream
是否更有效。
parameterName
- 参数的名称
reader
- 包含 Unicode 数据的
java.io.Reader
对象
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException
RowSet
对象命令中的指定参数设置为
Reader
对象。
Reader
读取数据,一直读取到文件末尾。驱动程序将执行从 Java 字符格式到数据库中国家字符集 (national character set) 的必要转换。
注: 此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
注: 请参考 JDBC 驱动程序文档确定使用带有长度参数的 setNCharacterStream
是否更有效。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
value
- 参数值
SQLException
- 如果驱动程序不支持国家字符集;如果驱动程序检测到可能发生数据转换错误;如果发生数据库访问错误;如果在关闭的
PreparedStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setObject(String parameterName, Object x, int targetSqlType, int scale) throws SQLException
java.lang
的等效对象。
在发送到数据库之前,给定 Java 对象将被转换为给定的 targetSqlType。 如果对象具有自定义映射关系(属于实现 SQLData
接口的类),则 JDBC 驱动程序应该调用 SQLData.writeSQL
方法将它写入 SQL 数据流中。另一方面,如果对象是实现 Ref
、Blob
、Clob
、NClob
、Struct
、java.net.URL
或 Array
的类,则驱动程序应该将其作为相应 SQL 类型的值传递给数据库。
注意,此方法可用于传递特定于数据库的抽象数据类型。
parameterName
- 参数的名称
x
- 包含输入参数值的对象
targetSqlType
- 将发送给数据库的 SQL 类型(在 java.sql.Types 中定义)。scale 参数可以进一步限定此类型。
scale
- 对于 java.sql.Types.DECIMAL 或 java.sql.Types.NUMERIC 类型,该值是小数点后的位数。对于所有其他类型,将忽略此值。
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果
targetSqlType
是
ARRAY
、
BLOB
、
CLOB
、
DATALINK
、
JAVA_OBJECT
、
NCHAR
、
NCLOB
、
NVARCHAR
、
LONGNVARCHAR
、
REF
、
ROWID
、
SQLXML
或
STRUCT
数据类型并且 JDBC 驱动程序不支持此数据类型
Types
,
#getObject
public void setObject(String parameterName, Object x, int targetSqlType) throws SQLException
setObject
方法,不同之处在于它假定 scale 为 0。
parameterName
- 参数的名称
x
- 包含输入参数值的对象
targetSqlType
- 将发送给数据库的 SQL 类型(在 java.sql.Types 中定义)
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果
targetSqlType
是
ARRAY
、
BLOB
、
CLOB
、
DATALINK
、
JAVA_OBJECT
、
NCHAR
、
NCLOB
、
NVARCHAR
、
LONGNVARCHAR
、
REF
、
ROWID
、
SQLXML
或
STRUCT
数据类型并且 JDBC 驱动程序不支持此数据类型
#getObject
public void setObject(String parameterName, Object x) throws SQLException
Object
类型;所以,应该对内置类型使用
java.lang
的等效对象。
JDBC 规范指定一个从 Java Object
类型到 SQL 类型的标准映射关系。在发送到数据库之前,给定参数将被转换为相应的 SQL 类型。
注意,通过使用特定于驱动程序的 Java 类型,此方法可用于传递特定于数据库的抽象数据类型。 如果对象是实现 SQLData
接口的类,则 JDBC 驱动程序应该调用 SQLData.writeSQL
方法将它写入 SQL 数据流中。另一方面,如果对象是实现 Ref
、Blob
、Clob
、NClob
、Struct
、java.net.URL
或 Array
的类,则驱动程序应该将其作为相应 SQL 类型的值传递给数据库。
如果出现混淆,例如,此对象是实现多个上述指定接口的类,则此方法抛出异常。
parameterName
- 参数的名称
x
- 包含输入参数值的对象
SQLException
- 如果发生数据库访问错误,在关闭的
CallableStatement
上调用此方法或者给定
Object
参数不明确
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getObject
public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException
InputStream
对象。inputstream 必须包含 length 所指定的字符数,否则,在执行
PreparedStatement
时将生成
SQLException
。此方法不同于
setBinaryStream (int, InputStream, int)
方法,因为它通知驱动程序参数值应该以
BLOB
的形式发送到服务器。使用
setBinaryStream
方法时,驱动程序必须做额外的工作来确定参数数据是以
LONGVARBINARY
还是
BLOB
的形式发送到服务器。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
inputStream
- 包含用来设置参数值的数据的对象。
length
- 参数数据中的字节数。
SQLException
- 如果发生数据库访问错误;如果在关闭的
PreparedStatement
上调用此方法;如果 parameterIndex 不对应 SQL 语句中的参数标记;如果指定长度小于 0 或者 inputstream 中的字节数不匹配指定长度。
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException
InputStream
对象。此方法不同于
setBinaryStream (int, InputStream)
方法,因为它通知驱动程序参数值应该以
BLOB
的形式发送到服务器。使用
setBinaryStream
方法时,驱动程序必须做额外的工作来确定参数数据是以
LONGVARBINARY
还是
BLOB
的形式发送到服务器。
注: 请参考 JDBC 驱动程序文档确定使用带有长度参数的 setBlob
是否更有效。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
inputStream
- 包含用来设置参数值的数据的对象。
SQLException
- 如果发生数据库访问错误,在关闭的
PreparedStatement
上调用此方法或者 parameterIndex 不对应 SQL 语句中的参数标记
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException
InputStream
对象。
inputstream
必须包含 length 所指定的字符数,否则,在执行
CallableStatement
时将生成
SQLException
。此方法不同于
setBinaryStream (int, InputStream, int)
方法,因为它通知驱动程序参数值应该以
BLOB
的形式发送到服务器。使用
setBinaryStream
方法时,驱动程序必须做额外的工作来确定参数数据是以
LONGVARBINARY
还是
BLOB
的形式发送到服务器。
parameterName
- 要设置的参数名称
inputStream
- 包含用来设置参数值的数据的对象。
length
- 参数数据中的字节数。
SQLException
- 如果 parameterIndex 不对应 SQL 语句中的参数标记,或者指定长度小于 0;如果 inputstream 中的字节数不匹配指定长度;如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setBlob(String parameterName, Blob x) throws SQLException
java.sql.Blob
对象。在将此值发送到数据库时,驱动程序将其转换为 SQL
BLOB
值。
parameterName
- 参数的名称
x
- 映射 SQL
BLOB
值的
Blob
对象
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setBlob(String parameterName, InputStream inputStream) throws SQLException
InputStream
对象。此方法不同于
setBinaryStream (int, InputStream)
方法,因为它通知驱动程序参数值应该以
BLOB
的形式发送到服务器。使用
setBinaryStream
方法时,驱动程序必须做额外的工作来确定参数数据是以
LONGVARBINARY
还是
BLOB
的形式发送到服务器。
注: 请参考 JDBC 驱动程序文档确定使用带有长度参数的 setBlob
是否更有效。
parameterName
- 参数的名称
inputStream
- 包含用来设置参数值的数据的对象。
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setClob(int parameterIndex, Reader reader, long length) throws SQLException
Reader
对象。reader 必须包含 length 所指定的字符数,否则,在执行
PreparedStatement
时将生成
SQLException
。此方法不同于
setCharacterStream (int, Reader, int)
方法,因为它通知驱动程序参数值应该以
CLOB
的形式发送到服务器。使用
setCharacterStream
方法时,驱动程序必须做额外的工作来确定参数数据是以
LONGVARCHAR
还是
CLOB
的形式发送到服务器。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
reader
- 包含用来设置参数值的数据的对象。
length
- 参数数据中的字符数。
SQLException
- 如果发生数据库访问错误,或者在关闭的
PreparedStatement
上调用此方法;如果 parameterIndex 不对应 SQL 语句中的参数标记,或者指定长度小于 0。
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setClob(int parameterIndex, Reader reader) throws SQLException
Reader
对象。此方法不同于
setCharacterStream (int, Reader)
方法,因为它通知驱动程序参数值应该以
CLOB
的形式发送到服务器。使用
setCharacterStream
方法时,驱动程序必须做额外的工作来确定参数数据是以
LONGVARCHAR
还是
CLOB
的形式发送到服务器。
注: 请参考 JDBC 驱动程序文档确定使用带有长度参数的 setClob
是否更有效。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
reader
- 包含用来设置参数值的数据的对象。
SQLException
- 如果发生数据库访问错误,在关闭的
PreparedStatement
上调用此方法或者 parameterIndex 不对应 SQL 语句中的参数标记
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setClob(String parameterName, Reader reader, long length) throws SQLException
Reader
对象。
reader
必须包含 length 所指定的字符数,否则,在执行
CallableStatement
时将生成
SQLException
。此方法不同于
setCharacterStream (int, Reader, int)
方法,因为它通知驱动程序参数值应该以
CLOB
的形式发送到服务器。使用
setCharacterStream
方法时,驱动程序必须做额外的工作来确定参数数据是以
LONGVARCHAR
还是
CLOB
的形式发送到服务器。
parameterName
- 要设置的参数的名称
reader
- 包含用来设置参数值的数据的对象。
length
- 参数数据中的字符数。
SQLException
- 如果 parameterIndex 不对应 SQL 语句中的参数标记;如果指定长度小于 0;如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setClob(String parameterName, Clob x) throws SQLException
java.sql.Clob
对象。在将此值发送到数据库时,驱动程序将其转换为 SQL
CLOB
值。
parameterName
- 参数的名称
x
- 映射 SQL
CLOB
值的
Clob
对象
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setClob(String parameterName, Reader reader) throws SQLException
Reader
对象。此方法不同于
setCharacterStream (int, Reader)
方法,因为它通知驱动程序参数值应该以
CLOB
的形式发送到服务器。使用
setCharacterStream
方法时,驱动程序必须做额外的工作来确定参数数据是以
LONGVARCHAR
还是
CLOB
的形式发送到服务器。
注: 请参考 JDBC 驱动程序文档确定使用带有长度参数的 setClob
是否更有效。
parameterName
- 参数的名称
reader
- 包含用来设置参数值的数据的对象。
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setDate(String parameterName, Date x) throws SQLException
java.sql.Date
值。在将此值发送到数据库时,驱动程序将其转换为 SQL
DATE
值。
parameterName
- 参数的名称
x
- 参数值
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getDate
public void setDate(String parameterName, Date x, Calendar cal) throws SQLException
Calendar
对象将指定参数设置为给定的
java.sql.Date
值。驱动程序使用
Calendar
对象构造一个 SQL
DATE
值,该值随后被驱动程序发送到数据库。利用
Calendar
对象,驱动程序可以在考虑自定义时区的情况下计算日期。如果没有指定任何
Calendar
对象,则驱动程序使用默认时区,该时区是运行应用程序的虚拟机所在的时区。
parameterName
- 参数的名称
x
- 参数值
cal
- 驱动程序将用来构造日期的
Calendar
对象
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getDate
public void setTime(String parameterName, Time x) throws SQLException
java.sql.Time
值。在将此值发送到数据库时,驱动程序将其转换为 SQL
TIME
值。
parameterName
- 参数的名称
x
- 参数值
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getTime
public void setTime(String parameterName, Time x, Calendar cal) throws SQLException
Calendar
对象将指定参数设置为给定的
java.sql.Time
值。驱动程序使用
Calendar
对象构造一个 SQL
TIME
值,该值随后被驱动程序发送到数据库。利用
Calendar
对象,驱动程序可以在考虑自定义时区的情况下计算时间。如果没有指定任何
Calendar
对象,则驱动程序使用默认时区,该时区是运行应用程序的虚拟机所在的时区。
parameterName
- 参数的名称
x
- 参数值
cal
- 驱动程序将用来构造时间的
Calendar
对象
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getTime
public void setTimestamp(String parameterName, Timestamp x, Calendar cal) throws SQLException
Calendar
对象将指定参数设置为给定的
java.sql.Timestamp
值。驱动程序使用
Calendar
对象构造一个 SQL
TIMESTAMP
值,该值随后被驱动程序发送到数据库。利用
Calendar
对象,驱动程序可以在考虑自定义时区的情况下计算时间戳。如果没有指定任何
Calendar
对象,则驱动程序使用默认时区,该时区是运行应用程序的虚拟机所在的时区。
parameterName
- 参数的名称
x
- 参数值
cal
- 驱动程序将用来构造时间戳的
Calendar
对象
SQLException
- 如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
#getTimestamp
public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException
java.sql.SQLXML
对象。在将此值发送到数据库时,驱动程序将其转换为 SQL
XML
值。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
xmlObject
- 映射 SQL
XML
值的
SQLXML
对象
SQLException
- 如果发生数据库访问错误,在关闭的结果集上调用此方法,没有为
SQLXML
对象关闭
java.xml.transform.Result
、
Writer
或
OutputStream
,或者在处理 XML 值时发生错误。异常的
getCause
方法可以提供更详细的异常,例如,如果该流不包含有效的 XML。
public void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException
java.sql.SQLXML
对象。在将此值发送到数据库时,驱动程序将其转换为
SQL XML
值。
parameterName
- 参数的名称
xmlObject
- 映射
SQL XML
值的
SQLXML
对象
SQLException
- 如果发生数据库访问错误,在关闭的结果集上调用此方法,没有为
SQLXML
对象关闭
java.xml.transform.Result
、
Writer
或
OutputStream
,或者在处理 XML 值时发生错误。异常的
getCause
方法可以提供更详细的异常,例如,如果该流不包含有效的 XML。
public void setRowId(int parameterIndex, RowId x) throws SQLException
java.sql.RowId
对象。在将此值发送到数据库时,驱动程序将其转换为 SQL
ROWID
值。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
x
- 参数值
SQLException
- 如果发生数据库访问错误
public void setRowId(String parameterName, RowId x) throws SQLException
java.sql.RowId
对象。在将此值发送到数据库时,驱动程序将其转换为 SQL
ROWID
。
parameterName
- 参数的名称
x
- 参数值
SQLException
- 如果发生数据库访问错误
public void setNString(int parameterIndex, String value) throws SQLException
String
对象。在将此值发送到数据库时,驱动程序将其转换为 SQL
NCHAR
、
NVARCHAR
或
LONGNVARCHAR
值(具体取决于该参数相对于驱动程序在
NVARCHAR
值上的限制的大小)。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
value
- 参数值
SQLException
- 如果驱动程序不支持国家字符集;如果驱动程序检测到可能发生数据转换错误;或者发生数据库访问错误
public void setNString(String parameterName, String value) throws SQLException
String
对象。驱动程序将此值转换为 SQL
NCHAR
、
NVARCHAR
或
LONGNVARCHAR
parameterName
- 要设置的列的名称
value
- 参数值
SQLException
- 如果驱动程序不支持国家字符集;如果驱动程序检测到可能发生数据转换错误;或者发生数据库访问错误
public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException
Reader
对象。
Reader
读取数据,一直读取到文件末尾。驱动程序将执行从 Java 字符格式到数据库中国家字符集的必要转换。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
value
- 参数值
length
- 参数数据中的字符数。
SQLException
- 如果驱动程序不支持国家字符集;如果驱动程序检测到可能发生数据转换错误;或者发生数据库访问错误
public void setNCharacterStream(String parameterName, Reader value, long length) throws SQLException
Reader
对象。
Reader
读取数据,一直读取到文件末尾。驱动程序将执行从 Java 字符格式到数据库中国家字符集的必要转换。
parameterName
- 要设置的列的名称
value
- 参数值
length
- 参数数据中的字符数。
SQLException
- 如果驱动程序不支持国家字符集;如果驱动程序检测到可能发生数据转换错误;或者发生数据库访问错误
public void setNCharacterStream(String parameterName, Reader value) throws SQLException
Reader
对象。
Reader
读取数据,一直读取到文件末尾。驱动程序将执行从 Java 字符格式到数据库中国家字符集的必要转换。
注: 此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
注: 请参考 JDBC 驱动程序文档确定使用带有长度参数的 setNCharacterStream
是否更有效。
parameterName
- 参数的名称
value
- 参数值
SQLException
- 如果驱动程序不支持国家字符集;如果驱动程序检测到可能发生数据转换错误;如果发生数据库访问错误;或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setNClob(String parameterName, NClob value) throws SQLException
java.sql.NClob
对象。该对象实现
java.sql.NClob
接口。此
NClob
对象映射到 SQL
NCLOB
。
parameterName
- 要设置的列的名称
value
- 参数值
SQLException
- 如果驱动程序不支持国家字符集;如果驱动程序检测到可能发生数据转换错误;或者发生数据库访问错误
public void setNClob(String parameterName, Reader reader, long length) throws SQLException
Reader
对象。
reader
必须包含 length 所指定的字符数,否则,在执行
CallableStatement
时将生成
SQLException
。此方法不同于
setCharacterStream (int, Reader, int)
方法,因为它通知驱动程序参数值应该以
NCLOB
的形式发送到服务器。使用
setCharacterStream
方法时,驱动程序必须做额外的工作来确定参数数据是以
LONGNVARCHAR
还是
NCLOB
的形式发送到服务器。
parameterName
- 要设置的参数的名称
reader
- 包含用来设置参数值的数据的对象。
length
- 参数数据中的字符数。
SQLException
- 如果 parameterIndex 不对应 SQL 语句中的参数标记;如果指定长度小于 0;如果驱动程序不支持国家字符集;如果驱动程序检测到可能发生数据转换错误;如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setNClob(String parameterName, Reader reader) throws SQLException
Reader
对象。此方法不同于
setCharacterStream (int, Reader)
方法,因为它通知驱动程序参数值应该以
NCLOB
的形式发送到服务器。使用
setCharacterStream
方法时,驱动程序必须做额外的工作来确定参数数据是以
LONGNVARCHAR
还是
NCLOB
的形式发送到服务器。
注: 请参考 JDBC 驱动程序文档确定使用带有长度参数的 setNClob
是否更有效。
parameterName
- 参数的名称
reader
- 包含用来设置参数值的数据的对象。
SQLException
- 如果驱动程序不支持国家字符集;如果驱动程序检测到可能发生数据转换错误;如果发生数据库访问错误或者在关闭的
CallableStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException
Reader
对象。reader 必须包含 length 所指定的字符数,否则,在执行
PreparedStatement
时将会生成
SQLException
。此方法不同于
setCharacterStream (int, Reader, int)
方法,因为它通知驱动程序参数值应该以
NCLOB
的形式发送到服务器。使用
setCharacterStream
方法时,驱动程序必须做额外的工作来确定参数数据是以
LONGNVARCHAR
还是
NCLOB
的形式发送到服务器。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
reader
- 包含用来设置参数值的数据的对象。
length
- 参数数据中的字符数。
SQLException
- 如果 parameterIndex 不对应 SQL 语句中的参数标记;如果指定长度小于 0;如果驱动程序不支持国家字符集;如果驱动程序检测到可能发生数据转换错误;如果发生数据库访问错误或者在关闭的
PreparedStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setNClob(int parameterIndex, NClob value) throws SQLException
java.sql.NClob
对象。在将此值发送到数据库时,驱动程序将其转换为 SQL
NCLOB
值。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
value
- 参数值
SQLException
- 如果驱动程序不支持国家字符集;如果驱动程序检测到可能发生数据转换错误;或者发生数据库访问错误
public void setNClob(int parameterIndex, Reader reader) throws SQLException
Reader
对象。此方法不同于
setCharacterStream (int, Reader)
方法,因为它通知驱动程序参数值应该以
NCLOB
的形式发送到服务器。使用
setCharacterStream
方法时,驱动程序必须做额外的工作来确定参数数据是以
LONGNVARCHAR
还是
NCLOB
的形式发送到服务器
注: 请参考 JDBC 驱动程序文档确定使用带有长度参数的 setNClob
是否更有效。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
reader
- 包含用来设置参数值的数据的对象。
SQLException
- 如果 parameterIndex 不对应 SQL 语句中的参数标记;如果驱动程序不支持国家字符集;如果驱动程序检测到可能发生数据转换错误;如果发生数据库访问错误或者在关闭的
PreparedStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
public void setURL(int parameterIndex, URL x) throws SQLException
java.net.URL
值。在将此值发送到数据库时,驱动程序将其转换为 SQL
DATALINK
值。
parameterIndex
- 第一个参数的索引是 1,第二个参数的索引是 2 ……
x
- 要设置的
java.net.URL
对象
SQLException
- 如果发生数据库访问错误或者在关闭的
PreparedStatement
上调用此方法
SQLFeatureNotSupportedException
- 如果 JDBC 驱动程序不支持此方法
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。