Module  java.sql.rowset
软件包  javax.sql.rowset

Class BaseRowSet

  • All Implemented Interfaces:
    SerializableCloneable


    public abstract class BaseRowSet
    extends Object
    implements Serializable, Cloneable
    一个抽象类,提供一个RowSet对象及其基本功能。 基本功能包括具有所有JavaBeans组件必须实现的属性和发送事件通知。

    1.0概述

    BaseRowSet类提供了所有RowSet实现的核心功能,所有标准实现可以将这一类与一个或多个RowSet接口组合使用,以提供标准的供应商特定实现。 为了澄清,所有实现都必须实现的中的至少一个RowSet接口( JdbcRowSetCachedRowSetJoinRowSetFilteredRowSet ,或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对象读取数据本身来填充数据。 如果查询包含要设置的值的占位符,则使用BaseRowSet setter方法来设置这些值。 如果需要,所有设置器方法都允许将这些值设置为null

    以下代码片段说明了CachedRowSet对象crs如何设置其命令属性。 请注意,如果使用工具来设置属性,则这是该工具将使用的代码。

       crs.setCommand("SELECT FIRST_NAME, LAST_NAME, ADDRESS FROM CUSTOMERS" + "WHERE CREDIT_LIMIT > ? AND REGION = ?");  

    在这个例子中, CREDIT_LIMITREGION的值是占位符参数,它用问号(?)表示。 第一个问号是占位符参数号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'"  
    注:设置ArrayClobBlobRef对象作为命令参数,存储这些值作为SerialArraySerialClobSerialBlobSerialRef分别对象。

    4.0处理场景背后的参数

    注意: BaseRowSet类提供了两种设置方法,即设置属性和设置占位符参数的方法。 本节讨论的setter方法是设置占位符参数的方法。

    使用BaseRowSet setter方法设置的占位符参数作为对象存储在内部Hashtable对象中。 原语存储为Object类型。 例如, byte存储为Byte对象, int存储为Integer对象。 当方法execute被调用时, Hashtable对象中的值将替换命令中适当的占位符参数。

    对方法getParams调用将Hashtable对象中存储的值作为Object实例的数组Object 该数组中的一个元素可能是一个简单的Object实例或一个数组(它是一种类型的Object )。 使用的特定setter方法确定此数组中的元素是一个Object还是一个数组。

    用于设置占位符参数的大多数方法都有两个参数,第一个参数指示要设置的占位符参数,第二个参数给出要设置的值。 法如setIntsetStringsetBoolean ,并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返回的数组中的第二个元素将是两个或三个元素的数组。

    一些方法,例如setObjectsetDate具有采用两个以上参数的版本,额外的参数给驱动程序或DBMS提供信息。 例如,该方法setDatesetTimesetTimestamp可以采取Calendar对象作为其第三个参数。 如果DBMS不存储时区信息时,驱动程序使用Calendar对象构造DateTime ,或Timestamp对象被设置。 与提供其他信息的其他方法一样, getParams返回的数组中的元素是一个数组,而不是简单的Object实例。

    方法setAsciiStreamsetBinaryStreamsetCharacterStreamsetUnicodeStream (其已过时,所以应用程序应使用getCharacterStream代替)取三个参数,因此对他们来说,由返回的数组中的元素getParams也是一个数组。 这些setter方法的不同之处在于,除了由参数提供的信息之外,该数组还包含BaseRowSet常量之一,指示正在设置的流的类型。

    注意:方法getParams由扩展此类的RowSet实现内部调用; 应用程序员通常不会直接调用它。

    5.0事件通知

    BaseRowSet类为行集提供事件通知机制。 它包含字段listeners ,添加和删除侦听器的方法,以及通知侦听器更改的方法。

    监听器是实现了RowSetListener接口的对象。 如果已将其添加到RowSet对象的监听器列表中,则当该事件发生在该RowSet对象时将被通知。 每个监听器的RowSetListener方法的实现定义当通知事件发生时该对象将执行什么操作。

    RowSet对象有三个可能的事件:

    1. 光标移动
    2. 单个行已更改(更新,删除或插入)
    3. 整个RowSet对象的内容发生变化

    用于通知的BaseRowSet方法表示发生的事件的类型。 例如,方法notifyRowChanged指示行已被更新,删除或插入。 每个通知方法都会创建一个RowSetEvent对象,该对象提供给侦听器,以便识别发生事件的RowSet对象。 监听者对这些信息的处理方式取决于实现方式。

    6.0默认行为

    默认的BaseRowSet对象被初始化为许多起始值。 默认的RowSet扩展BaseRowSet类的实例BaseRowSet
    • 有一个可滚动的光标,不显示别人所做的更改。
    • 可更新
    • 不显示已删除的行。
    • 没有时间限制驱动程序执行RowSet对象的命令可能需要多长时间。
    • 它可能包含的行数没有限制。
    • 列可能包含的字节数没有限制。 注:此限制仅适用于持有下列类型的值列: BINARYVARBINARYLONGVARBINARYCHARVARCHAR ,并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 int ASCII_STREAM_PARAM
      一个常量,指示一个给定参数是ASCII流的一个 RowSetReaderImpl对象。
      protected InputStream asciiStream
      InputStream对象将由方法 getAsciiStream返回,这是在 ResultSet界面中指定的。
      static int BINARY_STREAM_PARAM
      一个常量,表示一个给定参数是二进制流的一个 RowSetReaderImpl对象。
      protected InputStream binaryStream
      InputStream对象将由方法 getBinaryStream返回,这是在 ResultSet界面中指定的。
      protected Reader charStream
      Reader对象将由方法 getCharacterStream返回,这在 ResultSet接口中指定。
      static int UNICODE_STREAM_PARAM
      一个常量,指示一个给定参数是Unicode流的一个 RowSetReaderImpl对象。
      protected InputStream unicodeStream
      InputStream对象将通过方法 getUnicodeStream返回,这在 ResultSet接口中指定。
    • 构造方法摘要

      构造方法  
      Constructor 描述
      BaseRowSet​()
      构造一个新的 BaseRowSet对象,初始化为其 listeners字段的默认 Vector对象。
    • 方法摘要

      所有方法  接口方法  具体的方法  弃用的方法 
      Modifier and Type 方法 描述
      void addRowSetListener​(RowSetListener listener)
      当这个 RowSet对象发生事件时,监听器将被通知。
      void clearParameters​()
      清除此 RowSet对象在执行此 RowSet对象的命令时要设置的参数的内部表示形式中的所有当前参数值。
      String getCommand​()
      检索作为此 RowSet对象的命令的SQL查询。
      int getConcurrency​()
      返回此 RowSet对象的并发性。
      String getDataSourceName​()
      返回当提供给使用Java命名和目录接口(JNDI)API的命名服务时,将检索 javax.sql.DataSource对象的逻辑名称。
      boolean getEscapeProcessing​()
      确定是否启用此 RowSet对象的转义处理。
      int getFetchDirection​()
      检索此 RowSet对象当前的抓取方向设置。
      int getFetchSize​()
      返回此 RowSet对象的获取大小。
      int getMaxFieldSize​()
      检索此 RowSet对象中可用于列值的最大字节数。
      int getMaxRows​()
      检索此 RowSet对象可能包含的最大行数。
      Object[] getParams​()
      检索一个数组,其中包含为此 RowSet对象的命令设置的参数值(对象和基元),如果尚未设置所有参数,则抛出一个 SQLException对象。
      String getPassword​()
      返回用于为此 RowSet对象创建数据库连接的密码。
      int getQueryTimeout​()
      检索驱动程序等待查询执行的最大秒数。
      boolean getShowDeleted​()
      检索一个 boolean指示标记为删除的行是否显示在当前行的集合中。
      int getTransactionIsolation​()
      返回此 RowSet对象的连接的事务隔离属性。
      int getType​()
      返回此 RowSet对象的类型。
      Map<String,Class<?>> getTypeMap​()
      检索与该关联的类型映射 Connection对象此 RowSet对象。
      String getUrl​()
      检索此 RowSet对象的 javax.sql.Reader对象用于使用启用JDBC技术的驱动程序与关系数据库建立连接的JDBC URL。
      String getUsername​()
      返回用于创建数据库连接的用户名。
      protected void initParams​()
      执行必要的内部配置和初始化,以允许任何JDBC RowSet实现开始使用 BaseRowSet实例提供的标准工具。
      boolean isReadOnly​()
      返回一个 boolean表示该 RowSet对象是否为只读。
      protected void notifyCursorMoved​()
      通知所有在此 RowSet对象注册的听众,其游标已移动。
      protected void notifyRowChanged​()
      通知所有注册此 RowSet对象的侦听器,其中一行已更改。
      protected void notifyRowSetChanged​()
      通知所有注册该 RowSet对象的听众,其全部内容已更改。
      void removeRowSetListener​(RowSetListener listener)
      从这个 RowSet对象的监听器列表中删除指定的对象。
      void setArray​(int parameterIndex, Array array)
      将指定的参数设置为Java编程语言中的一个 Array对象。
      void setAsciiStream​(int parameterIndex, InputStream x)
      将此 RowSet对象的命令中的指定参数设置为给定的输入流。
      void setAsciiStream​(int parameterIndex, InputStream x, int length)
      将指定的参数设置为给定的 java.io.InputStream对象,该对象将具有指定的字节数。
      void setAsciiStream​(String parameterName, InputStream x)
      将指定的参数设置为给定的输入流。
      void setAsciiStream​(String parameterName, InputStream x, int length)
      将指定的参数设置为给定的输入流,它将具有指定的字节数。
      void setBigDecimal​(int parameterIndex, BigDecimal x)
      将指定的参数设置为给定的 java.lang.BigDecimal值。
      void setBigDecimal​(String parameterName, BigDecimal x)
      将指定的参数设置为给定的 java.math.BigDecimal值。
      void setBinaryStream​(int parameterIndex, InputStream x)
      将此 RowSet对象的命令中的指定参数设置为给定的输入流。
      void setBinaryStream​(int parameterIndex, InputStream x, int length)
      将指定的参数设置为给定的 java.io.InputStream对象,该对象将具有指定的字节数。
      void setBinaryStream​(String parameterName, InputStream x)
      将指定的参数设置为给定的输入流。
      void setBinaryStream​(String parameterName, InputStream x, int length)
      将指定的参数设置为给定的输入流,它将具有指定的字节数。
      void setBlob​(int parameterIndex, InputStream inputStream)
      将指定的参数设置为 InputStream对象。
      void setBlob​(int parameterIndex, InputStream inputStream, long length)
      将指定的参数设置为 InputStream对象。
      void setBlob​(int parameterIndex, Blob x)
      将指定的参数设置为Java编程语言中给定的 Blob对象。
      void setBlob​(String parameterName, InputStream inputStream)
      将指定的参数设置为 InputStream对象。
      void setBlob​(String parameterName, InputStream inputStream, long length)
      将指定的参数设置为 InputStream对象。
      void setBlob​(String parameterName, Blob x)
      将指定的参数设置为给定的 java.sql.Blob对象。
      void setBoolean​(int parameterIndex, boolean x)
      将指定的参数设置为Java编程语言中给定的 boolean
      void setBoolean​(String parameterName, boolean x)
      将指定的参数设置为给定的Java boolean值。
      void setByte​(int parameterIndex, byte x)
      将指定的参数设置为Java编程语言中的给定的 byte
      void setByte​(String parameterName, byte x)
      将指定的参数设置为给定的Java byte值。
      void setBytes​(int parameterIndex, byte[] x)
      将指定的参数设置为给定的字节数组。
      void setBytes​(String parameterName, byte[] x)
      将指定的参数设置为给定的Java字节数组。
      void setCharacterStream​(int parameterIndex, Reader reader)
      将此 RowSet对象的命令中的指定参数设置为给定的 Reader对象。
      void setCharacterStream​(int parameterIndex, Reader reader, int length)
      将指定的参数设置为给定的 java.io.Reader对象,该对象将具有指定的字符数。
      void setCharacterStream​(String parameterName, Reader reader)
      将指定的参数设置为给定的 Reader对象。
      void setCharacterStream​(String parameterName, Reader reader, int length)
      将指定的参数设置为给定的 Reader对象,这是给定的长度的字符数。
      void setClob​(int parameterIndex, Reader reader)
      将指定的参数设置为 Reader对象。
      void setClob​(int parameterIndex, Reader reader, long length)
      将指定的参数设置为 Reader对象。
      void setClob​(int parameterIndex, Clob x)
      将指定的参数设置为Java编程语言中给定的 Clob对象。
      void setClob​(String parameterName, Reader reader)
      将指定的参数设置为 Reader对象。
      void setClob​(String parameterName, Reader reader, long length)
      将指定的参数设置为 Reader对象。
      void setClob​(String parameterName, Clob x)
      将指定的参数设置为给定的 java.sql.Clob对象。
      void setCommand​(String cmd)
      将此 RowSet对象的 command属性设置为给定的 String对象,并清除为先前命令设置的参数(如果有)。
      void setConcurrency​(int concurrency)
      将此 RowSet对象的并发设置为指定的并发。
      void setDataSourceName​(String name)
      将该 RowSet对象的 DataSource名称属性设置为给定的逻辑名称,并将此 RowSet对象的Url属性设置为 null
      void setDate​(int parameterIndex, Date x)
      将指定的参数设置为给定的 java.sql.Date值。
      void setDate​(int parameterIndex, Date x, Calendar cal)
      将指定的参数设置为给定的 java.sql.Date对象。
      void setDate​(String parameterName, Date x)
      使用运行应用程序的虚拟机的默认时区将指定的参数设置为给定的 java.sql.Date值。
      void setDate​(String parameterName, Date x, Calendar cal)
      使用给定的 Calendar对象将指定的参数设置为给定的 java.sql.Date值。
      void setDouble​(int parameterIndex, double x)
      将指定的参数设置为Java编程语言中的给定的 double
      void setDouble​(String parameterName, double x)
      double
      void setEscapeProcessing​(boolean enable)
      设置给给定的 boolean驱动程序是否将扫描转义语法,并在将SQL语句发送到数据库之前进行转义替换。
      void setFetchDirection​(int direction)
      向驱动程序提供关于将处理此 RowSet对象中的行的方向的性能提示。
      void setFetchSize​(int rows)
      将此 RowSet对象的提取大小设置为给定的行数。
      void setFloat​(int parameterIndex, float x)
      将指定的参数设置为Java编程语言中给定的 float
      void setFloat​(String parameterName, float x)
      float
      void setInt​(int parameterIndex, int x)
      将指定的参数设置为Java编程语言中的 int
      void setInt​(String parameterName, int x)
      将指定的参数设置为给定的Java int值。
      void setLong​(int parameterIndex, long x)
      将指定的参数设置为Java编程语言中给定的 long
      void setLong​(String parameterName, long x)
      将指定的参数设置为给定的Java long值。
      void setMaxFieldSize​(int max)
      将此 RowSet对象中的列值的最大字节数设置为给定的数字。
      void setMaxRows​(int max)
      将此 RowSet对象的最大行数设置为给定的数字。
      void setNCharacterStream​(int parameterIndex, Reader value)
      将此 RowSet对象的命令中指定的参数设置为 Reader对象。
      void setNCharacterStream​(int parameterIndex, Reader value, long length)
      将指定的参数设置为 Reader对象。
      void setNCharacterStream​(String parameterName, Reader value)
      将指定的参数设置为 Reader对象。
      void setNCharacterStream​(String parameterName, Reader value, long length)
      将指定的参数设置为 Reader对象。
      void setNClob​(int parameterIndex, Reader reader)
      将指定的参数设置为 Reader对象。
      void setNClob​(int parameterIndex, Reader reader, long length)
      将指定的参数设置为 Reader对象。
      void setNClob​(int parameterIndex, NClob value)
      将指定的参数设置为 java.sql.NClob对象。
      void setNClob​(String parameterName, Reader reader)
      将指定的参数设置为 Reader对象。
      void setNClob​(String parameterName, Reader reader, long length)
      将指定的参数设置为 Reader对象。
      void setNClob​(String parameterName, NClob value)
      将指定的参数设置为 java.sql.NClob对象。
      void setNString​(int parameterIndex, String value)
      将指定的参数设置为给定的 String对象。
      void setNString​(String parameterName, String value)
      将指定的参数设置为给定的 String对象。
      void setNull​(int parameterIndex, int sqlType)
      将指定的参数设置为SQL NULL
      void setNull​(int parameterIndex, int sqlType, String typeName)
      将指定的参数设置为SQL NULL
      void setNull​(String parameterName, int sqlType)
      将指定的参数设置为SQL NULL
      void setNull​(String parameterName, int sqlType, String typeName)
      将指定的参数设置为SQL NULL
      void setObject​(int parameterIndex, Object x)
      将指定的参数设置为Java编程语言中的一个 Object
      void setObject​(int parameterIndex, Object x, int targetSqlType)
      使用给定的 Object值设置指定参数的值。
      void setObject​(int parameterIndex, Object x, int targetSqlType, int scale)
      将指定的参数设置为Java编程语言中的一个 Object
      void setObject​(String parameterName, Object x)
      使用给定对象设置指定参数的值。
      void setObject​(String parameterName, Object x, int targetSqlType)
      使用给定对象设置指定参数的值。
      void setObject​(String parameterName, Object x, int targetSqlType, int scale)
      使用给定对象设置指定参数的值。
      void setPassword​(String pass)
      设置用于为此 RowSet对象创建数据库连接的密码,给定的 String对象。
      void setQueryTimeout​(int seconds)
      将给定的数字设置为驱动程序等待查询执行的最大秒数。
      void setReadOnly​(boolean value)
      将此 RowSet对象的readOnly属性设置为给定的 boolean
      void setRef​(int parameterIndex, Ref ref)
      将指定的参数设置为Java编程语言中给定的 Ref对象。
      void setRowId​(int parameterIndex, RowId x)
      将指定的参数设置为给定的 java.sql.RowId对象。
      void setRowId​(String parameterName, RowId x)
      将指定的参数设置为给定的 java.sql.RowId对象。
      void setShort​(int parameterIndex, short x)
      将指定的参数设置为Java编程语言中给定的 short
      void setShort​(String parameterName, short x)
      将指定的参数设置为给定的Java short值。
      void setShowDeleted​(boolean value)
      将属性 showDeleted设置为给定的 boolean值,该值确定标记为删除的行是否显示在当前行的集合中。
      void setSQLXML​(int parameterIndex, SQLXML xmlObject)
      将指定的参数设置为给定的 java.sql.SQLXML对象。
      void setSQLXML​(String parameterName, SQLXML xmlObject)
      将指定的参数设置为给定的 java.sql.SQLXML对象。
      void setString​(int parameterIndex, String x)
      将指定的参数设置为给定的 String值。
      void setString​(String parameterName, String x)
      将指定的参数设置为给定的Java String值。
      void setTime​(int parameterIndex, Time x)
      将指定的参数设置为给定的 java.sql.Time值。
      void setTime​(int parameterIndex, Time x, Calendar cal)
      将指定的参数设置为给定的 java.sql.Time对象。
      void setTime​(String parameterName, Time x)
      将指定的参数设置为给定的 java.sql.Time值。
      void setTime​(String parameterName, Time x, Calendar cal)
      使用给定的 Calendar对象将指定的参数设置为给定的 java.sql.Time值。
      void setTimestamp​(int parameterIndex, Timestamp x)
      将指定的参数设置为给定的 java.sql.Timestamp值。
      void setTimestamp​(int parameterIndex, Timestamp x, Calendar cal)
      将指定的参数设置为给定的 java.sql.Timestamp对象。
      void setTimestamp​(String parameterName, Timestamp x)
      将指定的参数设置为给定的 java.sql.Timestamp值。
      void setTimestamp​(String parameterName, Timestamp x, Calendar cal)
      使用给定的 Calendar对象将指定的参数设置为给定的 java.sql.Timestamp值。
      void setTransactionIsolation​(int level)
      将此JDBC RowSet对象的事务隔离属性设置为给定常量。
      void setType​(int type)
      将此 RowSet对象的类型设置为指定的类型。
      void setTypeMap​(Map<String,Class<?>> map)
      安装给定 java.util.Map对象作为与相关联的类型映射 Connection对象此 RowSet对象。
      void setUnicodeStream​(int parameterIndex, InputStream x, int length)
      已过时。
      getCharacterStream应该用于它的位置
      void setUrl​(String url)
      将此 RowSet对象的Url属性设置为给定的 String对象,并将dataSource名称属性设置为 null
      void setURL​(int parameterIndex, URL x)
      将指定的参数设置为给定的 java.net.URL值。
      void setUsername​(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接口中指定的。
    • 构造方法详细信息

      • BaseRowSet

        public BaseRowSet​()
        构造一个新的BaseRowSet对象,其初始化为其listeners字段的默认Vector对象。 其初始化的其他默认值在该类的类注释的第6.0节中列出。
    • 方法详细信息

      • initParams

        protected void initParams​()
        执行必要的内部配置和初始化,以允许任何JDBC RowSet实现开始使用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方法insertRowupdateRow ,或deleteRow ,该方法调用notifyRowChanged内部。 应用程序永远不应直接调用此方法。

        异常
        SQLException - 如果扩展 BaseRowSet抽象类的类不实现 RowSet接口或其一个子接口。
      • notifyRowSetChanged

        protected void notifyRowSetChanged​()
                                    throws SQLException
        通知所有注册此RowSet对象的听众,其全部内容已更改。

        当应用程序调用该改变的全部内容的方法RowSet对象,如CachedRowSet方法executepopulaterestoreOriginal ,或release ,该方法调用notifyRowSetChanged内部(直接或间接)。 应用程序永远不应直接调用此方法。

        异常
        SQLException - 如果扩展 BaseRowSet抽象类的类不实现 RowSet接口或其一个子接口。
      • getCommand

        public String getCommand​()
        检索作为此RowSet对象的命令的SQL查询。 该命令属性包含将要执行的查询来填充此RowSet对象。

        此方法返回的SQL查询由RowSet方法(如executepopulate ,可通过扩展BaseRowSet抽象类并实现一个或多个标准JSR-114 RowSet接口的任何类实现。

        该命令由RowSet对象的读取器用于获取一个ResultSet对象。 然后,读取器从ResultSet对象中读取数据,并使用它来填充此RowSet对象。

        command属性的默认值为null

        结果
        StringRowSet对象的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创建连接时使用的JDBC DriverManager 驱动程序文档中可以找到要使用的特定驱动程序的正确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_ONLYResultSet.TYPE_SCROLL_INSENSITIVE ,或 ResultSet.TYPE_SCROLL_SENSITIVE
        异常
        SQLException - 如果提供的参数不是以下常数之一: ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE ResultSet.TYPE_SCROLL_SENSITIVE
        另请参见:
        getConcurrency()getType()
      • getType

        public int getType​()
                    throws SQLException
        返回此RowSet对象的类型。 该类型最初由创建RowSet对象的语句确定。 RowSet对象可以随时调用方法setType来更改其类型。 默认值为TYPE_SCROLL_INSENSITIVE
        结果
        此JDBC类型 RowSet对象,它必须是下列之一: ResultSet.TYPE_FORWARD_ONLYResultSet.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_ONLYResultSet.CONCUR_UPDATABLE
        异常
        SQLException - 如果提供的参数不是以下常数之一: ResultSet.CONCUR_UPDATABLEResultSet.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_NONEConnection.TRANSACTION_READ_UNCOMMITTEDConnection.TRANSACTION_READ_COMMITTEDConnection.TRANSACTION_REPEATABLE_READ ,或 Connection.TRANSACTION_SERIALIZABLE
        另请参见:
        SyncFactorySyncProvidersetTransactionIsolation(int)
      • setTransactionIsolation

        public void setTransactionIsolation​(int level)
                                     throws SQLException
        将此JDBC RowSet对象的事务隔离属性设置为给定的常量。 如果可以,DBMS将使用此事务隔离级别进行事务处理。

        对于RowSet实现,例如在断开连接的环境中操作的CachedRowSet ,所使用的SyncProvider对象提供了互补的锁定和数据完整性选项。 下面描述的选项仅与连接的RowSet对象( JdbcRowSet对象)相关。

        参数
        level -一个以下常量,以升序列出: Connection.TRANSACTION_NONEConnection.TRANSACTION_READ_UNCOMMITTEDConnection.TRANSACTION_READ_COMMITTEDConnection.TRANSACTION_REPEATABLE_READ ,或 Connection.TRANSACTION_SERIALIZABLE
        异常
        SQLException - 如果给定的参数不是连接常量之一
        另请参见:
        SyncFactorySyncProvidergetTransactionIsolation()
      • 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对象中可用于列值的最大字节数。 此限制仅适用于持有下列类型的值列: BINARYVARBINARYLONGVARBINARYCHARVARCHAR ,并LONGVARCHAR 如果超出限制,则会忽略多余的数据。
        结果
        一个表示当前最大列大小限制的int ; 零意味着没有限制
        异常
        SQLException - 如果内部发生错误确定列大小的最大限制
      • setMaxFieldSize

        public void setMaxFieldSize​(int max)
                             throws SQLException
        将此RowSet对象中的列值的最大字节数设置为给定的数字。 此限制仅适用于持有下列类型的值列: BINARYVARBINARYLONGVARBINARYCHARVARCHAR ,并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 - 如果在内部发生错误设置JDBC RowSet对象可以包含的行数的最大限制; 或者如果max小于0 ; 或者如果max小于fetchSizeRowSet
      • 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_FORWARDResultSet.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_FORWARDResultSet.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_ONLYResultSet.CONCUR_UPDATABLE
        异常
        SQLException - 如果发生错误,获取此 RowSet对象的并发性
        另请参见:
        setConcurrency(int)isReadOnly()
      • setNull

        public void setNull​(int parameterIndex,
                            int sqlType)
                     throws SQLException
        将指定的参数设置为SQL NULL 请注意,参数的SQL类型必须使用java.sql.Types定义的类型代码之一进行指定。 此SQL类型在第二个参数中指定。

        请注意,第二个参数告诉DBMS该值的数据类型设置为NULL 一些DBMS需要这些信息,所以需要这样才能使代码更便于携带。

        此方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: 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
        将指定的参数设置为SQL NULL 尽管此方法setNull是为用户定义和REF参数而设计的,但此方法可用于为任何JDBC类型设置空参数。 下面是用户定义的类型: STRUCTDISTINCT ,和JAVA_OBJECT ,和指定数组类型。

        注意:为了便于携带,当指定NULL用户定义或REF参数时,应用程序必须给出SQL类型代码和完全限定的SQL类型名称。 在用户定义的类型的情况下,名称是参数本身的类型名称。 对于REF参数,名称是引用类型的类型名称。 如果启用了JDBC技术的驱动程序不需要类型代码或类型名称信息,则可能会忽略它。

        如果参数不具有用户定义或REF类型,则忽略给定的typeName参数。

        当方法execute被调用时,由该方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: 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 当驱动程序将其发送到数据库时,将其转换为SQL BIT值。

        当方法execute被调用时,由该方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 方法,例如executepopulate必须在扩展此类和实现一个或多个标准的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 当驱动程序将其发送到数据库时,将其转换为SQL TINYINT值。

        此方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        参数
        parameterIndex - 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高
        x - 参数值
        异常
        SQLException - 如果发生错误或参数索引超出范围
        另请参见:
        getParams()
      • setShort

        public void setShort​(int parameterIndex,
                             short x)
                      throws SQLException
        将指定的参数设置为Java编程语言中给定的short 当驱动程序将其发送到数据库时将其转换为SQL SMALLINT值。

        此方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供诸如executepopulate类的方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        参数
        parameterIndex - 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高
        x - 参数值
        异常
        SQLException - 如果发生错误或参数索引超出范围
        另请参见:
        getParams()
      • setInt

        public void setInt​(int parameterIndex,
                           int x)
                    throws SQLException
        将指定的参数设置为Java编程语言中的一个int 当驱动程序将其发送到数据库时,将其转换为SQL INTEGER值。

        该方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供诸如executepopulate类的方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        参数
        parameterIndex - 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高
        x - 参数值
        异常
        SQLException - 如果发生错误或参数索引超出范围
        另请参见:
        getParams()
      • setLong

        public void setLong​(int parameterIndex,
                            long x)
                     throws SQLException
        将指定的参数设置为Java编程语言中给定的long 当驱动程序将其发送到数据库时,将其转换为SQL BIGINT值。

        此方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        参数
        parameterIndex - 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更大
        x - 参数值
        异常
        SQLException - 如果发生错误或参数索引超出范围
        另请参见:
        getParams()
      • setFloat

        public void setFloat​(int parameterIndex,
                             float x)
                      throws SQLException
        将指定的参数设置为Java编程语言中给定的float 当驱动程序将其发送到数据库时,将其转换为SQL FLOAT值。

        此方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        参数
        parameterIndex - 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高
        x - 参数值
        异常
        SQLException - 如果发生错误或参数索引超出范围
        另请参见:
        getParams()
      • setDouble

        public void setDouble​(int parameterIndex,
                              double x)
                       throws SQLException
        将指定的参数设置为Java编程语言中给定的double 当驱动程序将其发送到数据库时,将其转换为SQL DOUBLE值。

        此方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供诸如executepopulate类的方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        参数
        parameterIndex - 要设置的RowSet对象的命令中占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更大
        x - 参数值
        异常
        SQLException - 如果发生错误或参数索引超出范围
        另请参见:
        getParams()
      • setBigDecimal

        public void setBigDecimal​(int parameterIndex,
                                  BigDecimal x)
                           throws SQLException
        将指定的参数设置为给定的java.lang.BigDecimal值。 当驱动程序将其发送到数据库时,将其转换为SQL NUMERIC值。

        当方法execute被调用时,由此方法设置的参数值将内部存储,并将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        参数
        parameterIndex - 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高
        x - 参数值
        异常
        SQLException - 如果发生错误或参数索引超出范围
        另请参见:
        getParams()
      • setString

        public void setString​(int parameterIndex,
                              String x)
                       throws SQLException
        将指定的参数设置为给定的String值。 驱动程序将其转换为SQL VARCHARLONGVARCHAR值(取决于参数相对于驱动程序对VARCHAR值的限制的大小),当它发送到数据库时。

        此方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        参数
        parameterIndex - 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更大
        x - 参数值
        异常
        SQLException - 如果发生错误或参数索引超出范围
        另请参见:
        getParams()
      • setBytes

        public void setBytes​(int parameterIndex,
                             byte[] x)
                      throws SQLException
        将指定的参数设置为给定的字节数组。 驱动程序将其转换为SQL VARBINARYLONGVARBINARY值(取决于相对于驱动程序对VARBINARY的限制的参数的大小),当它发送到数据库时。

        此方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        参数
        parameterIndex - 此RowSet对象的命令中要设置的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高
        x - 参数值
        异常
        SQLException - 如果发生错误或参数索引超出范围
        另请参见:
        getParams()
      • setDate

        public void setDate​(int parameterIndex,
                            Date x)
                     throws SQLException
        将指定的参数设置为给定的java.sql.Date值。 当驱动程序将其发送到数据库时,将其转换为SQL DATE值。

        此方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        在调用此版本的getParams之后,对方法getParams setDate调用将返回一个数组,其中要为占位符参数号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值。 当驱动程序将其发送到数据库时,将其转换为SQL TIME值。

        当方法execute被调用时,此方法设置的参数值将内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: 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值。 当驱动程序将其发送到数据库时,将其转换为SQL TIMESTAMP值。

        此方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: 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-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        该方法进行的呼叫getParamssetAsciiStream已被调用将返回包含已设定的参数值的数组。 数组中表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的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-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        该方法进行的呼叫getParamssetBinaryStream已被调用将返回包含已设定的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的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对象的命令中的适当参数提供。 该方法进行的呼叫getParamssetUnicodeStream已被调用将返回包含已设定的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的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-114 RowSet接口的任何类中提供诸如executepopulate类的方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        该方法进行的呼叫getParamssetCharacterStream已被调用将返回包含已设定的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的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等效对象。 例如,使用Integerint

        驱动程序将此对象转换为指定的目标SQL类型,然后再将其发送到数据库。 如果该对象具有自定义映射(属于实现SQLData的类),则驱动程序应调用方法SQLData.writeSQL将对象写入SQL数据流。 如果,在另一方面,对象是实现一类RefBlobClobStruct ,或Array ,驾驶员应把它传递给数据库作为相应SQL类型的值。

        请注意,此方法可用于传递数据库特定的抽象数据类型。

        当方法execute被调用时,由该方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        在调用此版本的getParams之后对方法getParams setObject调用将返回包含已设置的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的Object实例,第二个元素是为targetSqlType设置的值。 第三个元素是为刻度设置的值,如果正在设置的对象的类型不是java.sql.Types.NUMERICjava.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.DECIMALjava.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-114 RowSet接口的任何类中提供诸如executepopulate等方法。

        注意: 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等效对象。 例如,使用Integerint

        JDBC规范定义了从Java Object类型到SQL类型的标准映射。 驱动程序将使用此标准映射将给定对象转换为其对应的SQL类型,然后再将其发送到数据库。 如果对象具有自定义映射(实现SQLData的类),则驱动程序应调用方法SQLData.writeSQL将对象写入SQL数据流。

        如果,在另一方面,对象是实现一类RefBlobClobStruct ,或Array ,驾驶员应把它传递给数据库作为相应SQL类型的值。

        如果存在歧义,则此方法会引发异常,例如,如果对象是实现多个接口的类。

        请注意,此方法可能用于传递特定于数据库的抽象数据类型。

        当方法execute被调用时,由此方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: 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对象。 当驱动程序将其发送到数据库时,将其转换为SQL REF值。 在内部, Ref表示为SerialRef以确保可序列化。

        当方法execute被调用时,由该方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        调用此方法后,对方法getParams的调用将返回当前命令参数的对象数组,其中将包含Ref对象集,用于占位符参数号为parameterIndex 请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为元素号parameterIndex -1。

        参数
        parameterIndex - 此RowSet对象的命令中要设置的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更大
        ref - 表示SQL REF值的Ref对象; 不能为空
        异常
        SQLException - 如果发生错误; 参数索引超出范围或Ref对象为null ; Ref对象返回一个null基类型名称。
        另请参见:
        getParams()SerialRef
      • setBlob

        public void setBlob​(int parameterIndex,
                            Blob x)
                     throws SQLException
        将指定的参数设置为Java编程语言中给定的Blob对象。 当驱动程序将其发送到数据库时,将其转换为SQL BLOB值。 在内部, Blob表示为SerialBlob以确保可序列化。

        此方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。 注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        在调用此方法之后,对方法getParams的调用将返回当前命令参数的对象数组,其中将包含Blob对象集,用于占位符参数号为parameterIndex 请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为元素号parameterIndex -1。

        参数
        parameterIndex - 此RowSet对象的命令中要设置的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高
        x - 表示SQL BLOB值的 Blob对象
        异常
        SQLException - 如果发生错误或参数索引超出范围
        另请参见:
        getParams()SerialBlob
      • setClob

        public void setClob​(int parameterIndex,
                            Clob x)
                     throws SQLException
        将指定的参数设置为Java编程语言中给定的Clob对象。 当驱动程序将其发送到数据库时,将其转换为SQL CLOB值。 在内部, Clob被表示为SerialClob以确保可序列化。

        当方法execute被调用时,由该方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        调用此方法后,对方法getParams的调用将返回当前命令参数的对象数组,其中包括Clob对象集,用于占位符参数号parameterIndex 请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为元素号parameterIndex -1。

        参数
        parameterIndex - 要设置的RowSet对象的命令中占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更大
        x - 表示SQL CLOB值的Clob对象; 不能为空
        异常
        SQLException - 如果发生错误; 参数索引超出范围或Clob为空
        另请参见:
        getParams()SerialBlob
      • setArray

        public void setArray​(int parameterIndex,
                             Array array)
                      throws SQLException
        将指定的参数设置为Java编程语言中的一个Array对象。 当驱动程序将其发送到数据库时,将其转换为SQL ARRAY值。 在内部, Array表示为SerialArray以确保可序列化。

        当方法execute被调用时,由该方法设置的参数值在内部存储,并将作为该RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        在调用此方法之后,对方法getParams的调用将返回当前命令参数的对象数组,其中包括Array对象集,用于占位符参数号为parameterIndex 请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为元素号parameterIndex -1。

        参数
        parameterIndex - 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高
        array - 表示SQL ARRAY值的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对象来构造要发送到数据库的SQL DATE值。 使用Calendar对象,驱动程序可以计算考虑到自定义时区的日期。 如果未指定Calendar对象,则驱动程序将使用正在运行应用程序的虚拟机的时区。

        此方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        在调用此版本的getParams之后对方法getParams setDate调用将返回包含已设置的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的java.sql.Date对象。 第二个元素是为cal设置的值。 参数号由元素在方法getParams返回的数组中的位置getParams ,第一个元素是第一个占位符参数的值,第二个元素是第二个占位符参数的值,依此类推。 换句话说,如果设置的日期是第二个占位符参数的值,则包含它的数组将是由getParams返回的数组中的第二个元素。

        请注意,由于数组中元素的编号从零开始,与占位符参数号parameterIndex对应的数组元素为parameterIndex -1。

        参数
        parameterIndex - 要设置的RowSet对象的命令中的占位符参数的序号。 第一个参数是1,第二个是2,等等; 必须是1或更高
        x - 表示SQL DATE值的 java.sql.Date对象
        cal - 在构建日期时使用的 java.util.Calendar对象
        异常
        SQLException - 如果发生错误或参数索引超出范围
        另请参见:
        getParams()
      • setTime

        public void setTime​(int parameterIndex,
                            Time x,
                            Calendar cal)
                     throws SQLException
        将指定的参数设置为给定的java.sql.Time对象。 当驱动程序将其发送到数据库时,将其转换为SQL TIME值。

        当DBMS不存储时区信息时,驱动程序将使用给定的Calendar对象来构造要发送到数据库的SQL TIME值。 使用Calendar对象,驱动程序可以计算考虑到自定义时区的日期。 如果未指定Calendar对象,则驱动程序将使用正在运行应用程序的虚拟机的时区。

        此方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供诸如executepopulate类的方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        在调用此版本的getParams之后对方法getParams setTime调用将返回包含已设置的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的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对象。 当驱动程序将其发送到数据库时,将其转换为SQL TIMESTAMP值。

        当DBMS不存储时区信息时,驱动程序将使用给定的Calendar对象来构造要发送到数据库的SQL TIMESTAMP值。 使用Calendar对象,驱动程序可以计算考虑到自定义时区的时间戳。 如果未指定Calendar对象,则驱动程序将使用正在运行应用程序的虚拟机的时区。

        此方法设置的参数值在内部存储,当调用方法execute时,将作为此RowSet对象的命令中的适当参数提供。 必须在扩展此类并实现一个或多个标准JSR-114 RowSet接口的任何类中提供executepopulate等方法。

        注意: JdbcRowSet不需要populate方法,因为它在此类中未定义。

        在调用此版本的getParams之后,对方法getParams setTimestamp调用将返回包含已设置的参数值的数组。 在该数组中,表示使用此方法设置的值的元素本身将是一个数组。 该数组的第一个元素是给定的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,并且可以使用也可以不使用。

        注意事项:储存类型的参数值ArrayBlobClobRef返回为SerialArraySerialBlobSerialClobSerialRef分别。

        结果
        包含Object实例的数组,其中包括可以在此RowSet对象的命令中设置的参数值; 如果没有设置参数,则为空数组
        异常
        SQLException - 如果检索到此 RowSet对象的参数的对象数组时出现错误,或者是否已设置所有参数
      • setNull

        public void setNull​(String parameterName,
                            int sqlType)
                     throws SQLException
        将指定的参数设置为SQL NULL

        注意:您必须指定参数的SQL类型。

        参数
        parameterName - 参数的名称
        sqlType - 在 java.sql.Types定义的SQL类型代码
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      • setNull

        public void setNull​(String parameterName,
                            int sqlType,
                            String typeName)
                     throws SQLException
        将指定的参数设置为SQL NULL 此版本的方法setNull应用于用户定义的类型和REF类型参数。 用户定义类型的示例包括:STRUCT,DISTINCT,JAVA_OBJECT和命名的数组类型。

        注意:为了便于携带,当指定NULL用户定义或REF参数时,应用程序必须给出SQL类型代码和完全限定的SQL类型名称。 在用户定义类型的情况下,名称是参数本身的类型名称。 对于REF参数,名称是引用类型的类型名称。 如果JDBC驱动程序不需要类型代码或类型名称信息,它可能会忽略它。 尽管它是用于用户定义的和参数的参数,但是该方法可以用于设置任何JDBC类型的空值参数。 如果参数没有用户定义或REF类型,则给定的typeName将被忽略。

        参数
        parameterName - 参数的名称
        sqlType - 一个值从 java.sql.Types
        typeName - SQL用户定义类型的全限定名称; 如果参数不是用户定义的类型或SQL REF值,则忽略该值
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
      • setBoolean

        public void setBoolean​(String parameterName,
                               boolean x)
                        throws SQLException
        将指定的参数设置为给定的Java boolean值。 当驱动程序将其发送到数据库时,将其转换为SQL BITBOOLEAN值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        另请参见:
        getParams()
      • setByte

        public void setByte​(String parameterName,
                            byte x)
                     throws SQLException
        将指定的参数设置为给定的Java byte值。 当驱动程序将其发送到数据库时,将其转换为SQL TINYINT值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果发生数据库访问错误或此方法在关闭时 CallableStatement
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        另请参见:
        getParams()
      • setShort

        public void setShort​(String parameterName,
                             short x)
                      throws SQLException
        将指定的参数设置为给定的Java short值。 当驱动程序将其发送到数据库时,将其转换为SQL SMALLINT值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果发生数据库访问错误或者在关闭的 CallableStatement调用此方法 CallableStatement
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        另请参见:
        getParams()
      • setInt

        public void setInt​(String parameterName,
                           int x)
                    throws SQLException
        将指定的参数设置为给定的Java int值。 当驱动程序将其发送到数据库时,将其转换为SQL INTEGER值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement调用此方法 CallableStatement
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        另请参见:
        getParams()
      • setLong

        public void setLong​(String parameterName,
                            long x)
                     throws SQLException
        将指定的参数设置为给定的Java long值。 当驱动程序将其发送到数据库时,将其转换为SQL BIGINT值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        另请参见:
        getParams()
      • setFloat

        public void setFloat​(String parameterName,
                             float x)
                      throws SQLException
        将指定的参数设置为给定的Java float值。 当驱动程序将其发送到数据库时,将其转换为SQL FLOAT值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果发生数据库访问错误或者在关闭的 CallableStatement调用此方法 CallableStatement
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        另请参见:
        getParams()
      • setDouble

        public void setDouble​(String parameterName,
                              double x)
                       throws SQLException
        将指定的参数设置为给定的Java double值。 当驱动程序将其发送到数据库时,将其转换为SQL DOUBLE值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        另请参见:
        getParams()
      • setBigDecimal

        public void setBigDecimal​(String parameterName,
                                  BigDecimal x)
                           throws SQLException
        将指定的参数设置为给定的java.math.BigDecimal值。 当驱动程序将其发送到数据库时,将其转换为SQL NUMERIC值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        另请参见:
        getParams()
      • setString

        public void setString​(String parameterName,
                              String x)
                       throws SQLException
        将指定的参数设置为给定的Java String值。 当驱动程序将其发送到数据库时,将其转换为SQL VARCHARLONGVARCHAR值(取决于参数相对于驱动程序对VARCHAR的限制的大小)的大小。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        另请参见:
        getParams()
      • setBytes

        public void setBytes​(String parameterName,
                             byte[] x)
                      throws SQLException
        将指定的参数设置为给定的Java字节数组。 驱动程序将其转换为SQL VARBINARYLONGVARBINARY (取决于参数相对于VARBINARY值的驱动程序限制的大小),当它发送到数据库时。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        另请参见:
        getParams()
      • setTimestamp

        public void setTimestamp​(String parameterName,
                                 Timestamp x)
                          throws SQLException
        将指定的参数设置为给定的java.sql.Timestamp值。 当驱动程序将其发送到数据库时将其转换为SQL TIMESTAMP值。
        参数
        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数据流。 如果,在另一方面,对象是实现一类RefBlobClobNClobStructjava.net.URL ,或Array ,驾驶员应把它传递给数据库作为相应SQL类型的值。

        请注意,此方法可用于传递数据库特定的抽象数据类型。

        参数
        parameterName - 参数的名称
        x - 包含输入参数值的对象
        targetSqlType - 要发送到数据库的SQL类型(定义在java.sql.Types中)。 比例参数可能进一步限定此类型。
        scale - 对于java.sql.Types.DECIMAL或java.sql.Types.NUMERIC类型,这是小数点后的位数。 对于所有其他类型,此值将被忽略。
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException -如果 targetSqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT数据类型和JDBC驱动程序不支持此数据类型
        另请参见:
        TypesgetParams()
      • setObject

        public void setObject​(String parameterName,
                              Object x,
                              int targetSqlType)
                       throws SQLException
        使用给定对象设置指定参数的值。 该方法类似于上述方法setObject ,除了它假定为零的比例。
        参数
        parameterName - 参数的名称
        x - 包含输入参数值的对象
        targetSqlType - 要发送到数据库的SQL类型(定义在java.sql.Types中)
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException -如果 targetSqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT数据类型和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数据流。 如果,在另一方面,对象是实现一类RefBlobClobNClobStructjava.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方法时,驱动程序可能需要额外的工作才能确定是否应将参数数据作为LONGVARBINARYBLOB发送到服务器
        参数
        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方法时,驱动程序可能需要进行额外的工作才能确定参数数据是否应作为LONGVARBINARYBLOB发送到服务器

        注意:请参阅您的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方法时,驱动程序可能需要额外的工作才能确定是否应将参数数据作为LONGVARBINARYBLOB发送到服务器
        参数
        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对象。 当驱动程序将其发送到数据库时,将其转换为SQL BLOB值。
        参数
        parameterName - 参数的名称
        x - 映射SQL BLOB值的 Blob对象
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setBlob

        public void setBlob​(String parameterName,
                            InputStream inputStream)
                     throws SQLException
        将指定的参数设置为InputStream对象。 该方法与setBinaryStream (int, InputStream)方法不同,因为它通知驱动程序参数值应作为BLOB发送到服务器。 当使用setBinaryStream方法时,驱动程序可能需要额外的工作才能确定参数数据是否应作为LONGVARBINARYBLOB发送到服务器

        注意:请参阅您的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方法时,驱动程序可能需要额外的工作才能确定是否应将参数数据作为LONGVARCHARCLOB发送到服务器
        参数
        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方法时,驱动程序可能需要进行额外的工作才能确定是否应将参数数据作为LONGVARCHARCLOB发送到服务器

        注意:请参阅您的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方法时,驱动程序可能需要额外的工作才能确定参数数据是否应以LONGVARCHARCLOB发送到服务器
        参数
        parameterName - 要设置的参数的名称
        reader - 包含用于设置参数值的数据的对象。
        length - 参数数据中的字符数。
        异常
        SQLException - 如果parameterIndex不对应于SQL语句中的参数标记; 如果指定的长度小于零; 发生数据库访问错误,或者在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setClob

        public void setClob​(String parameterName,
                            Clob x)
                     throws SQLException
        将指定的参数设置为给定的java.sql.Clob对象。 当驱动程序将其发送到数据库时,将其转换为SQL CLOB值。
        参数
        parameterName - 参数的名称
        x - 映射SQL CLOB值的 Clob对象
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setClob

        public void setClob​(String parameterName,
                            Reader reader)
                     throws SQLException
        将指定的参数设置为Reader对象。 该方法与setCharacterStream (int, Reader)方法不同,因为它通知驱动程序参数值应作为CLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能需要额外的工作才能确定参数数据是否应作为LONGVARCHARCLOB发送到服务器

        注意:请参阅您的JDBC驱动程序文档,以确定使用setClob的版本是否更有效,该版本需要一个长度参数。

        参数
        parameterName - 参数的名称
        reader - 包含用于设置参数值的数据的对象。
        异常
        SQLException - 如果发生数据库访问错误或者在关闭的 CallableStatement调用此方法 CallableStatement
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setDate

        public void setDate​(String parameterName,
                            Date x)
                     throws SQLException
        使用运行应用程序的虚拟机的默认时区将指定的参数设置为给定的java.sql.Date值。 当驱动程序将其发送到数据库时,将其转换为SQL DATE值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        另请参见:
        getParams()
      • setDate

        public void setDate​(String parameterName,
                            Date x,
                            Calendar cal)
                     throws SQLException
        使用给定的Calendar对象将指定的参数设置为给定的java.sql.Date值。 驱动程序使用Calendar对象构造一个SQL DATE值,然后驱动程序将其发送到数据库。 使用aa Calendar对象,驱动程序可以计算考虑到自定义时区的日期。 如果未指定Calendar对象,则驱动程序将使用默认时区,即运行应用程序的虚拟机的时区。
        参数
        parameterName - 参数的名称
        x - 参数值
        cal - 驱动程序将用于构建日期的 Calendar对象
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        另请参见:
        getParams()
      • setTime

        public void setTime​(String parameterName,
                            Time x)
                     throws SQLException
        将指定的参数设置为给定的java.sql.Time值。 当驱动程序将其发送到数据库时,将其转换为SQL TIME值。
        参数
        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对象来构造一个SQL TIME值,然后驱动程序将其发送到数据库。 使用aa Calendar对象,驱动程序可以计算考虑到自定义时区的时间。 如果未指定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对象来构造一个SQL TIMESTAMP值,然后驱动程序将其发送到数据库。 使用aa Calendar对象,驱动程序可以计算考虑到自定义时区的时间戳。 如果未指定Calendar对象,则驱动程序使用默认时区,即运行应用程序的虚拟机的时区。
        参数
        parameterName - 参数的名称
        x - 参数值
        cal - 驱动程序将用于构建时间戳的 Calendar对象
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        另请参见:
        getParams()
      • setSQLXML

        public void setSQLXML​(int parameterIndex,
                              SQLXML xmlObject)
                       throws SQLException
        将指定的参数设置为给定的java.sql.SQLXML对象。 当驱动程序将其发送到数据库时,将其转换为SQL XML值。
        参数
        parameterIndex - 第一个参数的索引为1,第二个为2,...
        xmlObject - 映射SQL XML值的 SQLXML对象
        异常
        SQLException -如果发生数据库访问错误,该方法被称为上关闭的结果集, java.xml.transform.ResultWriterOutputStream尚未收为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.ResultWriterOutputStream尚未针对SQLXML对象关闭,或者处理XML值时出错。 异常的getCause方法可能会提供更详细的异常,例如,如果流不包含有效的XML。
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setRowId

        public void setRowId​(int parameterIndex,
                             RowId x)
                      throws SQLException
        将指定的参数设置为给定的java.sql.RowId对象。 当驱动程序将其发送到数据库时,将其转换为SQL ROWID
        参数
        parameterIndex - 第一个参数是1,第二个是2,...
        x - 参数值
        异常
        SQLException - 如果发生数据库访问错误
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setRowId

        public void setRowId​(String parameterName,
                             RowId x)
                      throws SQLException
        将指定的参数设置为给定的java.sql.RowId对象。 当驱动程序将其发送到数据库时,将其转换为SQL ROWID
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果发生数据库访问错误
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setNString

        public void setNString​(int parameterIndex,
                               String value)
                        throws SQLException
        将指定的参数设置为给定的String对象。 驱动程序将其转换为SQL NCHARNVARCHARLONGNVARCHAR值(取决于参数相对于NVARCHAR值的驱动程序限制的大小),当它发送到数据库时。
        参数
        parameterIndex - 第一个参数是1,第二个是2,...
        value - 参数值
        异常
        SQLException - 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 或者发生数据库访问错误
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setNString

        public void setNString​(String parameterName,
                               String value)
                        throws SQLException
        将指定的参数设置为给定的String对象。 驱动程序将其转换为SQL NCHARNVARCHARLONGNVARCHAR
        参数
        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对象映射到一个SQL NCLOB
        参数
        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方法时,驱动程序可能需要额外的工作才能确定参数数据是否应作为LONGNVARCHARNCLOB发送到服务器
        参数
        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方法时,驱动程序可能需要额外的工作才能确定参数数据是否应作为LONGNVARCHARNCLOB发送到服务器

        注意:请参阅您的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方法时,驱动程序可能需要额外的工作才能确定参数数据是否应以LONGNVARCHARNCLOB发送到服务器
        参数
        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对象。 驱动程序将此值发送到数据库时将其转换为SQL NCLOB
        参数
        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方法时,驱动程序可能需要额外的工作才能确定参数数据是否应作为LONGNVARCHARNCLOB发送到服务器

        注意:请参阅您的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值。 当驱动程序将其发送到数据库时,将其转换为SQL DATALINK值。
        参数
        parameterIndex - 第一个参数是1,第二个是2,...
        x - 要设置的 java.net.URL对象
        异常
        SQLException - 如果发生数据库访问错误或在关闭的 PreparedStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法