|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
public interface RowSet
该接口添加了对 JavaBeansTM 组件模型的 JDBC API 支持。rowset 可用作可视化 Bean 开发环境中的 JavaBeans 组件,它可以在设计时创建和配置并在运行时执行。
RowSet
接口提供一组 JavaBeans 属性,这些属性允许配置一个 RowSet
实例来连接 JDBC 数据源并从中读取某些数据。一组设置方法(setInt
、setBytes
、setString
等等)提供将输入参数传递到 rowset 命令属性的方式。在一般情况下,此命令是 rowset 从关系数据库获取其数据时所使用的 SQL 查询。
RowSet
接口支持 JavaBeans 事件,允许应用程序中的其他组件在 rowset 发生事件时(如值的更改)得到通知。
RowSet
接口是唯一的,因为需要使用其他 JDBC API 来实现它。换句话说,RowSet
实现是在 JDBC 驱动程序“顶部”执行的软件层。任何人都可以提供 RowSet
接口的实现,包括希望将 RowSet
实现作为其 JDBC 产品的一部分提供的 JDBC 驱动程序供应商。
RowSet
对象可以建立一个与数据源的连接并在其整个生命周期中维持该连接,在此情况下,该对象被称为连接的 rowset。rowset 还可以建立一个与数据源的连接,从其获取数据,然后关闭它。这种 rowset 被称为非连接 rowset。非连接 rowset 可以在断开时更改其数据,然后将这些更改发送回原始数据源,不过它必须重新建立连接才能完成此操作。
非连接 rowset 可以具有与之关联的 reader(RowSetReader
对象)和 writer(RowSetWriter
对象)。可以多种方式实现 reader 来使用数据填充 rowset,包括从非关系型数据源获取数据。也可以多种方式实现 writer 来将对 rowset 的数据所做的更改传回底层数据源。
Rowset 易于使用。RowSet
接口扩展了标准 java.sql.ResultSet
接口。RowSetMetaData
接口扩展了 java.sql.ResultSetMetaData
接口。因此,熟悉 JDBC API 的开发人员必须学习少数几个新 API 才能使用 rowset。此外,与 JDBC ResultSet
对象配套使用的第三方软件工具也可以方便地用于 rowset。
字段摘要 |
---|
方法摘要 | |
---|---|
void |
addRowSetListener(RowSetListener listener)
注册给定的侦听器,以便此 RowSet 对象上发生事件时将得到通知。 |
void |
clearParameters()
清除为此 RowSet 对象命令设置的参数。 |
void |
execute()
使用数据填充此 RowSet 对象。 |
String |
getCommand()
检索此 RowSet 对象的命令属性。 |
String |
getDataSourceName()
检索标识此 RowSet 对象的数据源的逻辑名称。 |
boolean |
getEscapeProcessing()
检索是否为此 RowSet 对象启用转义处理。 |
int |
getMaxFieldSize()
检索可以对某些列值返回的最大字节数。 |
int |
getMaxRows()
检索此 RowSet 对象可以包含的最大行数。 |
String |
getPassword()
检索用于创建数据库连接的密码。 |
int |
getQueryTimeout()
检索驱动程序等待语句执行的最大秒数。 |
int |
getTransactionIsolation()
检索为此 RowSet 对象设置的事务隔离级别。 |
Map<String,Class<?>> |
getTypeMap()
检索与此 RowSet 对象关联的 Map 对象,该对象指定 SQL 用户定义类型的自定义映射关系(如果有)。 |
String |
getUrl()
如果此 RowSet 对象使用 DriverManager 而非 DataSource 对象建立连接,则检索创建连接时将使用的 url 属性。 |
String |
getUsername()
检索用于创建此 RowSet 对象的数据库连接的用户名。 |
boolean |
isReadOnly()
检索此 RowSet 对象是否是只读的。 |
void |
removeRowSetListener(RowSetListener listener)
从在此 RowSet 对象上发生事件时得到通知的组件所组成的列表中移除指定的侦听器。 |
void |
setArray(int i,
Array x)
使用给定的 Array 值设置此 RowSet 对象命令中的指定参数。 |
void |
setAsciiStream(int parameterIndex,
InputStream x,
int length)
将此 RowSet 对象命令中的指定参数设置为给定的 java.io.InputStream 值。 |
void |
setBigDecimal(int parameterIndex,
BigDecimal x)
将此 RowSet 对象命令中的指定参数设置为给定的 java.math.BigDeciaml 值。 |
void |
setBinaryStream(int parameterIndex,
InputStream x,
int length)
将此 RowSet 对象命令中的指定参数设置为给定的 java.io.InputStream 值。 |
void |
setBlob(int i,
Blob x)
使用给定的 Blob 值设置此 RowSet 对象命令中的指定参数。 |
void |
setBoolean(int parameterIndex,
boolean x)
将此 RowSet 对象命令中的指定参数设置为给定的 Java boolean 值。 |
void |
setByte(int parameterIndex,
byte x)
将此 RowSet 对象命令中的指定参数设置为给定的 Java byte 值。 |
void |
setBytes(int parameterIndex,
byte[] x)
将此 RowSet 对象命令中的指定参数设置为给定的 Java byte 值数组。 |
void |
setCharacterStream(int parameterIndex,
Reader reader,
int length)
将此 RowSet 对象命令中的指定参数设置为给定的 java.io.Reader 值。 |
void |
setClob(int i,
Clob x)
使用给定的 Clob 值设置此 RowSet 对象命令中的指定参数。 |
void |
setCommand(String cmd)
将此 RowSet 对象的命令属性设置为给定的 SQL 查询。 |
void |
setConcurrency(int concurrency)
将此 RowSet 对象的并发性设置为给定的并发级别。 |
void |
setDataSourceName(String name)
将此 RowSet 对象的数据源名称属性设置为给定的 String 。 |
void |
setDate(int parameterIndex,
Date x)
将此 RowSet 对象命令中的指定参数设置为给定的 java.sql.Date 值。 |
void |
setDate(int parameterIndex,
Date x,
Calendar cal)
使用给定的 java.sql.Date 值设置此 RowSet 对象命令中的指定参数。 |
void |
setDouble(int parameterIndex,
double x)
将此 RowSet 对象命令中的指定参数设置为给定的 Java double 值。 |
void |
setEscapeProcessing(boolean enable)
将此 RowSet 对象的转义处理设置为开或关。 |
void |
setFloat(int parameterIndex,
float x)
将此 RowSet 对象命令中的指定参数设置为给定的 Java float 值。 |
void |
setInt(int parameterIndex,
int x)
将此 RowSet 对象命令中的指定参数设置为给定的 Java int 值。 |
void |
setLong(int parameterIndex,
long x)
将此 RowSet 对象命令中的指定参数设置为给定的 Java long 值。 |
void |
setMaxFieldSize(int max)
将可以对列值返回的最大字节数设置为给定字节数。 |
void |
setMaxRows(int max)
将此 RowSet 对象可以包含的最大行数设置为指定数。 |
void |
setNull(int parameterIndex,
int sqlType)
将此 RowSet 对象的 SQL 命令中的指定参数设置为 SQL NULL 。 |
void |
setNull(int paramIndex,
int sqlType,
String typeName)
将此 RowSet 对象的 SQL 命令中的指定参数设置为 SQL NULL 。 |
void |
setObject(int parameterIndex,
Object x)
使用 Java Object 设置此 RowSet 对象命令中的指定参数。 |
void |
setObject(int parameterIndex,
Object x,
int targetSqlType)
使用 Java Object 设置此 RowSet 对象命令中的指定参数。 |
void |
setObject(int parameterIndex,
Object x,
int targetSqlType,
int scale)
使用给定的 Java Object 设置此 RowSet 对象命令中的指定参数。 |
void |
setPassword(String password)
将此 RowSet 对象的数据库密码设置为给定的 String 。 |
void |
setQueryTimeout(int seconds)
将驱动程序等待语句执行的最大秒数设置为给定秒数。 |
void |
setReadOnly(boolean value)
将此 RowSet 对象的只读性设置为给定的 boolean 值。 |
void |
setRef(int i,
Ref x)
使用给定的 Ref 值设置此 RowSet 对象命令中的指定参数。 |
void |
setShort(int parameterIndex,
short x)
将此 RowSet 对象命令中的指定参数设置为给定的 Java short 值。 |
void |
setString(int parameterIndex,
String x)
将此 RowSet 对象命令中的指定参数设置为给定的 Java String 值。 |
void |
setTime(int parameterIndex,
Time x)
将此 RowSet 对象命令中的指定参数设置为给定的 java.sql.Time 值。 |
void |
setTime(int parameterIndex,
Time x,
Calendar cal)
使用给定的 java.sql.Time 值设置此 RowSet 对象命令中的指定参数。 |
void |
setTimestamp(int parameterIndex,
Timestamp x)
将此 RowSet 对象命令中的指定参数设置为给定的 java.sql.Timestamp 值。 |
void |
setTimestamp(int parameterIndex,
Timestamp x,
Calendar cal)
使用给定的 java.sql.Timestamp 值设置此 RowSet 对象命令中的指定参数。 |
void |
setTransactionIsolation(int level)
设置此 RowSet 对象的事务隔离级别。 |
void |
setType(int type)
将此 RowSet 对象的类型设置为给定类型。 |
void |
setTypeMap(Map<String,Class<?>> map)
将给定的 java.util.Map 对象安装为此 RowSet 对象的默认类型映射表。 |
void |
setUrl(String url)
设置此 RowSet 对象在使用 DriverManager 创建连接时将使用的 URL。 |
void |
setUsername(String name)
将此 RowSet 对象的用户名属性设置为给定的 String 。 |
方法详细信息 |
---|
String getUrl() throws SQLException
RowSet
对象使用 DriverManager
而非 DataSource
对象建立连接,则检索创建连接时将使用的 url 属性。默认值为 null
。
SQLException
- 如果发生数据库访问错误setUrl(java.lang.String)
void setUrl(String url) throws SQLException
RowSet
对象在使用 DriverManager
创建连接时将使用的 URL。
设置此属性是可选的。如果使用 URL,则在使用 rowset 连接到数据库之前,应用程序必须加载接受 URL 的 JDBC 驱动程序。在读取或写入数据时,rowset 将在内部使用 URL 创建数据库连接。创建连接时可能使用 URL,也可能使用数据源名称,具体取决于最近一次指定的是哪一个。
url
- 字符串值;可以为 null
SQLException
- 如果发生数据库访问错误getUrl()
String getDataSourceName()
RowSet
对象的数据源的逻辑名称。用户应该设置 url 属性或数据源名称属性。rowset 将使用最近设置的属性获取连接。
setDataSourceName(java.lang.String)
,
setUrl(java.lang.String)
void setDataSourceName(String name) throws SQLException
RowSet
对象的数据源名称属性设置为给定的 String
。
可以使用数据源名称属性的值来查找已经在命名服务中注册的 DataSource
对象。完成检索后,可以使用 DataSource
对象创建到它所表示的数据源的连接。
name
- 此 RowSet
对象数据源的逻辑名称
SQLException
- 如果发生数据库访问错误getDataSourceName()
String getUsername()
RowSet
对象的数据库连接的用户名。用户名属性是在调用 execute
方法前在运行时设置的。它通常不是 RowSet
对象的序列化状态的一部分。
setUsername(java.lang.String)
void setUsername(String name) throws SQLException
RowSet
对象的用户名属性设置为给定的 String
。
name
- 用户名
SQLException
- 如果发生数据库访问错误getUsername()
String getPassword()
execute
方法前在运行时设置的。它通常不是 RowSet
对象的序列化状态的一部分。
setPassword(java.lang.String)
void setPassword(String password) throws SQLException
RowSet
对象的数据库密码设置为给定的 String
。
password
- 密码字符串
SQLException
- 如果发生数据库访问错误getPassword()
int getTransactionIsolation()
RowSet
对象设置的事务隔离级别。
Connection.TRANSACTION_READ_UNCOMMITTED
、Connection.TRANSACTION_READ_COMMITTED
、Connection.TRANSACTION_REPEATABLE_READ
或 Connection.TRANSACTION_SERIALIZABLE
之一setTransactionIsolation(int)
void setTransactionIsolation(int level) throws SQLException
RowSet
对象的事务隔离级别。
level
- 事务隔离级别;Connection.TRANSACTION_READ_UNCOMMITTED
、Connection.TRANSACTION_READ_COMMITTED
、Connection.TRANSACTION_REPEATABLE_READ
或 Connection.TRANSACTION_SERIALIZABLE
之一
SQLException
- 如果发生数据库访问错误getTransactionIsolation()
Map<String,Class<?>> getTypeMap() throws SQLException
RowSet
对象关联的 Map
对象,该对象指定 SQL 用户定义类型的自定义映射关系(如果有)。默认类型映射为空。
java.util.Map
对象,该对象包含 SQL 用户定义类型的名称及其映射到的 Java 类
SQLException
- 如果发生数据库访问错误setTypeMap(java.util.Map>)
void setTypeMap(Map<String,Class<?>> map) throws SQLException
java.util.Map
对象安装为此 RowSet
对象的默认类型映射表。在通过方法参数提供另一个类型映射表之前,将一直使用此类型映射表。
map
- 一个 java.util.Map
对象,该对象包含 SQL 用户定义类型的名称及其映射到的 Java 类
SQLException
- 如果发生数据库访问错误getTypeMap()
String getCommand()
RowSet
对象的命令属性。
命令属性包含命令字符串,该字符串必须为 SQL 查询,执行该查询可以使用数据填充 rowset。默认值为 null
。
null
setCommand(java.lang.String)
void setCommand(String cmd) throws SQLException
RowSet
对象的命令属性设置为给定的 SQL 查询。
当 rowset 从不支持命令的数据源(如电子表格)获取数据时,此属性是可选的。
cmd
- 将用于为此 RowSet
对象获取数据的 SQL 查询;可以为 null
SQLException
- 如果发生数据库访问错误getCommand()
boolean isReadOnly()
RowSet
对象是否是只读的。如果能够进行更新,则默认 rowset 为可更新。
试图更新只读 rowset 将导致抛出 SQLException
。
RowSet
对象是只读的,则返回 true
;如果它是可更新的,则返回 false
setReadOnly(boolean)
void setReadOnly(boolean value) throws SQLException
RowSet
对象的只读性设置为给定的 boolean
值。
value
- 如果只读,则该值为 true
;如果可更新,则为 false
SQLException
- 如果发生数据库访问错误isReadOnly()
int getMaxFieldSize() throws SQLException
BINARY
、VARBINARY
、LONGVARBINARYBINARY
、CHAR
、VARCHAR
和 LONGVARCHAR
列。如果超过了该限制,则默认丢弃多出的数据。
SQLException
- 如果发生数据库访问错误setMaxFieldSize(int)
void setMaxFieldSize(int max) throws SQLException
BINARY
、VARBINARY
、LONGVARBINARYBINARY
、CHAR
、VARCHAR
和 LONGVARCHAR
列。如果超过了该限制,则默认丢弃多出的数据。为了获得最大的可移植性,应该使用大于 256 的值。
max
- 以字节为单位的新最大列大小限制;零表示没有任何限制
SQLException
- 如果发生数据库访问错误getMaxFieldSize()
int getMaxRows() throws SQLException
RowSet
对象可以包含的最大行数。如果超过了该限制,则正常撤消多出的行。
RowSet
对象可以包含的当前最大行数;零表示不存在任何限制
SQLException
- 如果发生数据库访问错误setMaxRows(int)
void setMaxRows(int max) throws SQLException
RowSet
对象可以包含的最大行数设置为指定数。如果超过了该限制,则正常撤消多出的行。
max
- 新最大行数;零表示没有任何限制
SQLException
- 如果发生数据库访问错误getMaxRows()
boolean getEscapeProcessing() throws SQLException
RowSet
对象启用转义处理。如果启用转义扫描(默认值),则驱动程序在将 SQL 语句发送到数据库之前将执行转义替换。
true
;如果禁用,则返回 false
SQLException
- 如果发生数据库访问错误setEscapeProcessing(boolean)
void setEscapeProcessing(boolean enable) throws SQLException
RowSet
对象的转义处理设置为开或关。如果转义扫描为开启(默认值),则驱动程序在将 SQL 语句发送到数据库之前将执行转义替换。
enable
- 为 true
表示启用转义处理;为 false
表示禁用转义处理
SQLException
- 如果发生数据库访问错误getEscapeProcessing()
int getQueryTimeout() throws SQLException
SQLException
。
SQLException
- 如果发生数据库访问错误setQueryTimeout(int)
void setQueryTimeout(int seconds) throws SQLException
SQLException
。
seconds
- 以秒为单位的新查询超时限制;零表示不存在任何限制
SQLException
- 如果发生数据库访问错误getQueryTimeout()
void setType(int type) throws SQLException
RowSet
对象的类型设置为给定类型。此方法用于更改 rowset 的类型,默认情况下该类型为只读且不可滚动。
type
- 以下指定类型的 ResultSet
常量之一:ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
或 ResultSet.TYPE_SCROLL_SENSITIVE
SQLException
- 如果发生数据库访问错误ResultSet.getType()
void setConcurrency(int concurrency) throws SQLException
RowSet
对象的并发性设置为给定的并发级别。此方法用于更改 rowset 的并发级别,默认情况下为 ResultSet.CONCUR_READ_ONLY
。
concurrency
- 以下指定并发级别的 ResultSet
常量之一:ResultSet.CONCUR_READ_ONLY
或 ResultSet.CONCUR_UPDATABLE
SQLException
- 如果发生数据库访问错误ResultSet.getConcurrency()
void setNull(int parameterIndex, int sqlType) throws SQLException
RowSet
对象的 SQL 命令中的指定参数设置为 SQL NULL
。
注: 必须指定参数的 SQL 类型。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。sqlType
- 由 java.sql.Types
定义的 SQL 类型代码
SQLException
- 如果发生数据库访问错误void setNull(int paramIndex, int sqlType, String typeName) throws SQLException
RowSet
对象的 SQL 命令中的指定参数设置为 SQL NULL
。这种 setNull
方法应该用于 SQL 用户定义的类型 (UDT) 和 REF
类型参数。UDT 的例子包括:STRUCT
、DISTINCT
、JAVA_OBJECT
和指定数组类型。
注: 为了便于移植,在指定 NULL UDT 或 REF
参数时,应用程序必须提供 SQL 类型代码和全限定 SQL 类型名称。对于 UDT 参数,名称是参数本身的类型名称。对于 REF
参数,名称是所引用类型的类型名称。如果 JDBC 驱动程序不需要类型代码或类型名称信息,那么它可以忽略此信息。
尽管此方法适合 UDT 和 REF
参数使用,但可以使用此方法来设置任意 JDBC 类型的 null 参数。如果该参数没有用户定义的类型或 REF
类型,则忽略 typeName 参数。
paramIndex
- 第一个参数是 1,第二个参数是 2,依此类推。sqlType
- 取自 java.sql.Types
的值typeName
- SQL UDT 的完全限定名或 REF
类型引用的 SQL 结构化类型的名称;如果不是 UDT 或 REF
类型,则忽略该参数
SQLException
- 如果发生数据库访问错误void setBoolean(int parameterIndex, boolean x) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 Java boolean
值。在将此值发送到数据库之前,驱动程序将其转换为 SQL BIT
值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值
SQLException
- 如果发生数据库访问错误void setByte(int parameterIndex, byte x) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 Java byte
值。在将此值发送到数据库之前,驱动程序将其转换为 SQL TINYINT
值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值
SQLException
- 如果发生数据库访问错误void setShort(int parameterIndex, short x) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 Java short
值。在将此值发送到数据库之前,驱动程序将其转换为 SQL SMALLINT
值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值
SQLException
- 如果发生数据库访问错误void setInt(int parameterIndex, int x) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 Java int
值。在将此值发送到数据库之前,驱动程序将其转换为 SQL INTEGER
值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值
SQLException
- 如果发生数据库访问错误void setLong(int parameterIndex, long x) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 Java long
值。在将此值发送到数据库之前,驱动程序将其转换为 SQL BIGINT
值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值
SQLException
- 如果发生数据库访问错误void setFloat(int parameterIndex, float x) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 Java float
值。在将此值发送到数据库之前,驱动程序将其转换为 SQL REAL
值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值
SQLException
- 如果发生数据库访问错误void setDouble(int parameterIndex, double x) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 Java double
值。在将此值发送到数据库之前,驱动程序将其转换为 SQL DOUBLE
值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值
SQLException
- 如果发生数据库访问错误void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 java.math.BigDeciaml
值。在将此值发送到数据库之前,驱动程序将其转换为 SQL NUMERIC
值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值
SQLException
- 如果发生数据库访问错误void setString(int parameterIndex, String x) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 Java String
值。在将此值发送给数据库之前,驱动程序将其转换为 SQL VARCHAR
或 LONGVARCHAR
值,具体取决于该参数相对于驱动程序在 VARCHAR
值上的限制的大小。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值
SQLException
- 如果发生数据库访问错误void setBytes(int parameterIndex, byte[] x) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 Java byte
值数组。在将此值发送给数据库之前,驱动程序将其转换为 SQL VARBINARY
或 LONGVARBINARY
值,具体取决于该参数相对于驱动程序在 VARBINARY
值上的限制的大小。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值
SQLException
- 如果发生数据库访问错误void setDate(int parameterIndex, Date x) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 java.sql.Date
值。在将此值发送到数据库之前,驱动程序将其转换为 SQL DATE
值,使用默认的 java.util.Calendar
来计算日期。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值
SQLException
- 如果发生数据库访问错误void setTime(int parameterIndex, Time x) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 java.sql.Time
值。在将此值发送到数据库之前,驱动程序将其转换为 SQL TIME
值,使用默认的 java.util.Calendar
来计算该值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值
SQLException
- 如果发生数据库访问错误void setTimestamp(int parameterIndex, Timestamp x) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 java.sql.Timestamp
值。在将此值发送到数据库之前,驱动程序将其转换为 SQL TIMESTAMP
值,使用默认的 java.util.Calendar
来计算该值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值
SQLException
- 如果发生数据库访问错误void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 java.io.InputStream
值。更实际的做法是,通过 java.io.InputStream
而不是 LONGVARCHAR
参数来发送很大的 ASCII 值。在到达文件末尾之前,驱动程序将根据需要从该流读取数据。
注:此流对象既可以是一个标准 Java 流对象,也可以是用户定义的实现标准接口的子类。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 包含 ASCII 参数值的 Java 输入流length
- 流中的字节数
SQLException
- 如果发生数据库访问错误void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 java.io.InputStream
值。更实际的做法是,通过 java.io.InputStream
而不是 LONGVARBINARY
参数来发送很大的二进制值。在到达文件末尾之前,驱动程序将根据需要从该流读取数据。
注: 此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 包含二进制参数值的 Java 输入流length
- 流中的字节数
SQLException
- 如果发生数据库访问错误void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException
RowSet
对象命令中的指定参数设置为给定的 java.io.Reader
值。更实际的做法是,通过 java.io.Reader
而不是 LONGVARCHAR
参数来发送很大的 UNICODE 值。在到达文件末尾之前,驱动程序将根据需要从该流读取数据。
注: 此流对象既可以是一个标准 Java 流对象,也可以是实现标准接口的用户自己的子类。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。reader
- 包含要设置的 UNICODE 数据的 Reader
对象length
- 流中的字符数
SQLException
- 如果发生数据库访问错误void setObject(int parameterIndex, Object x, int targetSqlType, int scale) throws SQLException
Object
设置此 RowSet
对象命令中的指定参数。对于整数值,应该使用 java.lang
等效对象(例如,对于 int
,应使用 Integer
类的实例)。
在发送到数据库之前,给定 Java 对象将被转换为 targetSqlType。
如果对象是实现 SQLData
的类,则 rowset 应该调用 SQLData.writeSQL
方法将对象写入 SQLOutput
数据流中。如果对象是实现 Ref
、Struct
、Array
、Blob
或 Clob
接口的类的实例,则驱动程序使用相应 SQL 类型的默认映射关系。
注意,此方法可用于传递特定于数据库的抽象数据类型。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 包含输入参数值的对象targetSqlType
- 将发送给数据库的 SQL 类型(定义于 java.sql.Types
中)。scale 参数可以进一步限定此类型。scale
- 对于 java.sql.Types.DECIMAL
或 java.sql.Types.NUMERIC
类型,该值是小数点后的位数。对于所有其他类型,将忽略此值。
SQLException
- 如果发生数据库访问错误Types
void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException
Object
设置此 RowSet
对象命令中的指定参数。对于整数值,应该使用 java.lang
等效对象。此方法与上述 setObject
类似,但使用的 scale 是第二个参数的 scale。标量值的 scale 为零。字面值的 scale 存在于字面中。
尽管支持浮点型输入值,但不建立使用该类型值调用此方法。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 包含输入参数值的对象targetSqlType
- 将发送给数据库的 SQL 类型(定义于 java.sql.Types
中)
SQLException
- 如果发生数据库访问错误void setObject(int parameterIndex, Object x) throws SQLException
Object
设置此 RowSet
对象命令中的指定参数。对于整数值,应该使用 java.lang
等效对象。
JDBC 规范提供了一个从 Java Object 类型到 SQL 类型的标准映射关系。在将给定的 Java 对象发送到数据库之前,驱动程序将其转换为其标准的 SQL 映射关系。
注意,通过使用特定于驱动程序的 Java 类型,此方法可用于传递特定于数据库的抽象数据类型。
如果对象是实现 SQLData
的类,则 rowset 应该调用 SQLData.writeSQL
方法将对象写入 SQLOutput
数据流中。如果对象是实现 Ref
、Struct
、Array
、Blob
或 Clob
接口的类的实例,则驱动程序使用相应 SQL 类型的默认映射关系。
如果出现混淆,例如如果该对象是实现多个这些接口的类,则抛出异常。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 包含输入参数值的对象
SQLException
- 如果发生数据库访问错误void setRef(int i, Ref x) throws SQLException
Ref
值设置此 RowSet
对象命令中的指定参数。驱动程序将此值转换为适当的 REF(<结构化类型>)
值。
i
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 一个对象,它表示 SQL REF
类型的数据
SQLException
- 如果发生数据库访问错误void setBlob(int i, Blob x) throws SQLException
Blob
值设置此 RowSet
对象命令中的指定参数。在将此值发送到数据库之前,驱动程序会将其转换为 Blob
对象表示的 BLOB
值。
i
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 表示 BLOB 的对象
SQLException
- 如果发生数据库访问错误void setClob(int i, Clob x) throws SQLException
Clob
值设置此 RowSet
对象命令中的指定参数。在将此值发送到数据库之前,驱动程序会将其转换为 Clob
对象表示的 CLOB
值。
i
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 表示 CLOB 的对象
SQLException
- 如果发生数据库访问错误void setArray(int i, Array x) throws SQLException
Array
值设置此 RowSet
对象命令中的指定参数。在将此值发送到数据库之前,驱动程序会将其转换为 Array
对象表示的 ARRAY
值。
i
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 表示 SQL 数组的对象
SQLException
- 如果发生数据库访问错误void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException
java.sql.Date
值设置此 RowSet
对象命令中的指定参数。驱动程序将此值转换为 SQL DATE
值,使用给定的 java.util.Calendar
对象来计算日期。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值cal
- 用于计算日期的 java.util.Calendar
对象
SQLException
- 如果发生数据库访问错误void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException
java.sql.Time
值设置此 RowSet
对象命令中的指定参数。在将此值发送到数据库之前,驱动程序将其转换为 SQL TIME
值,使用给定的 java.util.Calendar
对象来计算该值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值cal
- 用于计算时间的 java.util.Calendar
对象
SQLException
- 如果发生数据库访问错误void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException
java.sql.Timestamp
值设置此 RowSet
对象命令中的指定参数。在将此值发送到数据库之前,驱动程序将其转换为 SQL TIMESTAMP
值,使用给定的 java.util.Calendar
对象来计算该值。
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推。x
- 参数值cal
- 用于计算时间戳的 java.util.Calendar
对象
SQLException
- 如果发生数据库访问错误void clearParameters() throws SQLException
RowSet
对象命令设置的参数。
通常参数值对 RowSet
对象的重复使用仍然有效。设置一个参数值会自动清除其以前的值。不过,在某些情况下,直接释放当前参数值使用的资源也是很有用的;这可以通过调用 clearParameters
方法来实现。
SQLException
- 如果发生数据库访问错误void execute() throws SQLException
RowSet
对象。
execute
方法可以使用以下属性来创建用于读取数据的连接:url、数据源名称、用户名、密码、事务隔离和类型映射表。
execute
方法可以使用以下属性来创建执行命令的语句:命令、只读、最大字段大小、最大行数、转义处理和查询超时值。
如果没有设置必需的参数,则抛出异常。如果此方法执行成功,则丢弃 rowset 的当前内容,同时设置(或重置)rowset 的元数据。如果存在未执行的更新,则忽略它们。
如果此 RowSet
对象不维持与其数据源的连续连接,则它可以使用 reader(RowSetReader
对象)来填充数据。在此情况下,reader 应该已经在此 RowSet
对象中注册,并且 execute
方法将作为其实现的一部分调用 reader 的 readData
方法。
SQLException
- 如果发生数据库访问错误,或者没有设置建立连接和创建语句所需的任何属性void addRowSetListener(RowSetListener listener)
RowSet
对象上发生事件时将得到通知。
listener
- 一个组件,它实现了 RowSetListener
接口并希望在此 RowSet
对象上发生事件时得到通知removeRowSetListener(javax.sql.RowSetListener)
void removeRowSetListener(RowSetListener listener)
RowSet
对象上发生事件时得到通知的组件所组成的列表中移除指定的侦听器。
listener
- 一个组件,它已注册为此 RowSet
对象的侦听器addRowSetListener(javax.sql.RowSetListener)
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。