- java.lang.Object
-
- javax.sql.rowset.BaseRowSet
-
- All Implemented Interfaces:
-
Serializable,Cloneable
public abstract class BaseRowSet extends Object implements Serializable, Cloneable
一个抽象类,提供一个RowSet对象及其基本功能。 基本功能包括具有所有JavaBeans组件必须实现的属性和发送事件通知。1.0概述
BaseRowSet类提供了所有RowSet实现的核心功能,所有标准实现可以将这一类与一个或多个RowSet接口组合使用,以提供标准的供应商特定实现。 为了澄清,所有实现都必须实现的中的至少一个RowSet接口(JdbcRowSet,CachedRowSet,JoinRowSet,FilteredRowSet,或WebRowSet)。 这意味着扩展BaseRowSet类的任何实现也必须实现RowSet接口之一。BaseRowSet类提供以下内容:- 属性
- 用于存储当前属性的字段
- 获取和设置属性的方法
- 事件通知
- 一组完整的setter方法,用于在
RowSet对象的命令中设置参数 - 流
- 用于存储流实例的字段
- 用于指示流的类型的常量
2.0设置属性
所有的行集保持一组属性,通常使用一个工具来设置。 行集的属性的数量和种类将有所不同,具体取决于RowSet实现的方式以及它如何获取其数据。 例如,从ResultSet对象获取其数据的行集需要设置进行数据库连接所需的属性。 如果某个RowSet对象使用DriverManager工具进行连接,则需要为标识适当驱动程序的JDBC URL设置属性,并且需要设置给出用户名和密码的属性。 另一方面,如果行集使用DataSource对象进行连接,这是首选方法,则不需要为JDBC URL设置属性。 相反,它需要为数据源的逻辑名称以及用户名和密码的属性设置属性。注意:为了使用
DataSource对象进行连接,DataSource对象必须已被注册到使用Java命名和目录接口(JNDI)API的命名服务。 这种注册通常由以系统管理员身份行事的人员完成。3.0设置命令及其参数
当行集从关系数据库获取数据时,它执行一个生成一个ResultSet对象的命令(一个查询)。 此查询是为RowSet对象的命令属性设置的命令。 行数据通过从ResultSet对象读取数据本身来填充数据。 如果查询包含要设置的值的占位符,则使用BaseRowSetsetter方法来设置这些值。 如果需要,所有设置器方法都允许将这些值设置为null。以下代码片段说明了
CachedRowSet对象crs如何设置其命令属性。 请注意,如果使用工具来设置属性,则这是该工具将使用的代码。crs.setCommand("SELECT FIRST_NAME, LAST_NAME, ADDRESS FROM CUSTOMERS" + "WHERE CREDIT_LIMIT > ? AND REGION = ?");在这个例子中,
CREDIT_LIMIT和REGION的值是占位符参数,它用问号(?)表示。 第一个问号是占位符参数号1,第二个问号是占位符参数号2,依此类推。 在执行查询之前,必须使用值设置任何占位符参数。 要设置这些占位符参数,BaseRowSet类提供了一组setter方法,类似于PreparedStatement接口提供的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分别对象。4.0处理场景背后的参数
注意:BaseRowSet类提供了两种设置方法,即设置属性和设置占位符参数的方法。 本节讨论的setter方法是设置占位符参数的方法。使用
BaseRowSetsetter方法设置的占位符参数作为对象存储在内部Hashtable对象中。 原语存储为Object类型。 例如,byte存储为Byte对象,int存储为Integer对象。 当方法execute被调用时,Hashtable对象中的值将替换命令中适当的占位符参数。对方法
getParams调用将Hashtable对象中存储的值作为Object实例的数组Object。 该数组中的一个元素可能是一个简单的Object实例或一个数组(它是一种类型的Object)。 使用的特定setter方法确定此数组中的元素是一个Object还是一个数组。用于设置占位符参数的大多数方法都有两个参数,第一个参数指示要设置的占位符参数,第二个参数给出要设置的值。 法如
setInt,setString,setBoolean,并setLong属于这一类。 调用这些方法之后,对方法getParams的调用将返回一个数组,其值已被设置。 数组中的每个元素都是表示已设置值的Object实例。 数组中这些值的顺序由传递给setter方法的int(第一个参数)确定。 数组中的值是传递给setter方法的值(第二个参数)。 换句话说,数组中的第一个元素是在RowSet对象的命令中为第一个占位符参数设置的值。 第二个元素是为第二个占位符参数设置的值,依此类推。几个setter方法发送驱动程序和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名称。 与其他setter方法一样,要设置的占位符参数的数量由元素在getParams返回的数组中的位置getParams。 因此,例如,如果提供给setNull的参数为2,则由getParams返回的数组中的第二个元素将是两个或三个元素的数组。一些方法,例如
setObject和setDate具有采用两个以上参数的版本,额外的参数给驱动程序或DBMS提供信息。 例如,该方法setDate,setTime和setTimestamp可以采取Calendar对象作为其第三个参数。 如果DBMS不存储时区信息时,驱动程序使用Calendar对象构造Date,Time,或Timestamp对象被设置。 与提供其他信息的其他方法一样,getParams返回的数组中的元素是一个数组,而不是简单的Object实例。方法
setAsciiStream,setBinaryStream,setCharacterStream和setUnicodeStream(其已过时,所以应用程序应使用getCharacterStream代替)取三个参数,因此对他们来说,由返回的数组中的元素getParams也是一个数组。 这些setter方法的不同之处在于,除了由参数提供的信息之外,该数组还包含BaseRowSet常量之一,指示正在设置的流的类型。注意:方法
getParams由扩展此类的RowSet实现内部调用; 应用程序员通常不会直接调用它。5.0事件通知
BaseRowSet类为行集提供事件通知机制。 它包含字段listeners,添加和删除侦听器的方法,以及通知侦听器更改的方法。监听器是实现了
RowSetListener接口的对象。 如果已将其添加到RowSet对象的监听器列表中,则当该事件发生在该RowSet对象时将被通知。 每个监听器的RowSetListener方法的实现定义当通知事件发生时该对象将执行什么操作。RowSet对象有三个可能的事件:- 光标移动
- 单个行已更改(更新,删除或插入)
- 整个
RowSet对象的内容发生变化
用于通知的
BaseRowSet方法表示发生的事件的类型。 例如,方法notifyRowChanged指示行已被更新,删除或插入。 每个通知方法都会创建一个RowSetEvent对象,该对象提供给侦听器,以便识别发生事件的RowSet对象。 监听者对这些信息的处理方式取决于实现方式。6.0默认行为
默认的BaseRowSet对象被初始化为许多起始值。 默认的RowSet扩展BaseRowSet类的实例BaseRowSet:- 有一个可滚动的光标,不显示别人所做的更改。
- 可更新
- 不显示已删除的行。
- 没有时间限制驱动程序执行
RowSet对象的命令可能需要多长时间。 - 它可能包含的行数没有限制。
- 列可能包含的字节数没有限制。 注:此限制仅适用于持有下列类型的值列:
BINARY,VARBINARY,LONGVARBINARY,CHAR,VARCHAR,并LONGVARCHAR。 - 不会看到未提交的数据(使“脏”读取)。
- 已经开启了逃生处理。
- 其连接类型映射设置为
null。 - 有一个空的
Vector对象,用于存储在RowSet对象的命令中为占位符参数设置的值。
如果需要其他值,则应用程序必须显式设置属性值。 例如,以下代码行将
CachedRowSet对象crs的最大行数设置为500。crs.setMaxRows(500);在这个BaseRowSet类的扩展中实现的方法必须抛出一个SQLException对象,SQLException任何违反定义的断言。 此外,如果扩展类覆盖并重新实现任何BaseRowSet方法并遇到连接或底层数据源问题,则该方法可能会因为这个原因抛出一个SQLException对象。- 从以下版本开始:
- 1.5
- 另请参见:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field 描述 static intASCII_STREAM_PARAM一个常量,指示一个给定参数是ASCII流的一个RowSetReaderImpl对象。protected InputStreamasciiStreamInputStream对象将由方法getAsciiStream返回,这是在ResultSet界面中指定的。static intBINARY_STREAM_PARAM一个常量,表示一个给定参数是二进制流的一个RowSetReaderImpl对象。protected InputStreambinaryStreamInputStream对象将由方法getBinaryStream返回,这是在ResultSet界面中指定的。protected ReadercharStreamReader对象将由方法getCharacterStream返回,这在ResultSet接口中指定。static intUNICODE_STREAM_PARAM一个常量,指示一个给定参数是Unicode流的一个RowSetReaderImpl对象。protected InputStreamunicodeStreamInputStream对象将通过方法getUnicodeStream返回,这在ResultSet接口中指定。
-
构造方法摘要
构造方法 Constructor 描述 BaseRowSet()构造一个新的BaseRowSet对象,初始化为其listeners字段的默认Vector对象。
-
方法摘要
所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 voidaddRowSetListener(RowSetListener listener)当这个RowSet对象发生事件时,监听器将被通知。voidclearParameters()清除此RowSet对象在执行此RowSet对象的命令时要设置的参数的内部表示形式中的所有当前参数值。StringgetCommand()检索作为此RowSet对象的命令的SQL查询。intgetConcurrency()返回此RowSet对象的并发性。StringgetDataSourceName()返回当提供给使用Java命名和目录接口(JNDI)API的命名服务时,将检索javax.sql.DataSource对象的逻辑名称。booleangetEscapeProcessing()确定是否启用此RowSet对象的转义处理。intgetFetchDirection()检索此RowSet对象当前的抓取方向设置。intgetFetchSize()返回此RowSet对象的获取大小。intgetMaxFieldSize()检索此RowSet对象中可用于列值的最大字节数。intgetMaxRows()检索此RowSet对象可能包含的最大行数。Object[]getParams()检索一个数组,其中包含为此RowSet对象的命令设置的参数值(对象和基元),如果尚未设置所有参数,则抛出一个SQLException对象。StringgetPassword()返回用于为此RowSet对象创建数据库连接的密码。intgetQueryTimeout()检索驱动程序等待查询执行的最大秒数。booleangetShowDeleted()检索一个boolean指示标记为删除的行是否显示在当前行的集合中。intgetTransactionIsolation()返回此RowSet对象的连接的事务隔离属性。intgetType()返回此RowSet对象的类型。Map<String,Class<?>>getTypeMap()检索与该关联的类型映射Connection对象此RowSet对象。StringgetUrl()检索此RowSet对象的javax.sql.Reader对象用于使用启用JDBC技术的驱动程序与关系数据库建立连接的JDBC URL。StringgetUsername()返回用于创建数据库连接的用户名。protected voidinitParams()执行必要的内部配置和初始化,以允许任何JDBCRowSet实现开始使用BaseRowSet实例提供的标准工具。booleanisReadOnly()返回一个boolean表示该RowSet对象是否为只读。protected voidnotifyCursorMoved()通知所有在此RowSet对象注册的听众,其游标已移动。protected voidnotifyRowChanged()通知所有注册此RowSet对象的侦听器,其中一行已更改。protected voidnotifyRowSetChanged()通知所有注册该RowSet对象的听众,其全部内容已更改。voidremoveRowSetListener(RowSetListener listener)从这个RowSet对象的监听器列表中删除指定的对象。voidsetArray(int parameterIndex, Array array)将指定的参数设置为Java编程语言中的一个Array对象。voidsetAsciiStream(int parameterIndex, InputStream x)将此RowSet对象的命令中的指定参数设置为给定的输入流。voidsetAsciiStream(int parameterIndex, InputStream x, int length)将指定的参数设置为给定的java.io.InputStream对象,该对象将具有指定的字节数。voidsetAsciiStream(String parameterName, InputStream x)将指定的参数设置为给定的输入流。voidsetAsciiStream(String parameterName, InputStream x, int length)将指定的参数设置为给定的输入流,它将具有指定的字节数。voidsetBigDecimal(int parameterIndex, BigDecimal x)将指定的参数设置为给定的java.lang.BigDecimal值。voidsetBigDecimal(String parameterName, BigDecimal x)将指定的参数设置为给定的java.math.BigDecimal值。voidsetBinaryStream(int parameterIndex, InputStream x)将此RowSet对象的命令中的指定参数设置为给定的输入流。voidsetBinaryStream(int parameterIndex, InputStream x, int length)将指定的参数设置为给定的java.io.InputStream对象,该对象将具有指定的字节数。voidsetBinaryStream(String parameterName, InputStream x)将指定的参数设置为给定的输入流。voidsetBinaryStream(String parameterName, InputStream x, int length)将指定的参数设置为给定的输入流,它将具有指定的字节数。voidsetBlob(int parameterIndex, InputStream inputStream)将指定的参数设置为InputStream对象。voidsetBlob(int parameterIndex, InputStream inputStream, long length)将指定的参数设置为InputStream对象。voidsetBlob(int parameterIndex, Blob x)将指定的参数设置为Java编程语言中给定的Blob对象。voidsetBlob(String parameterName, InputStream inputStream)将指定的参数设置为InputStream对象。voidsetBlob(String parameterName, InputStream inputStream, long length)将指定的参数设置为InputStream对象。voidsetBlob(String parameterName, Blob x)将指定的参数设置为给定的java.sql.Blob对象。voidsetBoolean(int parameterIndex, boolean x)将指定的参数设置为Java编程语言中给定的boolean。voidsetBoolean(String parameterName, boolean x)将指定的参数设置为给定的Javaboolean值。voidsetByte(int parameterIndex, byte x)将指定的参数设置为Java编程语言中的给定的byte。voidsetByte(String parameterName, byte x)将指定的参数设置为给定的Javabyte值。voidsetBytes(int parameterIndex, byte[] x)将指定的参数设置为给定的字节数组。voidsetBytes(String parameterName, byte[] x)将指定的参数设置为给定的Java字节数组。voidsetCharacterStream(int parameterIndex, Reader reader)将此RowSet对象的命令中的指定参数设置为给定的Reader对象。voidsetCharacterStream(int parameterIndex, Reader reader, int length)将指定的参数设置为给定的java.io.Reader对象,该对象将具有指定的字符数。voidsetCharacterStream(String parameterName, Reader reader)将指定的参数设置为给定的Reader对象。voidsetCharacterStream(String parameterName, Reader reader, int length)将指定的参数设置为给定的Reader对象,这是给定的长度的字符数。voidsetClob(int parameterIndex, Reader reader)将指定的参数设置为Reader对象。voidsetClob(int parameterIndex, Reader reader, long length)将指定的参数设置为Reader对象。voidsetClob(int parameterIndex, Clob x)将指定的参数设置为Java编程语言中给定的Clob对象。voidsetClob(String parameterName, Reader reader)将指定的参数设置为Reader对象。voidsetClob(String parameterName, Reader reader, long length)将指定的参数设置为Reader对象。voidsetClob(String parameterName, Clob x)将指定的参数设置为给定的java.sql.Clob对象。voidsetCommand(String cmd)将此RowSet对象的command属性设置为给定的String对象,并清除为先前命令设置的参数(如果有)。voidsetConcurrency(int concurrency)将此RowSet对象的并发设置为指定的并发。voidsetDataSourceName(String name)将该RowSet对象的DataSource名称属性设置为给定的逻辑名称,并将此RowSet对象的Url属性设置为null。voidsetDate(int parameterIndex, Date x)将指定的参数设置为给定的java.sql.Date值。voidsetDate(int parameterIndex, Date x, Calendar cal)将指定的参数设置为给定的java.sql.Date对象。voidsetDate(String parameterName, Date x)使用运行应用程序的虚拟机的默认时区将指定的参数设置为给定的java.sql.Date值。voidsetDate(String parameterName, Date x, Calendar cal)使用给定的Calendar对象将指定的参数设置为给定的java.sql.Date值。voidsetDouble(int parameterIndex, double x)将指定的参数设置为Java编程语言中的给定的double。voidsetDouble(String parameterName, double x)doublevoidsetEscapeProcessing(boolean enable)设置给给定的boolean驱动程序是否将扫描转义语法,并在将SQL语句发送到数据库之前进行转义替换。voidsetFetchDirection(int direction)向驱动程序提供关于将处理此RowSet对象中的行的方向的性能提示。voidsetFetchSize(int rows)将此RowSet对象的提取大小设置为给定的行数。voidsetFloat(int parameterIndex, float x)将指定的参数设置为Java编程语言中给定的float。voidsetFloat(String parameterName, float x)floatvoidsetInt(int parameterIndex, int x)将指定的参数设置为Java编程语言中的int。voidsetInt(String parameterName, int x)将指定的参数设置为给定的Javaint值。voidsetLong(int parameterIndex, long x)将指定的参数设置为Java编程语言中给定的long。voidsetLong(String parameterName, long x)将指定的参数设置为给定的Javalong值。voidsetMaxFieldSize(int max)将此RowSet对象中的列值的最大字节数设置为给定的数字。voidsetMaxRows(int max)将此RowSet对象的最大行数设置为给定的数字。voidsetNCharacterStream(int parameterIndex, Reader value)将此RowSet对象的命令中指定的参数设置为Reader对象。voidsetNCharacterStream(int parameterIndex, Reader value, long length)将指定的参数设置为Reader对象。voidsetNCharacterStream(String parameterName, Reader value)将指定的参数设置为Reader对象。voidsetNCharacterStream(String parameterName, Reader value, long length)将指定的参数设置为Reader对象。voidsetNClob(int parameterIndex, Reader reader)将指定的参数设置为Reader对象。voidsetNClob(int parameterIndex, Reader reader, long length)将指定的参数设置为Reader对象。voidsetNClob(int parameterIndex, NClob value)将指定的参数设置为java.sql.NClob对象。voidsetNClob(String parameterName, Reader reader)将指定的参数设置为Reader对象。voidsetNClob(String parameterName, Reader reader, long length)将指定的参数设置为Reader对象。voidsetNClob(String parameterName, NClob value)将指定的参数设置为java.sql.NClob对象。voidsetNString(int parameterIndex, String value)将指定的参数设置为给定的String对象。voidsetNString(String parameterName, String value)将指定的参数设置为给定的String对象。voidsetNull(int parameterIndex, int sqlType)将指定的参数设置为SQLNULL。voidsetNull(int parameterIndex, int sqlType, String typeName)将指定的参数设置为SQLNULL。voidsetNull(String parameterName, int sqlType)将指定的参数设置为SQLNULL。voidsetNull(String parameterName, int sqlType, String typeName)将指定的参数设置为SQLNULL。voidsetObject(int parameterIndex, Object x)将指定的参数设置为Java编程语言中的一个Object。voidsetObject(int parameterIndex, Object x, int targetSqlType)使用给定的Object值设置指定参数的值。voidsetObject(int parameterIndex, Object x, int targetSqlType, int scale)将指定的参数设置为Java编程语言中的一个Object。voidsetObject(String parameterName, Object x)使用给定对象设置指定参数的值。voidsetObject(String parameterName, Object x, int targetSqlType)使用给定对象设置指定参数的值。voidsetObject(String parameterName, Object x, int targetSqlType, int scale)使用给定对象设置指定参数的值。voidsetPassword(String pass)设置用于为此RowSet对象创建数据库连接的密码,给定的String对象。voidsetQueryTimeout(int seconds)将给定的数字设置为驱动程序等待查询执行的最大秒数。voidsetReadOnly(boolean value)将此RowSet对象的readOnly属性设置为给定的boolean。voidsetRef(int parameterIndex, Ref ref)将指定的参数设置为Java编程语言中给定的Ref对象。voidsetRowId(int parameterIndex, RowId x)将指定的参数设置为给定的java.sql.RowId对象。voidsetRowId(String parameterName, RowId x)将指定的参数设置为给定的java.sql.RowId对象。voidsetShort(int parameterIndex, short x)将指定的参数设置为Java编程语言中给定的short。voidsetShort(String parameterName, short x)将指定的参数设置为给定的Javashort值。voidsetShowDeleted(boolean value)将属性showDeleted设置为给定的boolean值,该值确定标记为删除的行是否显示在当前行的集合中。voidsetSQLXML(int parameterIndex, SQLXML xmlObject)将指定的参数设置为给定的java.sql.SQLXML对象。voidsetSQLXML(String parameterName, SQLXML xmlObject)将指定的参数设置为给定的java.sql.SQLXML对象。voidsetString(int parameterIndex, String x)将指定的参数设置为给定的String值。voidsetString(String parameterName, String x)将指定的参数设置为给定的JavaString值。voidsetTime(int parameterIndex, Time x)将指定的参数设置为给定的java.sql.Time值。voidsetTime(int parameterIndex, Time x, Calendar cal)将指定的参数设置为给定的java.sql.Time对象。voidsetTime(String parameterName, Time x)将指定的参数设置为给定的java.sql.Time值。voidsetTime(String parameterName, Time x, Calendar cal)使用给定的Calendar对象将指定的参数设置为给定的java.sql.Time值。voidsetTimestamp(int parameterIndex, Timestamp x)将指定的参数设置为给定的java.sql.Timestamp值。voidsetTimestamp(int parameterIndex, Timestamp x, Calendar cal)将指定的参数设置为给定的java.sql.Timestamp对象。voidsetTimestamp(String parameterName, Timestamp x)将指定的参数设置为给定的java.sql.Timestamp值。voidsetTimestamp(String parameterName, Timestamp x, Calendar cal)使用给定的Calendar对象将指定的参数设置为给定的java.sql.Timestamp值。voidsetTransactionIsolation(int level)将此JDBCRowSet对象的事务隔离属性设置为给定常量。voidsetType(int type)将此RowSet对象的类型设置为指定的类型。voidsetTypeMap(Map<String,Class<?>> map)安装给定java.util.Map对象作为与相关联的类型映射Connection对象此RowSet对象。voidsetUnicodeStream(int parameterIndex, InputStream x, int length)已过时。getCharacterStream应该用于它的位置voidsetUrl(String url)将此RowSet对象的Url属性设置为给定的String对象,并将dataSource名称属性设置为null。voidsetURL(int parameterIndex, URL x)将指定的参数设置为给定的java.net.URL值。voidsetUsername(String name)将此RowSet对象的用户名属性设置为给定的用户名。
-
-
-
字段详细信息
-
UNICODE_STREAM_PARAM
public static final int UNICODE_STREAM_PARAM
一个常量,指示一个给定参数是Unicode流的一个RowSetReaderImpl对象。 这个RowSetReaderImpl对象是作为SyncProvider抽象类的扩展提供的,在SyncFactory静态工厂SPI机制中定义。- 另请参见:
- Constant Field Values
-
BINARY_STREAM_PARAM
public static final int BINARY_STREAM_PARAM
一个常量,指示一个给定参数是二进制流的一个RowSetReaderImpl对象。 甲RowSetReaderImpl对象被设置为的延伸SyncProvider在所定义的抽象类SyncFactory静态工厂SPI机制。- 另请参见:
- Constant Field Values
-
ASCII_STREAM_PARAM
public static final int ASCII_STREAM_PARAM
一个常量,指示一个给定参数是一个ASCII流的一个RowSetReaderImpl对象。 提供了一个RowSetReaderImpl对象作为SyncFactory静态工厂SPI机制中定义的SyncProvider抽象类的扩展。- 另请参见:
- Constant Field Values
-
binaryStream
protected InputStream binaryStream
InputStream对象将由方法getBinaryStream返回,在ResultSet接口中指定。
-
unicodeStream
protected InputStream unicodeStream
InputStream对象将由方法getUnicodeStream返回,在ResultSet接口中指定。
-
asciiStream
protected InputStream asciiStream
该InputStream将由方法返回的对象getAsciiStream,其在指定的ResultSet接口。
-
charStream
protected Reader charStream
Reader对象将通过方法getCharacterStream返回,这是在ResultSet接口中指定的。
-
-
方法详细信息
-
initParams
protected void initParams()
执行必要的内部配置和初始化,以允许任何JDBCRowSet实现开始使用BaseRowSet实例提供的标准工具。 在RowSet对象被实例化以正确初始化所有参数之后, 应该调用此方法。 这个方法不应该被一个应用程序调用,而是从一个扩展这个类的一个RowSet实现调用。
-
addRowSetListener
public void addRowSetListener(RowSetListener listener)
当这个RowSet对象发生事件时,监听器将被通知。例如,监听器可能是需要更新的表或图表,以便准确反映
RowSet对象的当前状态。注意 :如果
RowSetListener对象为null,则此方法将静默地丢弃null值,并且不会向该组侦听器添加空引用。注意 :如果监听器已经设置,并且新的
RowSetListener实例被添加到已经注册接收来自此RowSet事件通知的监听器的集合中。- 参数
-
listener- 已实现javax.sql.RowSetListener接口并希望通知此RowSet对象上发生的任何事件的对象; 可能为null。 - 另请参见:
-
removeRowSetListener(javax.sql.RowSetListener)
-
removeRowSetListener
public void removeRowSetListener(RowSetListener listener)
从这个RowSet对象的监听器列表中删除指定的对象。 如果给定的参数不是注册的侦听器,则此方法不执行任何操作。 注意 :如果RowSetListener对象为null,则此方法将静默地丢弃null值。- 参数
-
listener- 一个RowSetListener对象,该对象位于此RowSet对象的侦听器列表上 - 另请参见:
-
addRowSetListener(javax.sql.RowSetListener)
-
notifyCursorMoved
protected void notifyCursorMoved() throws SQLException通知所有注册此RowSet对象的侦听器,其对象已移动。当应用程序调用移动光标的方法时,该方法会移动光标,然后在内部调用此方法。 应用程序永远不应直接调用此方法。
- 异常
-
SQLException- 如果扩展BaseRowSet抽象类的类不实现RowSet接口或其子接口之一。
-
notifyRowChanged
protected void notifyRowChanged() throws SQLException通知所有注册此RowSet对象的侦听器,其中一行已更改。当应用程序调用发生改变的行,如一个方法
CachedRowSet方法insertRow,updateRow,或deleteRow,该方法调用notifyRowChanged内部。 应用程序永远不应直接调用此方法。- 异常
-
SQLException- 如果扩展BaseRowSet抽象类的类不实现RowSet接口或其一个子接口。
-
notifyRowSetChanged
protected void notifyRowSetChanged() throws SQLException通知所有注册此RowSet对象的听众,其全部内容已更改。当应用程序调用该改变的全部内容的方法
RowSet对象,如CachedRowSet方法execute,populate,restoreOriginal,或release,该方法调用notifyRowSetChanged内部(直接或间接)。 应用程序永远不应直接调用此方法。- 异常
-
SQLException- 如果扩展BaseRowSet抽象类的类不实现RowSet接口或其一个子接口。
-
getCommand
public String getCommand()
检索作为此RowSet对象的命令的SQL查询。 该命令属性包含将要执行的查询来填充此RowSet对象。此方法返回的SQL查询由
RowSet方法(如execute和populate,可通过扩展BaseRowSet抽象类并实现一个或多个标准JSR-114RowSet接口的任何类实现。该命令由
RowSet对象的读取器用于获取一个ResultSet对象。 然后,读取器从ResultSet对象中读取数据,并使用它来填充此RowSet对象。command属性的默认值为null。- 结果
-
String是RowSet对象的command属性的值; 可能是null - 另请参见:
-
setCommand(java.lang.String)
-
setCommand
public void setCommand(String cmd) throws SQLException
将此RowSet对象的command属性设置为给定的String对象,并清除为先前命令设置的参数(如果有)。如果
RowSet对象从不支持命令的源(例如电子表格或其他表格文件)获取其数据,则可能不需要command属性。 因此,此属性是可选的,可以是null。- 参数
-
cmd- 一个String对象,其中包含将被设置为RowSet对象的命令属性的SQL查询; 可能是null但可能不是一个空字符串 - 异常
-
SQLException- 如果提供空字符串作为命令值 - 另请参见:
-
getCommand()
-
getUrl
public String getUrl() throws SQLException
检索此RowSet对象的javax.sql.Reader对象用于使用启用JDBC技术的驱动程序与关系数据库建立连接的JDBC URL。如果基础数据源是非SQL数据源(如电子表格或XML数据源),则
Url属性将为null。- 结果
-
一个
String对象,其中包含用于建立此RowSet对象的连接的JDBC URL; 可能是null(默认值)如果没有设置 - 异常
-
SQLException- 如果检索URL值发生错误 - 另请参见:
-
setUrl(java.lang.String)
-
setUrl
public void setUrl(String url) throws SQLException
将此RowSet对象的Url属性设置为给定的String对象,并将dataSource名称属性设置为null。 Url属性是使用启用了JDBC技术的驱动程序(“JDBC驱动程序”)和DriverManager创建连接时使用的JDBCDriverManager。 驱动程序文档中可以找到要使用的特定驱动程序的正确JDBC URL。 尽管有如何形成JDBC URL的指导方针,驱动程序供应商可以指定任何String对象,但长度为0(空字符串)的对象除外。设置Url属性是可选的,如果使用的是已建立的连接
DataSource对象,而不是DriverManager。 驱动程序将使用URL属性或dataSourceName属性创建连接,以最近指定的方式。 如果应用程序使用JDBC URL,则必须加载接受JDBC URL的JDBC驱动程序,然后才能使用RowSet对象连接到数据库。RowSet对象将在内部使用URL来创建数据库连接,以便读取或写入数据。- 参数
-
url- 一个String对象,其中包含将用于建立与此RowSet对象的数据库的连接的JDBC URL; 可能是null但不能是空字符串 - 异常
-
SQLException- 如果发生错误,设置Url属性或提供的参数是长度为0(空字符串)的字符串, - 另请参见:
-
getUrl()
-
getDataSourceName
public String getDataSourceName()
返回当提供给使用Java命名和目录接口(JNDI)API的命名服务时,将检索javax.sql.DataSource对象的逻辑名称。 此DataSource对象可用于建立与其所代表的数据源的连接。用户应该设置url或数据源名称属性。 驱动程序将使用最近设置的属性来建立连接。
- 结果
-
一个
String对象标识DataSource要用于制造连接对象; 如果没有设置逻辑名称,则返回null。 - 另请参见:
-
setDataSourceName(java.lang.String)
-
setDataSourceName
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名称 - 另请参见:
-
getDataSourceName()
-
getUsername
public String getUsername()
返回用于创建数据库连接的用户名。 因为它没有序列化,所以在调用方法execute之前,username属性是在运行时设置的。- 结果
-
包含提供给数据源以创建连接的用户名的
String对象; 可能是null(默认值)如果没有设置 - 另请参见:
-
setUsername(java.lang.String)
-
setUsername
public void setUsername(String name)
将此RowSet对象的用户名属性设置为给定的用户名。 因为它没有序列化,所以在调用方法execute之前,在运行时设置了username属性。- 参数
-
name- 包含提供给数据源以创建连接的用户名的String对象。 它可能为null。 - 另请参见:
-
getUsername()
-
getPassword
public String getPassword()
返回用于为此RowSet对象创建数据库连接的密码。 因为password属性未被序列化,所以在调用方法execute之前,它将在运行时设置。 默认值为null- 结果
-
表示必须提供给数据库以创建连接的密码的
String对象 - 另请参见:
-
setPassword(java.lang.String)
-
setPassword
public void setPassword(String pass)
设置用于为此RowSet对象创建与给定的String对象的数据库连接的密码。 因为password属性未被序列化,所以在调用方法execute之前,它将在运行时设置。- 参数
-
pass- 表示提供给数据库以创建连接的密码的String对象。 它可能为null。 - 另请参见:
-
getPassword()
-
setType
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_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE - 另请参见:
-
getConcurrency(),getType()
-
getType
public int getType() throws SQLException返回此RowSet对象的类型。 该类型最初由创建RowSet对象的语句确定。RowSet对象可以随时调用方法setType来更改其类型。 默认值为TYPE_SCROLL_INSENSITIVE。- 结果
-
此JDBC类型
RowSet对象,它必须是下列之一:ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE,或ResultSet.TYPE_SCROLL_SENSITIVE - 异常
-
SQLException- 如果发生错误,获取此RowSet对象的类型 - 另请参见:
-
setType(int)
-
setConcurrency
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()
-
isReadOnly
public boolean isReadOnly()
返回一个boolean表示该RowSet对象是否为只读。 任何更新只读RowSet对象的尝试将导致抛出SQLException。 默认情况下,如果可以进行更新,则行集可更新。- 结果
-
true如果这个RowSet对象不能更新; 否则为false - 另请参见:
-
setConcurrency(int),setReadOnly(boolean)
-
setReadOnly
public void setReadOnly(boolean value)
将此RowSet对象的readOnly属性设置为给定的boolean。- 参数
-
value-true以表示该RowSet对象是只读的;false以表示它是可更新的
-
getTransactionIsolation
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)
-
setTransactionIsolation
public void setTransactionIsolation(int level) throws SQLException将此JDBCRowSet对象的事务隔离属性设置为给定的常量。 如果可以,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- 如果给定的参数不是连接常量之一 - 另请参见:
-
SyncFactory,SyncProvider,getTransactionIsolation()
-
getTypeMap
public Map<String,Class<?>> getTypeMap()
检索与该关联的类型映射Connection对象此RowSet对象。支持JDBC 3.0 API的驱动程序将创建具有关联类型映射的
Connection对象。 此类型映射最初为空,可以包含一个或多个完全限定的SQL名称和Class对象,该对象指示命名的SQL值将映射到的类。 连接类型映射中指定的类型映射在没有其他类型映射取代时用于自定义类型映射。如果将类型映射显式提供给可执行自定义映射的方法,则该类型映射将取代连接的类型映射。
- 结果
-
java.util.Map对象是RowSet对象的连接的类型映射
-
setTypeMap
public void setTypeMap(Map<String,Class<?>> map)
安装给定java.util.Map对象作为与相关联的类型映射Connection对象此RowSet对象。 将使用此类型映射中指定的自定义映射,除非向方法明确提供不同类型的映射,否则将使用提供的类型映射。- 参数
-
map- 一个java.util.Map对象,其中包含从用户定义类型(UDT)的SQL类型名称到Java编程语言中的类的映射。 在每个条目Map对象包括UDT的完全限定SQL名称和的Class对象为SQLData的实现,UDT的。 可能是null。
-
getMaxFieldSize
public int getMaxFieldSize() throws SQLException检索此RowSet对象中可用于列值的最大字节数。 此限制仅适用于持有下列类型的值列:BINARY,VARBINARY,LONGVARBINARY,CHAR,VARCHAR,并LONGVARCHAR。 如果超出限制,则会忽略多余的数据。- 结果
-
一个表示当前最大列大小限制的
int; 零意味着没有限制 - 异常
-
SQLException- 如果内部发生错误确定列大小的最大限制
-
setMaxFieldSize
public void setMaxFieldSize(int max) throws SQLException将此RowSet对象中的列值的最大字节数设置为给定的数字。 此限制仅适用于持有下列类型的值列:BINARY,VARBINARY,LONGVARBINARY,CHAR,VARCHAR,并LONGVARCHAR。 如果超出限制,则会忽略多余的数据。 为了最大的可移植性,建议使用大于256的值。- 参数
-
max- 表示新的最大列大小限制的int; 零意味着没有限制 - 异常
-
SQLException- 如果(1)内部发生错误设置列大小的最大限制,或者(2)设置小于0的大小
-
getMaxRows
public int getMaxRows() throws SQLException检索此RowSet对象可能包含的最大行数。 如果超出此限制,多余的行将被静默地删除。- 结果
-
一个
int指示当前最大行数; 零意味着没有限制 - 异常
-
SQLException- 如果在内部发生错误确定Rowset对象可能包含的行的最大限制
-
setMaxRows
public void setMaxRows(int max) throws SQLException将此RowSet对象可能包含的最大行数设置为给定的数字。 如果超出此限制,多余的行将被静默地删除。- 参数
-
max- 表示当前最大行数的int; 零意味着没有限制 - 异常
-
SQLException- 如果在内部发生错误设置JDBCRowSet对象可以包含的行数的最大限制; 或者如果max小于0; 或者如果max小于fetchSize的RowSet
-
setEscapeProcessing
public void setEscapeProcessing(boolean enable) throws SQLException设置给给定的boolean驱动程序是否将扫描转义语法,并在将SQL语句发送到数据库之前进行转义替换。 默认是为了让司机做逃生处理。注意:由于
PreparedStatement对象通常在进行此调用之前已被解析,所以禁用预处理语句的转义处理可能不起作用。- 参数
-
enable-true以启用逃脱处理;false禁用它 - 异常
-
SQLException- 如果发生错误,设置启用基于JDBC技术的驱动程序来处理转义语法
-
getQueryTimeout
public int getQueryTimeout() throws SQLException检索驱动程序等待查询执行的最大秒数。 如果超出限制,则抛出SQLException。- 结果
- 当前查询超时限制(以秒为单位) 零意味着没有限制
- 异常
-
SQLException- 如果在确定查询超时值时发生错误
-
setQueryTimeout
public void setQueryTimeout(int seconds) throws SQLException将给定的数字设置为驱动程序等待查询执行的最大秒数。 如果超出限制,则抛出SQLException。- 参数
-
seconds- 新的查询超时限制(以秒为单位) 零意味着没有限制; 不得小于零 - 异常
-
SQLException- 如果发生错误设置查询超时或查询超时值小于0
-
getShowDeleted
public boolean getShowDeleted() throws SQLException检索一个boolean指示标记为删除的行是否出现在当前行的集合中。 默认值为false。注意:允许删除的行保持可见会使某些方法的行为复杂化。 然而,大多数
RowSet对象用户可以简单地忽略这个额外的细节,因为只有复杂的应用程序可能希望利用此功能。- 结果
-
true如果删除的行是可见的; 否则为false - 异常
-
SQLException- 如果发生错误,确定删除的行是否可见 - 另请参见:
-
setShowDeleted(boolean)
-
setShowDeleted
public void setShowDeleted(boolean value) throws SQLException将属性showDeleted设置为给定的boolean值,该值确定标记为删除的行是否显示在当前行的集合中。- 参数
-
value-true如果删除的行应显示; 否则为false - 异常
-
SQLException- 如果发生错误设置删除的行是否可见 - 另请参见:
-
getShowDeleted()
-
getEscapeProcessing
public boolean getEscapeProcessing() throws SQLException确定是否启用此RowSet对象的转义处理。- 结果
-
true如果true逃生处理; 否则为false - 异常
-
SQLException- 如果发生错误,确定是否启用转义处理,或者内部转义处理触发器是否未启用
-
setFetchDirection
public void setFetchDirection(int direction) throws SQLException向驱动程序提供关于将处理此RowSet对象中的行的方向的性能提示。 司机可能会忽略这个提示。一个
RowSet对象继承了从它获取其数据的ResultSet对象的默认属性。ResultSet对象的默认提取方向由创建它的Statement对象设置。此方法仅在使用JDBC驱动程序连接到数据库时才适用于
RowSet对象。A
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()
-
getFetchDirection
public int getFetchDirection() throws SQLException检索此RowSet对象当前的抓取方向设置。 默认值为ResultSet.FETCH_FORWARD- 结果
-
之一
ResultSet.FETCH_FORWARD,ResultSet.FETCH_REVERSE,或ResultSet.FETCH_UNKNOWN - 异常
-
SQLException- 如果在确定提取行的当前提取方向发生错误 - 另请参见:
-
setFetchDirection(int)
-
setFetchSize
public void setFetchSize(int rows) throws SQLException将此RowSet对象的提取大小设置为给定行数。 获取大小为启用JDBC技术的驱动程序(“JDBC驱动程序”)提供了一个关于从RowSet对象需要更多行时应从数据库中获取的行数的提示。 如果指定的获取大小为零,则驱动程序将忽略该值,并且可以自由地对于获取大小应该是最自然的猜测。A
RowSet对象继承其获取其数据的ResultSet对象的默认属性。ResultSet对象的默认提取大小由创建它的Statement对象设置。此方法仅在使用JDBC驱动程序连接到数据库时才适用于
RowSet对象。 对于连接的RowSet实现(如JdbcRowSet,此方法对底层JDBC驱动程序具有直接和即时的影响。A
RowSet对象可以随时使用此方法来更改其提取大小的设置。为
RowSet实现,例如CachedRowSet,其在断开连接的环境中操作,所述SyncProvider正在使用对象可以利用的获取大小来轮询数据源并检索的行数不超过提取大小和可形成的一个子集原始查询返回的实际行。 这是由断开的RowSet对象使用的特定SyncProvider对象确定的实现方差。- 参数
-
rows- 要获取的行数;0让驾驶员决定最佳抓取大小是什么; 不得小于0或超过此RowSet对象允许的最大行数(调用方法返回的数字getMaxRows()) - 异常
-
SQLException- 如果指定的提取大小小于0或超过最大行数的限制 - 另请参见:
-
getFetchSize()
-
getFetchSize
public int getFetchSize() throws SQLException返回此RowSet对象的提取大小。 默认值为零。- 结果
-
当此
RowSet对象需要数据库中的更多行时,建议作为获取大小的行数 - 异常
-
SQLException- 如果发生错误,确定当前提取大小中的行数 - 另请参见:
-
setFetchSize(int)
-
getConcurrency
public int getConcurrency() throws SQLException返回此RowSet对象的并发性。 默认值为CONCUR_UPDATABLE用于连接和断开的RowSet对象。应用程序可以随时调用方法
setConcurrency来更改RowSet对象的并发性。- 结果
-
该
RowSet对象的并发类型,它必须是以下之一:ResultSet.CONCUR_READ_ONLY或ResultSet.CONCUR_UPDATABLE - 异常
-
SQLException- 如果发生错误,获取此RowSet对象的并发性 - 另请参见:
-
setConcurrency(int),isReadOnly()
-
setNull
public void setNull(int parameterIndex, int sqlType) throws SQLException将指定的参数设置为SQLNULL。 请注意,参数的SQL类型必须使用java.sql.Types定义的类型代码之一进行指定。 此SQL类型在第二个参数中指定。请注意,第二个参数告诉DBMS该值的数据类型设置为
NULL。 一些DBMS需要这些信息,所以需要这样才能使代码更便于携带。此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。该方法的调用
getParams这个版本后setNull被称为会返回一个Object阵列包含已经设置的参数值。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是null。 第二个元素是为sqlType设置的值。 参数号由元素在方法getParams返回的数组中的位置getParams,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。 换句话说,如果第二个占位符参数设置为null,则包含它的数组将是由getParams返回的数组中的第二个元素。请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为parameterIndex -1。
- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
sqlType- 一个int,它是int类中定义的SQL类型代码之一 。 如果提供了非标准的sqlType ,则此方法不会抛出一个SQLException。 这允许非标准SQL类型的隐式支持。 - 异常
-
SQLException- 如果发生数据库访问错误或给定的参数索引超出范围 - 另请参见:
-
getParams()
-
setNull
public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException将指定的参数设置为SQLNULL。 尽管此方法setNull是为用户定义和REF参数而设计的,但此方法可用于为任何JDBC类型设置空参数。 下面是用户定义的类型:STRUCT,DISTINCT,和JAVA_OBJECT,和指定数组类型。注意:为了便于携带,当指定
NULL用户定义或REF参数时,应用程序必须给出SQL类型代码和完全限定的SQL类型名称。 在用户定义的类型的情况下,名称是参数本身的类型名称。 对于REF参数,名称是引用类型的类型名称。 如果启用了JDBC技术的驱动程序不需要类型代码或类型名称信息,则可能会忽略它。如果参数不具有用户定义或
REF类型,则忽略给定的typeName参数。当方法
execute被调用时,由该方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。该方法的调用
getParams这个版本后setNull被称为会返回一个Object阵列包含已经设置的参数值。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是null。 第二个元素是为sqlType设置的值,第三个元素是为typeName设置的值。 参数号由元素在方法getParams返回的数组中的位置表示,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。 换句话说,如果第二个占位符参数被设置为null,则包含它的数组将是由getParams返回的数组中的第二个元素。请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为parameterIndex -1。
- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更大 -
sqlType- 一个来自java.sql.Types的值 -
typeName- SQL用户定义类型的完全限定名称,如果该参数不是用户定义的类型或REF值,则将被忽略 - 异常
-
SQLException- 如果发生错误或给定的参数索引超出范围 - 另请参见:
-
getParams()
-
setBoolean
public void setBoolean(int parameterIndex, boolean x) throws SQLException将指定的参数设置为Java编程语言中给定的boolean。 当驱动程序将其发送到数据库时,将其转换为SQLBIT值。当方法
execute被调用时,由该方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 方法,例如execute,populate必须在扩展此类和实现一个或多个标准的JSR-114中任类提供RowSet接口。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。- 参数
-
parameterIndex- 要设置的RowSet对象的命令中占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 参数值 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setByte
public void setByte(int parameterIndex, byte x) throws SQLException将指定的参数设置为Java编程语言中给定的byte。 当驱动程序将其发送到数据库时,将其转换为SQLTINYINT值。此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 参数值 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setShort
public void setShort(int parameterIndex, short x) throws SQLException将指定的参数设置为Java编程语言中给定的short。 当驱动程序将其发送到数据库时将其转换为SQLSMALLINT值。此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供诸如execute和populate类的方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 参数值 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setInt
public void setInt(int parameterIndex, int x) throws SQLException将指定的参数设置为Java编程语言中的一个int。 当驱动程序将其发送到数据库时,将其转换为SQLINTEGER值。该方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供诸如execute和populate类的方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 参数值 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setLong
public void setLong(int parameterIndex, long x) throws SQLException将指定的参数设置为Java编程语言中给定的long。 当驱动程序将其发送到数据库时,将其转换为SQLBIGINT值。此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更大 -
x- 参数值 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setFloat
public void setFloat(int parameterIndex, float x) throws SQLException将指定的参数设置为Java编程语言中给定的float。 当驱动程序将其发送到数据库时,将其转换为SQLFLOAT值。此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 参数值 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setDouble
public void setDouble(int parameterIndex, double x) throws SQLException将指定的参数设置为Java编程语言中给定的double。 当驱动程序将其发送到数据库时,将其转换为SQLDOUBLE值。此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供诸如execute和populate类的方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。- 参数
-
parameterIndex- 要设置的RowSet对象的命令中占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更大 -
x- 参数值 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setBigDecimal
public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException将指定的参数设置为给定的java.lang.BigDecimal值。 当驱动程序将其发送到数据库时,将其转换为SQLNUMERIC值。当方法
execute被调用时,由此方法设置的参数值将内部存储,并将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 参数值 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setString
public void setString(int parameterIndex, String x) throws SQLException将指定的参数设置为给定的String值。 驱动程序将其转换为SQLVARCHAR或LONGVARCHAR值(取决于参数相对于驱动程序对VARCHAR值的限制的大小),当它发送到数据库时。此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更大 -
x- 参数值 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setBytes
public void setBytes(int parameterIndex, byte[] x) throws SQLException将指定的参数设置为给定的字节数组。 驱动程序将其转换为SQLVARBINARY或LONGVARBINARY值(取决于相对于驱动程序对VARBINARY的限制的参数的大小),当它发送到数据库时。此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。- 参数
-
parameterIndex- 此RowSet对象的命令中要设置的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 参数值 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setDate
public void setDate(int parameterIndex, Date x) throws SQLException将指定的参数设置为给定的java.sql.Date值。 当驱动程序将其发送到数据库时,将其转换为SQLDATE值。此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。在调用此版本的
getParams之后,对方法getParamssetDate调用将返回一个数组,其中要为占位符参数号parameterIndex设置的Date作为第二个参数提供的Date对象。 请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为parameterIndex -1。- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 参数值 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setTime
public void setTime(int parameterIndex, Time x) throws SQLException将指定的参数设置为给定的java.sql.Time值。 当驱动程序将其发送到数据库时,将其转换为SQLTIME值。当方法
execute被调用时,此方法设置的参数值将内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。在调用此方法
getParams之后,对方法setTime调用将返回已设置的参数的数组。 要为参数占位符号parameterIndex设置的参数将是设置为此方法的第二个参数的Time对象。请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为parameterIndex -1。
- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 一个java.sql.Time对象,它将被设置为占位符参数 parameterIndex的值 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setTimestamp
public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException将指定的参数设置为给定的java.sql.Timestamp值。 当驱动程序将其发送到数据库时,将其转换为SQLTIMESTAMP值。此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。该方法进行的呼叫
getParams这个版本的后setTimestamp已被调用将返回一个阵列具有用于参数占位符编号parameterIndex是所述值Timestamp这是供给作为第二个参数,以这种方法的对象。 请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为parameterIndex -1。- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 一个java.sql.Timestamp对象 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setAsciiStream
public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException将指定的参数设置为给定的java.io.InputStream对象,该对象将具有指定的字节数。 流的内容将被读取并发送到数据库。 如果读取并发送到数据库的字节数不等于长度,则此方法将抛出一个SQLException对象。当输入非常大的ASCII值到
LONGVARCHAR参数时,通过java.io.InputStream对象发送它可能更实用。 启用JDBC技术的驱动程序将根据需要从流中读取数据,直到达到文件结尾。 驱动程序将从ASCII到数据库CHAR格式进行任何必要的转换。注意:此流对象可以是标准Java流对象或实现标准接口的自己的子类。
此方法设置的参数值在内部存储,当调用方法
execute时,将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。该方法进行的呼叫
getParams后setAsciiStream已被调用将返回包含已设定的参数值的数组。 数组中表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的java.io.InputStream对象。 第二个元素是为长度设置的值。 第三个元素是内部的BaseRowSet常量,指定传递给此方法的流是ASCII流。 参数号由元素在方法getParams返回的数组中的位置getParams,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。 换句话说,如果设置的输入流是第二个占位符参数的值,则包含它的数组将是由getParams返回的数组中的第二个元素。请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为元素号parameterIndex -1。
- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 包含ASCII参数值的Java输入流 -
length- 流中的字节数。 这是驱动程序发送给DBMS的字节数; 0或更小的长度未定义,但会导致无效的长度异常被抛出到底层JDBC驱动程序中。 - 异常
-
SQLException- 如果发生错误,参数索引超出界限,或连接到数据源时,驱动程序读取和发送到数据库的字节数不等于 长度指定的字节数 - 另请参见:
-
getParams()
-
setAsciiStream
public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException将此RowSet对象的命令中的指定参数设置为给定的输入流。 当输入非常大的ASCII值到LONGVARCHAR参数时,通过java.io.InputStream发送它可能更实用。 将根据需要从流中读取数据,直到达到文件结尾。 JDBC驱动程序将从ASCII到数据库字符格式进行任何必要的转换。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
注意:请参阅您的JDBC驱动程序文档,以确定使用需要长度参数的版本的
setAsciiStream可能会更有效。- 参数
-
parameterIndex- 第一个参数是1,第二个是2,... -
x- 包含ASCII参数值的Java输入流 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setBinaryStream
public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException将指定的参数设置为给定的java.io.InputStream对象,该对象将具有指定的字节数。 流的内容将被读取并发送到数据库。 如果读取并发送到数据库的字节数不等于长度,则此方法将抛出一个SQLException对象。当一个非常大的二进制值输入到一个
LONGVARBINARY参数时,通过一个java.io.InputStream对象发送它可能会比较实用。 启用JDBC技术的驱动程序将根据需要从流中读取数据,直到达到文件结尾。注意:此流对象可以是标准Java流对象或实现标准接口的自己的子类。
此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。该方法进行的呼叫
getParams后setBinaryStream已被调用将返回包含已设定的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的java.io.InputStream对象。 第二个元素是为长度设置的值。 第三个元素是内部的BaseRowSet常量,指定传递给此方法的流是二进制流。 参数号由方法getParams返回的数组中元素的位置getParams,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。 换句话说,如果设置的输入流是第二个占位符参数的值,则包含它的数组将是由getParams返回的数组中的第二个元素。请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为元素号parameterIndex -1。
- 参数
-
parameterIndex- 要设置的RowSet对象的命令中占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 包含要设置的二进制值的输入流 -
length- 流中的字节数; 0或更小的长度未定义,但会导致无效的长度异常被抛出到底层JDBC驱动程序中。 - 异常
-
SQLException- 如果发生错误,参数索引超出界限,或连接到数据源时,驱动程序读取和发送到数据库的字节数不等于 长度指定的字节数 - 另请参见:
-
getParams()
-
setBinaryStream
public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException将此RowSet对象的命令中的指定参数设置为给定的输入流。 当一个非常大的二进制值输入到一个LONGVARBINARY参数时,通过一个java.io.InputStream对象发送它可能更实用。 数据将从流中读取,直到达到文件结尾。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
注意:请参阅您的JDBC驱动程序文档,以确定使用需要长度参数的版本的
setBinaryStream是否更有效。- 参数
-
parameterIndex- 第一个参数是1,第二个是2,... -
x- 包含二进制参数值的java输入流 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的PreparedStatement调用此方法PreparedStatement -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setUnicodeStream
@Deprecated public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
已过时。 getCharacterStream应该用于它的位置将指定的参数设置为给定的java.io.InputStream对象,该对象将具有指定的字节数。 流的内容将被读取并发送到数据库。 如果读取并发送到数据库的字节数不等于长度,则此方法将抛出SQLException。当输入非常大的Unicode值到
LONGVARCHAR参数时,通过java.io.InputStream对象发送它可能更实用。 启用JDBC技术的驱动程序将根据需要读取流中的数据,直到达到文件结尾。 驱动程序将从Unicode到数据库CHAR格式进行任何必要的转换。 Unicode流的字节格式必须是Java虚拟机规范中定义的Java UTF-8。注意:此流对象可以是标准Java流对象或实现标准接口的自己的子类。
此方法已弃用; 应该使用方法
getCharacterStream。此方法设置的参数值在内部存储,并在调用方法
execute时作为此RowSet对象的命令中的适当参数提供。 该方法进行的呼叫getParams后setUnicodeStream已被调用将返回包含已设定的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的java.io.InputStream对象。 第二个元素是为长度设置的值。 第三个元素是内部的BaseRowSet常量,指定传递给此方法的流是Unicode流。 参数号由元素在方法getParams返回的数组中的位置getParams,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。 换句话说,如果设置的输入流是第二个占位符参数的值,则包含它的数组将是由getParams返回的数组中的第二个元素。请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为元素号parameterIndex -1。
- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 包含UNICODE参数值的java.io.InputStream对象 -
length- 输入流中的字节数 - 异常
-
SQLException- 如果发生错误,参数索引超出范围,或驱动程序读取和发送到数据库的字节数不等于 长度指定的字节数 - 另请参见:
-
getParams()
-
setCharacterStream
public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException将指定的参数设置为给定的java.io.Reader对象,该对象将具有指定的字符数。 阅读器的内容将被读取并发送到数据库。 如果读取并发送到数据库的字节数不等于长度,则此方法将抛出一个SQLException。当输入非常大的Unicode值到
LONGVARCHAR参数时,通过Reader对象发送它可能更实用。 启用JDBC技术的驱动程序将根据需要从流中读取数据,直到达到文件结尾。 驱动程序将从Unicode到数据库CHAR格式进行任何必要的转换。 Unicode流的字节格式必须是Java虚拟机规范中定义的Java UTF-8。注意:此流对象可以是标准Java流对象或实现标准接口的自己的子类。
该方法设置的参数值在内部存储,当调用方法
execute时,将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供诸如execute和populate类的方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。该方法进行的呼叫
getParams后setCharacterStream已被调用将返回包含已设定的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的java.io.Reader对象。 第二个元素是为长度设置的值。 参数号由元素在方法getParams返回的数组中的位置表示,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。 换句话说,如果设置的读取器是第二个占位符参数的值,则包含它的数组将是由getParams返回的数组中的第二个元素。请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为元素号parameterIndex -1。
- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更大 -
reader- 包含Unicode数据的Reader对象 -
length- 流中的字符数; 0或更小的长度未定义,但会导致在底层JDBC驱动程序中抛出无效的长度异常。 - 异常
-
SQLException- 如果发生错误,参数索引超出范围,或连接到数据源时,驱动程序读取并发送到数据库的字节数不等于 长度指定的字节数 - 另请参见:
-
getParams()
-
setCharacterStream
public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException将此RowSet对象的命令中的指定参数设置为给定的Reader对象。 当非常大的UNICODE值输入到LONGVARCHAR参数时,通过java.io.Reader对象发送它可能更实用。 数据将从流中读取,直到达到文件结尾。 JDBC驱动程序将从UNICODE到数据库字符格式进行任何必要的转换。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
注意:请参阅您的JDBC驱动程序文档,以确定使用需要长度参数的版本的
setCharacterStream可能会更有效。- 参数
-
parameterIndex- 第一个参数是1,第二个是2,... -
reader- 包含Unicode数据的java.io.Reader对象 - 异常
-
SQLException- 如果发生数据库访问错误或者在关闭的PreparedStatement调用此方法PreparedStatement -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setObject
public void setObject(int parameterIndex, Object x, int targetSqlType, int scale) throws SQLException将指定的参数设置为Java编程语言中的一个Object。 第二个参数必须是Object类型。 对于积分值,应使用java.lang等效对象。 例如,使用Integer类int。驱动程序将此对象转换为指定的目标SQL类型,然后再将其发送到数据库。 如果该对象具有自定义映射(属于实现
SQLData的类),则驱动程序应调用方法SQLData.writeSQL将对象写入SQL数据流。 如果,在另一方面,对象是实现一类Ref,Blob,Clob,Struct,或Array,驾驶员应把它传递给数据库作为相应SQL类型的值。请注意,此方法可用于传递数据库特定的抽象数据类型。
当方法
execute被调用时,由该方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。在调用此版本的
getParams之后对方法getParamssetObject调用将返回包含已设置的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的Object实例,第二个元素是为targetSqlType设置的值。 第三个元素是为刻度设置的值,如果正在设置的对象的类型不是java.sql.Types.NUMERIC或java.sql.Types.DECIMAL,则驱动程序将忽略该值。 参数号由方法getParams返回的数组中元素的位置getParams,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。 换句话说,如果要设置的对象是第二个占位符参数的值,则包含它的数组将是getParams返回的数组中的第二个元素。请注意,由于数组中元素的编号从零开始,与占位符参数号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()
-
setObject
public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException使用给定的Object值设置指定参数的值。 该方法类似于setObject(int parameterIndex, Object x, int targetSqlType, int scale)除了它假定为零。当方法
execute被调用时,由该方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供诸如execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。该方法的调用
getParams这个版本后setObject被称为将返回包含已经设置的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的Object实例。 第二个元素是为targetSqlType设置的值。 参数号由方法getParams返回的数组中元素的位置getParams,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。 换句话说,如果要设置的对象是第二个占位符参数的值,则包含它的数组将是由getParams返回的数组中的第二个元素。请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为元素号parameterIndex -1。
- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 包含输入参数值的Object; 必须是Object类型 -
targetSqlType- 要发送到数据库的SQL类型(定义在java.sql.Types)。 如果提供了非标准的targetSqlType ,则此方法不会抛出一个SQLException。 这允许非标准SQL类型的隐式支持。 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setObject
public void setObject(int parameterIndex, Object x) throws SQLException将指定的参数设置为Java编程语言中的一个Object。 第二个参数必须是Object类型。 对于积分值,应使用java.lang等效对象。 例如,使用Integer类int。JDBC规范定义了从Java
Object类型到SQL类型的标准映射。 驱动程序将使用此标准映射将给定对象转换为其对应的SQL类型,然后再将其发送到数据库。 如果对象具有自定义映射(实现SQLData的类),则驱动程序应调用方法SQLData.writeSQL将对象写入SQL数据流。如果,在另一方面,对象是实现一类
Ref,Blob,Clob,Struct,或Array,驾驶员应把它传递给数据库作为相应SQL类型的值。如果存在歧义,则此方法会引发异常,例如,如果对象是实现多个接口的类。
请注意,此方法可能用于传递特定于数据库的抽象数据类型。
当方法
execute被调用时,由此方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。调用此方法后,对方法
getParams的调用将返回当前命令参数的对象数组,其中包括Object为占位符参数编号parameterIndex。 请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为元素号parameterIndex -1。- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 包含输入参数值的对象 - 异常
-
SQLException- 如果发生错误,参数索引超出界限,或者正在设置的对象的实现中存在歧义 - 另请参见:
-
getParams()
-
setRef
public void setRef(int parameterIndex, Ref ref) throws SQLException将指定的参数设置为Java编程语言中给定的Ref对象。 当驱动程序将其发送到数据库时,将其转换为SQLREF值。 在内部,Ref表示为SerialRef以确保可序列化。当方法
execute被调用时,由该方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。调用此方法后,对方法
getParams的调用将返回当前命令参数的对象数组,其中将包含Ref对象集,用于占位符参数号为parameterIndex。 请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为元素号parameterIndex -1。- 参数
-
parameterIndex- 此RowSet对象的命令中要设置的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更大 -
ref- 表示SQLREF值的Ref对象; 不能为空 - 异常
-
SQLException- 如果发生错误; 参数索引超出范围或Ref对象为null; 或Ref对象返回一个null基类型名称。 - 另请参见:
-
getParams(),SerialRef
-
setBlob
public void setBlob(int parameterIndex, Blob x) throws SQLException将指定的参数设置为Java编程语言中给定的Blob对象。 当驱动程序将其发送到数据库时,将其转换为SQLBLOB值。 在内部,Blob表示为SerialBlob以确保可序列化。此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。 注意:JdbcRowSet不需要populate方法,因为它在此类中未定义。在调用此方法之后,对方法
getParams的调用将返回当前命令参数的对象数组,其中将包含Blob对象集,用于占位符参数号为parameterIndex。 请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为元素号parameterIndex -1。- 参数
-
parameterIndex- 此RowSet对象的命令中要设置的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 表示SQLBLOB值的Blob对象 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams(),SerialBlob
-
setClob
public void setClob(int parameterIndex, Clob x) throws SQLException将指定的参数设置为Java编程语言中给定的Clob对象。 当驱动程序将其发送到数据库时,将其转换为SQLCLOB值。 在内部,Clob被表示为SerialClob以确保可序列化。当方法
execute被调用时,由该方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。调用此方法后,对方法
getParams的调用将返回当前命令参数的对象数组,其中包括Clob对象集,用于占位符参数号parameterIndex。 请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为元素号parameterIndex -1。- 参数
-
parameterIndex- 要设置的RowSet对象的命令中占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更大 -
x- 表示SQLCLOB值的Clob对象; 不能为空 - 异常
-
SQLException- 如果发生错误; 参数索引超出范围或Clob为空 - 另请参见:
-
getParams(),SerialBlob
-
setArray
public void setArray(int parameterIndex, Array array) throws SQLException将指定的参数设置为Java编程语言中的一个Array对象。 当驱动程序将其发送到数据库时,将其转换为SQLARRAY值。 在内部,Array表示为SerialArray以确保可序列化。当方法
execute被调用时,由该方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。在调用此方法之后,对方法
getParams的调用将返回当前命令参数的对象数组,其中包括Array对象集,用于占位符参数号为parameterIndex。 请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为元素号parameterIndex -1。- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
array- 表示SQLARRAY值的Array对象; 不能为空。 传递给此方法的Array对象必须为所有getArray()方法调用返回非空对象。 空值将导致抛出SQLException。 - 异常
-
SQLException- 如果发生错误; 参数索引超出范围或ARRAY为null - 另请参见:
-
getParams(),SerialArray
-
setDate
public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException将指定的参数设置为给定的java.sql.Date对象。 当DBMS不存储时区信息时,驱动程序将使用给定的Calendar对象来构造要发送到数据库的SQLDATE值。 使用Calendar对象,驱动程序可以计算考虑到自定义时区的日期。 如果未指定Calendar对象,则驱动程序将使用正在运行应用程序的虚拟机的时区。此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。在调用此版本的
getParams之后对方法getParamssetDate调用将返回包含已设置的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的java.sql.Date对象。 第二个元素是为cal设置的值。 参数号由元素在方法getParams返回的数组中的位置getParams,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。 换句话说,如果设置的日期是第二个占位符参数的值,则包含它的数组将是由getParams返回的数组中的第二个元素。请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为parameterIndex -1。
- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 表示SQLDATE值的java.sql.Date对象 -
cal- 在构建日期时使用的java.util.Calendar对象 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setTime
public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException将指定的参数设置为给定的java.sql.Time对象。 当驱动程序将其发送到数据库时,将其转换为SQLTIME值。当DBMS不存储时区信息时,驱动程序将使用给定的
Calendar对象来构造要发送到数据库的SQLTIME值。 使用Calendar对象,驱动程序可以计算考虑到自定义时区的日期。 如果未指定Calendar对象,则驱动程序将使用正在运行应用程序的虚拟机的时区。此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供诸如execute和populate类的方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。在调用此版本的
getParams之后对方法getParamssetTime调用将返回包含已设置的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的java.sql.Time对象。 第二个元素是为cal设置的值。 参数号由元素在方法getParams返回的数组中的位置getParams,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。 换句话说,如果设置的时间是第二个占位符参数的值,则包含它的数组将是由getParams返回的数组中的第二个元素。请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为parameterIndex -1。
- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更大 -
x- 一个java.sql.Time对象 -
cal- 驱动程序可用于构建时间的java.util.Calendar对象 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
setTimestamp
public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException将指定的参数设置为给定的java.sql.Timestamp对象。 当驱动程序将其发送到数据库时,将其转换为SQLTIMESTAMP值。当DBMS不存储时区信息时,驱动程序将使用给定的
Calendar对象来构造要发送到数据库的SQLTIMESTAMP值。 使用Calendar对象,驱动程序可以计算考虑到自定义时区的时间戳。 如果未指定Calendar对象,则驱动程序将使用正在运行应用程序的虚拟机的时区。此方法设置的参数值在内部存储,当调用方法
execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114RowSet接口的任何类中提供execute和populate等方法。注意:
JdbcRowSet不需要populate方法,因为它在此类中未定义。在调用此版本的
getParams之后,对方法getParamssetTimestamp调用将返回包含已设置的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的java.sql.Timestamp对象。 第二个元素是为cal设置的值。 参数号由元素在方法getParams返回的数组中的位置getParams,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。 换句话说,如果设置的时间戳是第二个占位符参数的值,则包含它的数组将是由getParams返回的数组中的第二个元素。请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为parameterIndex -1。
- 参数
-
parameterIndex- 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高 -
x- 一个java.sql.Timestamp对象 -
cal- 驱动程序可用于构建时间戳的java.util.Calendar对象 - 异常
-
SQLException- 如果发生错误或参数索引超出范围 - 另请参见:
-
getParams()
-
clearParameters
public void clearParameters() throws SQLException清除此RowSet对象在执行此RowSet对象的命令时要设置的参数的内部表示形式中的所有当前参数值。一般来说,参数值在此
RowSet对象的命令中仍然有效重复使用。 使用setter方法设置参数值会自动清除指定参数的值,并用新的指定值替换它。该方法由内部由
setCommand方法调用,以清除为上一个命令设置的所有参数。此外,该方法与
initParams方法不同之处在于它维护RowSet对象的模式。- 异常
-
SQLException- 如果发生错误清除参数
-
getParams
public Object[] getParams() throws SQLException
检索包含为此RowSet对象的命令设置的参数值(对象和基元)的SQLException如果尚未设置所有参数,则抛出一个SQLException对象。 在将命令发送到要执行的DBMS之前,这些参数将替代PreparedStatement对象中的占位符参数,该对象是扩展BaseRowSet类的RowSet实现的命令。返回的数组中的每个元素都是一个
Object实例,其中包含提供给setter方法的参数的值。 元素的顺序由为parameterIndex提供的值确定。 如果setter方法仅使用参数index和要设置的值(可能为空),则数组元素将包含要设置的值(将表示为Object)。 如果有其他参数,则数组元素本身将是一个数组,其中包含要设置的值加上提供给setter方法的任何附加参数值。 如果方法设置流,则数组元素包括提供给该方法的流的类型。 这些附加参数用于使用驱动程序或DBMS,并且可以使用也可以不使用。注意事项:储存类型的参数值
Array,Blob,Clob和Ref返回为SerialArray,SerialBlob,SerialClob和SerialRef分别。- 结果
-
包含
Object实例的数组,其中包括可以在此RowSet对象的命令中设置的参数值; 如果没有设置参数,则为空数组 - 异常
-
SQLException- 如果检索到此RowSet对象的参数的对象数组时出现错误,或者是否已设置所有参数
-
setNull
public void setNull(String parameterName, int sqlType) throws SQLException
将指定的参数设置为SQLNULL。注意:您必须指定参数的SQL类型。
- 参数
-
parameterName- 参数的名称 -
sqlType- 在java.sql.Types定义的SQL类型代码 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法
-
setNull
public void setNull(String parameterName, int sqlType, String typeName) throws SQLException
将指定的参数设置为SQLNULL。 此版本的方法setNull应用于用户定义的类型和REF类型参数。 用户定义类型的示例包括:STRUCT,DISTINCT,JAVA_OBJECT和命名的数组类型。注意:为了便于携带,当指定NULL用户定义或REF参数时,应用程序必须给出SQL类型代码和完全限定的SQL类型名称。 在用户定义类型的情况下,名称是参数本身的类型名称。 对于REF参数,名称是引用类型的类型名称。 如果JDBC驱动程序不需要类型代码或类型名称信息,它可能会忽略它。 尽管它是用于用户定义的和参数的参数,但是该方法可以用于设置任何JDBC类型的空值参数。 如果参数没有用户定义或REF类型,则给定的typeName将被忽略。
- 参数
-
parameterName- 参数的名称 -
sqlType- 一个值从java.sql.Types -
typeName- SQL用户定义类型的全限定名称; 如果参数不是用户定义的类型或SQLREF值,则忽略该值 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法
-
setBoolean
public void setBoolean(String parameterName, boolean x) throws SQLException
将指定的参数设置为给定的Javaboolean值。 当驱动程序将其发送到数据库时,将其转换为SQLBIT或BOOLEAN值。- 参数
-
parameterName- 参数的名称 -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setByte
public void setByte(String parameterName, byte x) throws SQLException
将指定的参数设置为给定的Javabyte值。 当驱动程序将其发送到数据库时,将其转换为SQLTINYINT值。- 参数
-
parameterName- 参数的名称 -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误或此方法在关闭时CallableStatement -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setShort
public void setShort(String parameterName, short x) throws SQLException
将指定的参数设置为给定的Javashort值。 当驱动程序将其发送到数据库时,将其转换为SQLSMALLINT值。- 参数
-
parameterName- 参数的名称 -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误或者在关闭的CallableStatement调用此方法CallableStatement -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setInt
public void setInt(String parameterName, int x) throws SQLException
将指定的参数设置为给定的Javaint值。 当驱动程序将其发送到数据库时,将其转换为SQLINTEGER值。- 参数
-
parameterName- 参数的名称 -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement调用此方法CallableStatement -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setLong
public void setLong(String parameterName, long x) throws SQLException
将指定的参数设置为给定的Javalong值。 当驱动程序将其发送到数据库时,将其转换为SQLBIGINT值。- 参数
-
parameterName- 参数的名称 -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setFloat
public void setFloat(String parameterName, float x) throws SQLException
将指定的参数设置为给定的Javafloat值。 当驱动程序将其发送到数据库时,将其转换为SQLFLOAT值。- 参数
-
parameterName- 参数的名称 -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误或者在关闭的CallableStatement调用此方法CallableStatement -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setDouble
public void setDouble(String parameterName, double x) throws SQLException
将指定的参数设置为给定的Javadouble值。 当驱动程序将其发送到数据库时,将其转换为SQLDOUBLE值。- 参数
-
parameterName- 参数的名称 -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setBigDecimal
public void setBigDecimal(String parameterName, BigDecimal x) throws SQLException
将指定的参数设置为给定的java.math.BigDecimal值。 当驱动程序将其发送到数据库时,将其转换为SQLNUMERIC值。- 参数
-
parameterName- 参数的名称 -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setString
public void setString(String parameterName, String x) throws SQLException
将指定的参数设置为给定的JavaString值。 当驱动程序将其发送到数据库时,将其转换为SQLVARCHAR或LONGVARCHAR值(取决于参数相对于驱动程序对VARCHAR的限制的大小)的大小。- 参数
-
parameterName- 参数的名称 -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setBytes
public void setBytes(String parameterName, byte[] x) throws SQLException
将指定的参数设置为给定的Java字节数组。 驱动程序将其转换为SQLVARBINARY或LONGVARBINARY(取决于参数相对于VARBINARY值的驱动程序限制的大小),当它发送到数据库时。- 参数
-
parameterName- 参数的名称 -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setTimestamp
public void setTimestamp(String parameterName, Timestamp x) throws SQLException
将指定的参数设置为给定的java.sql.Timestamp值。 当驱动程序将其发送到数据库时将其转换为SQLTIMESTAMP值。- 参数
-
parameterName- 参数的名称 -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误或者在关闭的CallableStatement调用此方法CallableStatement -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setAsciiStream
public void setAsciiStream(String parameterName, InputStream x, int length) throws SQLException
将指定的参数设置为给定的输入流,它将具有指定的字节数。 当输入非常大的ASCII值到LONGVARCHAR参数时,通过java.io.InputStream发送它可能更实用。 将根据需要从流中读取数据,直到达到文件结尾。 JDBC驱动程序将从ASCII到数据库字符格式进行任何必要的转换。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
- 参数
-
parameterName- 参数的名称 -
x- 包含ASCII参数值的Java输入流 -
length- 流中的字节数 - 异常
-
SQLException- 如果发生数据库访问错误或者在关闭的CallableStatement调用此方法CallableStatement -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法
-
setBinaryStream
public void setBinaryStream(String parameterName, InputStream x, int length) throws SQLException
将指定的参数设置为给定的输入流,它将具有指定的字节数。 当一个非常大的二进制值输入到一个LONGVARBINARY参数时,通过一个java.io.InputStream对象发送它可能比较实用。 数据将从流中读取,直到达到文件结尾。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
- 参数
-
parameterName- 参数的名称 -
x- 包含二进制参数值的java输入流 -
length- 流中的字节数 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法
-
setCharacterStream
public void setCharacterStream(String parameterName, Reader reader, int length) throws SQLException
将指定的参数设置为给定的Reader对象,这是给定的长度的字符数。 当将非常大的UNICODE值输入到LONGVARCHAR参数时,通过java.io.Reader对象发送它可能更实用。 数据将从流中读取,直到达到文件结尾。 JDBC驱动程序将从UNICODE到数据库字符格式进行任何必要的转换。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
- 参数
-
parameterName- 参数的名称 -
reader- 包含用作指定参数的UNICODE数据的java.io.Reader对象 -
length- 流中的字符数 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法
-
setAsciiStream
public void setAsciiStream(String parameterName, InputStream x) throws SQLException
将指定的参数设置为给定的输入流。 当输入非常大的ASCII值到LONGVARCHAR参数时,通过java.io.InputStream发送它可能更实用。 将根据需要从流中读取数据,直到达到文件结尾。 JDBC驱动程序将从ASCII到数据库字符格式进行任何必要的转换。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
注意:请参阅您的JDBC驱动程序文档,以确定使用长度参数的
setAsciiStream版本是否更有效。- 参数
-
parameterName- 参数的名称 -
x- 包含ASCII参数值的Java输入流 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setBinaryStream
public void setBinaryStream(String parameterName, InputStream x) throws SQLException
将指定的参数设置为给定的输入流。 当一个非常大的二进制值被输入到一个LONGVARBINARY参数时,通过一个java.io.InputStream对象发送它可能会比较实用。 数据将从流中读取,直到达到文件结尾。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
注意:请参阅您的JDBC驱动程序文档,以确定使用长度参数的
setBinaryStream版本是否更有效。- 参数
-
parameterName- 参数的名称 -
x- 包含二进制参数值的java输入流 - 异常
-
SQLException- 如果发生数据库访问错误,或者在关闭的CallableStatement调用此方法CallableStatement -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setCharacterStream
public void setCharacterStream(String parameterName, Reader reader) throws SQLException
将指定的参数设置为给定的Reader对象。 当将非常大的UNICODE值输入到LONGVARCHAR参数时,通过java.io.Reader对象发送它可能更实用。 数据将从流中读取,直到达到文件结尾。 JDBC驱动程序将从UNICODE到数据库字符格式进行任何必要的转换。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
注意:请参阅您的JDBC驱动程序文档,以确定使用需要长度参数的版本的
setCharacterStream可能会更有效。- 参数
-
parameterName- 参数的名称 -
reader- 包含Unicode数据的java.io.Reader对象 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setNCharacterStream
public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException将此RowSet对象的命令中的指定参数设置为Reader对象。Reader读取数据,直到达到文件结尾。 驱动程序必须从Java字符格式转换为数据库中的国家字符集。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
注意:请参阅您的JDBC驱动程序文档,以确定使用长度参数的
setNCharacterStream版本是否更有效。- 参数
-
parameterIndex- 第一个参数是1,第二个是2,... -
value- 参数值 - 异常
-
SQLException- 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误; 或者这个方法在关闭的PreparedStatement -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setObject
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- 对于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,getParams()
-
setObject
public void setObject(String parameterName, Object x, int targetSqlType) throws SQLException
使用给定对象设置指定参数的值。 该方法类似于上述方法setObject,除了它假定为零的比例。- 参数
-
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驱动程序不支持此数据类型 - 另请参见:
-
getParams()
-
setObject
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驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setBlob
public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException将指定的参数设置为InputStream对象。InputStream必须包含由长度指定的字符数,否则当执行SQLException将生成PreparedStatement。 该方法与setBinaryStream (int, InputStream, int)方法不同,因为它通知驱动程序参数值应作为BLOB发送到服务器。 当使用setBinaryStream方法时,驱动程序可能需要额外的工作才能确定是否应将参数数据作为LONGVARBINARY或BLOB发送到服务器- 参数
-
parameterIndex- 第一个参数的索引为1,第二个为2,... -
inputStream- 包含用于设置参数值的数据的对象。 -
length- 参数数据中的字节数。 - 异常
-
SQLException- 如果发生数据库访问错误,则在关闭的PreparedStatement调用此方法,如果parameterIndex与SQL语句中的参数标记不对应,如果指定的长度小于零或InputStream中的字节数不符合指定的长度。 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setBlob
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驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setBlob
public void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException
将指定的参数设置为InputStream对象。Inputstream必须包含由长度指定的字符数,否则当执行SQLException将生成CallableStatement。 该方法与setBinaryStream (int, InputStream, int)方法不同,因为它通知驱动程序参数值应作为BLOB发送到服务器。 当使用setBinaryStream方法时,驱动程序可能需要额外的工作才能确定是否应将参数数据作为LONGVARBINARY或BLOB发送到服务器- 参数
-
parameterName- 要设置的参数的名称是2,... -
inputStream- 包含用于设置参数值的数据的对象。 -
length- 参数数据中的字节数。 - 异常
-
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记,或者指定的长度小于零; 如果InputStream中的字节数与指定长度不匹配; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setBlob
public void setBlob(String parameterName, Blob x) throws SQLException
将指定的参数设置为给定的java.sql.Blob对象。 当驱动程序将其发送到数据库时,将其转换为SQLBLOB值。- 参数
-
parameterName- 参数的名称 -
x- 映射SQLBLOB值的Blob对象 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setBlob
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驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setClob
public void setClob(int parameterIndex, Reader reader, long length) throws SQLException将指定的参数设置为Reader对象。 读者必须包含由长度指定的字符数,否则在执行SQLException会生成PreparedStatement。 该方法与setCharacterStream (int, Reader, int)方法不同,因为它通知驱动程序参数值应作为CLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能需要额外的工作才能确定是否应将参数数据作为LONGVARCHAR或CLOB发送到服务器- 参数
-
parameterIndex- 第一个参数的索引为1,第二个为2,... -
reader- 包含用于设置参数值的数据的对象。 -
length- 参数数据中的字符数。 - 异常
-
SQLException- 如果发生数据库访问错误,则在关闭的PreparedStatement调用此方法,如果parameterIndex与SQL语句中的参数标记不对应,或者指定的长度小于零。 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setClob
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驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setClob
public void setClob(String parameterName, Reader reader, long length) throws SQLException
将指定的参数设置为Reader对象。reader必须包含由长度指定的字符数,否则在执行SQLException将生成CallableStatement。 该方法与setCharacterStream (int, Reader, int)方法不同,因为它通知驱动程序参数值应作为CLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能需要额外的工作才能确定参数数据是否应以LONGVARCHAR或CLOB发送到服务器- 参数
-
parameterName- 要设置的参数的名称 -
reader- 包含用于设置参数值的数据的对象。 -
length- 参数数据中的字符数。 - 异常
-
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果指定的长度小于零; 发生数据库访问错误,或者在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setClob
public void setClob(String parameterName, Clob x) throws SQLException
将指定的参数设置为给定的java.sql.Clob对象。 当驱动程序将其发送到数据库时,将其转换为SQLCLOB值。- 参数
-
parameterName- 参数的名称 -
x- 映射SQLCLOB值的Clob对象 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setClob
public void setClob(String parameterName, Reader reader) throws SQLException
将指定的参数设置为Reader对象。 该方法与setCharacterStream (int, Reader)方法不同,因为它通知驱动程序参数值应作为CLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能需要额外的工作才能确定参数数据是否应作为LONGVARCHAR或CLOB发送到服务器注意:请参阅您的JDBC驱动程序文档,以确定使用
setClob的版本是否更有效,该版本需要一个长度参数。- 参数
-
parameterName- 参数的名称 -
reader- 包含用于设置参数值的数据的对象。 - 异常
-
SQLException- 如果发生数据库访问错误或者在关闭的CallableStatement调用此方法CallableStatement -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setDate
public void setDate(String parameterName, Date x) throws SQLException
使用运行应用程序的虚拟机的默认时区将指定的参数设置为给定的java.sql.Date值。 当驱动程序将其发送到数据库时,将其转换为SQLDATE值。- 参数
-
parameterName- 参数的名称 -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setDate
public void setDate(String parameterName, Date x, Calendar cal) throws SQLException
使用给定的Calendar对象将指定的参数设置为给定的java.sql.Date值。 驱动程序使用Calendar对象构造一个SQLDATE值,然后驱动程序将其发送到数据库。 使用aaCalendar对象,驱动程序可以计算考虑到自定义时区的日期。 如果未指定Calendar对象,则驱动程序将使用默认时区,即运行应用程序的虚拟机的时区。- 参数
-
parameterName- 参数的名称 -
x- 参数值 -
cal- 驱动程序将用于构建日期的Calendar对象 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setTime
public void setTime(String parameterName, Time x) throws SQLException
将指定的参数设置为给定的java.sql.Time值。 当驱动程序将其发送到数据库时,将其转换为SQLTIME值。- 参数
-
parameterName- 参数的名称 -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement调用此方法CallableStatement -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setTime
public void setTime(String parameterName, Time x, Calendar cal) throws SQLException
使用给定的Calendar对象将指定的参数设置为给定的java.sql.Time值。 驱动程序使用Calendar对象来构造一个SQLTIME值,然后驱动程序将其发送到数据库。 使用aaCalendar对象,驱动程序可以计算考虑到自定义时区的时间。 如果未指定Calendar对象,则驱动程序将使用默认时区,即运行应用程序的虚拟机的时区。- 参数
-
parameterName- 参数的名称 -
x- 参数值 -
cal- 驱动程序将用于构建时间的Calendar对象 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setTimestamp
public void setTimestamp(String parameterName, Timestamp x, Calendar cal) throws SQLException
使用给定的Calendar对象将指定的参数设置为给定的java.sql.Timestamp值。 驱动程序使用Calendar对象来构造一个SQLTIMESTAMP值,然后驱动程序将其发送到数据库。 使用aaCalendar对象,驱动程序可以计算考虑到自定义时区的时间戳。 如果未指定Calendar对象,则驱动程序使用默认时区,即运行应用程序的虚拟机的时区。- 参数
-
parameterName- 参数的名称 -
x- 参数值 -
cal- 驱动程序将用于构建时间戳的Calendar对象 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 另请参见:
-
getParams()
-
setSQLXML
public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException将指定的参数设置为给定的java.sql.SQLXML对象。 当驱动程序将其发送到数据库时,将其转换为SQLXML值。- 参数
-
parameterIndex- 第一个参数的索引为1,第二个为2,... -
xmlObject- 映射SQLXML值的SQLXML对象 - 异常
-
SQLException-如果发生数据库访问错误,该方法被称为上关闭的结果集,java.xml.transform.Result,Writer或OutputStream尚未收为SQLXML对象或者如果存在一个错误处理XML值。 异常的getCause方法可能会提供更详细的异常,例如,如果流不包含有效的XML。 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setSQLXML
public void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException
将指定的参数设置为给定的java.sql.SQLXML对象。 当驱动程序将其发送到数据库时,将其转换为SQL XML值。- 参数
-
parameterName- 参数的名称 -
xmlObject- 一个映射SQL XML值的SQLXML对象 - 异常
-
SQLException- 如果发生数据库访问错误,此方法在关闭的结果集上java.xml.transform.Result,Writer或OutputStream尚未针对SQLXML对象关闭,或者处理XML值时出错。 异常的getCause方法可能会提供更详细的异常,例如,如果流不包含有效的XML。 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setRowId
public void setRowId(int parameterIndex, RowId x) throws SQLException将指定的参数设置为给定的java.sql.RowId对象。 当驱动程序将其发送到数据库时,将其转换为SQLROWID值- 参数
-
parameterIndex- 第一个参数是1,第二个是2,... -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setRowId
public void setRowId(String parameterName, RowId x) throws SQLException
将指定的参数设置为给定的java.sql.RowId对象。 当驱动程序将其发送到数据库时,将其转换为SQLROWID。- 参数
-
parameterName- 参数的名称 -
x- 参数值 - 异常
-
SQLException- 如果发生数据库访问错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setNString
public void setNString(int parameterIndex, String value) throws SQLException将指定的参数设置为给定的String对象。 驱动程序将其转换为SQLNCHAR或NVARCHAR或LONGNVARCHAR值(取决于参数相对于NVARCHAR值的驱动程序限制的大小),当它发送到数据库时。- 参数
-
parameterIndex- 第一个参数是1,第二个是2,... -
value- 参数值 - 异常
-
SQLException- 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 或者发生数据库访问错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setNString
public void setNString(String parameterName, String value) throws SQLException
将指定的参数设置为给定的String对象。 驱动程序将其转换为SQLNCHAR或NVARCHAR或LONGNVARCHAR- 参数
-
parameterName- 要设置的列的名称 -
value- 参数值 - 异常
-
SQLException- 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 或者发生数据库访问错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setNCharacterStream
public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException将指定的参数设置为Reader对象。Reader读取数据,直到文件到达结束。 驱动程序必须从Java字符格式转换为数据库中的国家字符集。- 参数
-
parameterIndex- 第一个参数是1,第二个是2,... -
value- 参数值 -
length- 参数数据中的字符数。 - 异常
-
SQLException- 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 或者发生数据库访问错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setNCharacterStream
public void setNCharacterStream(String parameterName, Reader value, long length) throws SQLException
将指定的参数设置为Reader对象。Reader读取数据,直到达到文件结尾。 驱动程序必须从Java字符格式转换为数据库中的国家字符集。- 参数
-
parameterName- 要设置的列的名称 -
value- 参数值 -
length- 参数数据中的字符数。 - 异常
-
SQLException- 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 或者发生数据库访问错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setNCharacterStream
public void setNCharacterStream(String parameterName, Reader value) throws SQLException
将指定的参数设置为Reader对象。Reader读取数据,直到达到文件结尾。 驱动程序必须从Java字符格式转换为数据库中的国家字符集。注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。
注意:请参阅您的JDBC驱动程序文档,以确定使用需要长度参数的版本的
setNCharacterStream可能会更有效。- 参数
-
parameterName- 参数的名称 -
value- 参数值 - 异常
-
SQLException- 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误; 或者这个方法在一个关闭的CallableStatement -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setNClob
public void setNClob(String parameterName, NClob value) throws SQLException
将指定的参数设置为java.sql.NClob对象。 该对象实现了java.sql.NClob接口。 这个NClob对象映射到一个SQLNCLOB。- 参数
-
parameterName- 要设置的列的名称 -
value- 参数值 - 异常
-
SQLException- 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 或者发生数据库访问错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setNClob
public void setNClob(String parameterName, Reader reader, long length) throws SQLException
将指定的参数设置为Reader对象。reader必须包含由长度指定的字符数,否则在执行SQLException将生成CallableStatement。 该方法与setCharacterStream (int, Reader, int)方法不同,因为它通知驱动程序参数值应作为NCLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能需要额外的工作才能确定参数数据是否应作为LONGNVARCHAR或NCLOB发送到服务器- 参数
-
parameterName- 要设置的参数的名称 -
reader- 包含用于设置参数值的数据的对象。 -
length- 参数数据中的字符数。 - 异常
-
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果指定的长度小于零; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setNClob
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驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setNClob
public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException将指定的参数设置为Reader对象。 读者必须包含由长度指定的字符数,否则在执行SQLException将生成PreparedStatement。 该方法与setCharacterStream (int, Reader, int)方法不同,因为它通知驱动程序参数值应作为NCLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能需要额外的工作才能确定参数数据是否应以LONGNVARCHAR或NCLOB发送到服务器- 参数
-
parameterIndex- 第一个参数的索引为1,第二个为2,... -
reader- 包含用于设置参数值的数据的对象。 -
length- 参数数据中的字符数。 - 异常
-
SQLException- 如果parameterIndex不对应于SQL语句中的参数标记; 如果指定的长度小于零; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setNClob
public void setNClob(int parameterIndex, NClob value) throws SQLException将指定的参数设置为java.sql.NClob对象。 驱动程序将此值发送到数据库时将其转换为SQLNCLOB。- 参数
-
parameterIndex- 第一个参数是1,第二个是2,... -
value- 参数值 - 异常
-
SQLException- 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 或者发生数据库访问错误 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setNClob
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驱动程序不支持此方法 - 从以下版本开始:
- 1.6
-
setURL
public void setURL(int parameterIndex, URL x) throws SQLException将指定的参数设置为给定的java.net.URL值。 当驱动程序将其发送到数据库时,将其转换为SQLDATALINK值。- 参数
-
parameterIndex- 第一个参数是1,第二个是2,... -
x- 要设置的java.net.URL对象 - 异常
-
SQLException- 如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法 -
SQLFeatureNotSupportedException- 如果JDBC驱动程序不支持此方法
-
-