3.3.?部分接口详解

3.3.1. Class UxConnnection
3.3.2. Class UxPrepareStatement
3.3.3. Class UxResultSet
3.3.4. Class UxStatement

3.3.1.?Class UxConnnection

3.3.1.1.?close() throws SQLExceptionUxConnection

  • 功能描述

    释放此UxConnection对象的数据库和JDBC资源,而不是等待它们自动释放。

  • 异常

    SQLException - 如果发生数据库访问错误,则为SQLException UxConnection.Commit。

    注意

    在已关闭的UxConnection对象上调用方法close是无操作的。

    强烈建议在调用close方法之前,应用程序显式地提交或回滚活动事务。 如果调用了close方法,并且存在活动事务,则结果是实现定义的。

3.3.1.2.?commit() throws SQLException

  • 功能描述

    使上次提交/回滚之后所做的所有更改都将永久性,并释放此UxConnection对象当前持有的任何数据库锁。

    只有当自动提交模式被禁用时,才应该使用此方法。

  • 异常

    SQLException - 如果在闭合连接上调用此方法,或者UxConnection对象处于自动提交模式,那么这个异常会被抛出;如果发生了数据库访问错误,那么此方法会在参与分布式事务时被调用。

3.3.1.3.?createStatement()throws SQLException

  • 功能描述

    创建一个Statement对象,用于将SQL语句发送到数据库。没有参数的SQL语句通常使用Statement对象执行。如果相同的SQL语句执行了很多次,那么使用PreparedStatement对象可能会更有效。

    使用返回的Statement对象创建的结果集将默认为TYPE_FORWARD_ONLY ,并发级别为CONCUR_READ_ONLY 。创建的结果集的可保持性可以通过调用getHoldability()来确定。

  • 返回值

    一个新的Statement对象。

  • 异常

    SQLException - 如果发生数据库访问错误或在闭合连接上调用此方法。

3.3.1.4.?createStatement(int resultSetType, int resultSetConcurrency) throws SQLException

  • 功能描述

    创建一个Statement对象,该对象将生成具有给定类型和并发性的ResultSet对象。此方法与createStatement方法相同,但它允许覆盖默认的结果集类型和并发性。创建的结果集的可保持性可以通过调用getHoldability()来确定。

  • 参数

    表?3.5.?createStatement 参数说明

    名称描述可选值
    resultSetType结果集类型ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.TYPE_SCROLL_SENSITIVE
    resultSetConcurrency并发类型ResultSet.CONCUR_READ_ONLY, ResultSet.CONCUR_UPDATABLE

  • 返回值

    将生成具有给定类型和并发的ResultSet对象的新Statement对象。

  • 异常

    SQLException - 如果发生数据库访问错误,则在封闭连接上调用此方法,或者给定的参数不是指示类型和并发性的ResultSet常量。

    SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法,或者该方法不支持指定的结果集类型和结果集并发。

3.3.1.5.?isClosed()throws SQLException

  • 功能描述

    检索此UxConnection对象是否已关闭。如果已经调用了方法close或者发生了某些致命错误,则连接被关闭。这种方法只有在方法UxConnection.close被调用之后被调用才能保证返回true。

    通常无法调用此方法来确定与数据库的连接是有效还是无效。典型的客户端可以通过捕获在尝试操作时可能引发的任喊拿庞蜗菲教ㄗ⒉嵬眷常来确定连接无效。

  • 返回值

    如果此Connection对象是关闭的,则返回true;如果它仍然处于打开状态,则返回false。

  • 异常

    SQLException - 如果发生数据库访问错误。

3.3.1.6.?prepareStatement(String sql) throws SQLException

  • 功能描述

    创建一个PreparedStatement对象,用于将参数化的SQL语句发送到数据库。

    带有IN参数或不带有IN参数的SQL语句都可以被预编译并存储在PreparedStatement对象中。可以使用该对象多次有效地执行此语句。

    使用返回的PreparedStatement对象创建的结果集将默认为TYPE_FORWARD_ONLY类型,并发级别为CONCUR_READ_ONLY。创建的结果集的可保持性可以通过调用getHoldability()来确定。

    注意

    为了处理受益于预编译的带参数SQL语句,此方法进行了优化。

    如果驱动程序支持预编译,则方法prepareStatement将将该语句发送到数据库进行预编译。

    一些驱动程序可能不支持预编译。在这种情况下,执行PreparedStatement对象之前无法将语句发送给数据库。这对用户没有直接的影响;但它的确会影响抛出某些SQLException对象的方法。

    使用返回的PreparedStatement对象创建的结果集在默认情况下类型为TYPE_FORWARD_ONLY,并带有CONCUR_READ_ONLY并发级别。

  • 参数

    sql - 可能包含一个或多个'?'IN参数占位符的SQL语句。

  • 返回值

    一个新的默认的PreparedStatement对象包含预编译的SQL语句。

  • 异常

    SQLException - 如果发生数据库访问错误或在闭合连接上调用此方法。

3.3.1.7.?prepareStatement(String sql, int autoGeneratedKeys) throws SQLException

  • 功能描述

    创建一个默认的PreparedStatement对象,该对象具有检索自动生成的键的能力。给定的常量告诉驱动程序是否应该使自动生成的密钥可用于检索。 如果SQL语句不是INSERT语句,或者SQL语句能够返回自动生成的键(此类语句的列表是供应商特定的),则忽略此参数。

    注意

    为了处理受益于预编译的带参数SQL语句,此方法进行了优化。

    如果驱动程序支持预编译,方法prepareStatement将会将该语句发送到数据库进行预编译。

    有些驱动程序可能不支持预编译。 在这种情况下,执行PreparedStatement对象之前,可能不会将语句发送到数据库。 这对用户没有直接影响; 但它的确会影响抛出某些SQLException对象的方法。

    使用返回的PreparedStatement对象创建的结果集将默认为TYPE_FORWARD_ONLY类型,并发级别为CONCUR_READ_ONLY。创建的结果集的可保持性可以通过调用getHoldability()来确定。

  • 参数

    sql - 可能包含一个或多个'?'IN参数占位符的SQL语句。

    autoGeneratedKeys - 一个标志,指示是否应该返回自动生成的键;其中一个是Statement.RETURN_GENERATED_KEYS或Statement.NO_GENERATED_KEYS。

  • 返回值

    一个新的PreparedStatement对象,其中包含预编译的SQL语句,该对象具有返回自动生成键的能力。

  • 异常

    SQLException - 如果发生数据库访问错误,则在闭合连接上调用此方法,或者给定参数不是Statement常量,提示是否应返回自动生成的密钥。

    SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法与常量Statement.RETURN_GENERATED_KEYS。

3.3.1.8.?prepareStatement(String sql, int[] columnIndexes) throws SQLException

  • 功能描述

    创建默认PreparedStatement对象,该对象能够返回由给定数组指定的自动生成的键。这个数组包含目标表中列的索引,这些列包含应该可用的自动生成的键。如果SQL 语句不是INSERT语句,或者不是能够返回自动生成的键的SQL语句(这些语句的列表是特定于供应商的),则驱动程序将忽略数组。

    可以预编译包含或不包含IN参数的SQL语句,并将其存储在PreparedStatement对象中。然后可以使用此对象高效地多次执行此语句。

    注意

    为了处理受益于预编译的带参数SQL语句,此方法进行了优化。

    如果驱动程序支持预编译,方法prepareStatement将会将该语句发送到数据库进行预编译。

    有些驱动程序可能不支持预编译。 在这种情况下,执行PreparedStatement对象之前,可能不会将语句发送到数据库。这对用户没有直接影响;但它的确会影响抛出某些SQLException对象的方法。

    使用返回的PreparedStatement对象创建的结果集将默认为TYPE_FORWARD_ONLY类型,并发级别为CONCUR_READ_ONLY。创建的结果集的可保持性可以通过调用getHoldability()来确定。

  • 参数

    sql - 可能包含一个或多个'?'IN参数占位符的SQL语句。

    columnIndexes - 列索引,指示应从插入的行或行中返回的列。

  • 返回值

    一个新的PreparedStatement对象,包含预编译语句,它能够返回由给定的列索引数组指定的自动生成的键。

  • 异常

    SQLException - 如果发生数据库访问错误或在已关闭的连接上调用此方法。

    SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法。

3.3.1.9.?prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException

  • 功能描述

    创建一个PreparedStatement对象,将产生ResultSet对象具有给定类型,并发性和可保持性。

    此方法与上述prepareStatement方法相同,但允许覆盖默认结果集类型,并发性和可保持性。

    注意

    为了处理受益于预编译的带参数SQL语句,此方法进行了优化。

    如果驱动程序支持预编译,方法prepareStatement将会将该语句发送到数据库进行预编译。

    有些驱动程序可能不支持预编译。 在这种情况下,执行PreparedStatement对象之前,可能不会将语句发送到数据库。这对用户没有直接影响;但它的确会影响抛出某些SQLException对象的方法。

    使用返回的PreparedStatement对象创建的结果集将默认为TYPE_FORWARD_ONLY类型,并发级别为CONCUR_READ_ONLY。创建的结果集的可保持性可以通过调用getHoldability()来确定。

  • 参数

    表?3.6.?prepareStatement 参数说明

    名称可选值
    sql一个String对象,即要发送到数据库的SQL语句;可能包含一个或多个'?'IN参数占位符的SQL语句
    resultSetTypeResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.TYPE_SCROLL_SENSITIVE
    resultSetConcurrencyResultSet.CONCUR_READ_ONLY, ResultSet.CONCUR_UPDATABLE
    resultSetHoldabilityResultSet.HOLD_CURSORS_OVER _COMMIT, ResultSet.CLOSE_CURSORS_AT_COMMIT

  • 返回值

    一个新的PreparedStatement对象,包含预编译的SQL语句,它将生成具有给定类型、并发性和可保持性的ResultSet对象。

  • 异常

    SQLException - 如果发生数据库访问错误,则在封闭连接上调用此方法,或者给定参数不是 ResultSet常数指示类型,并发性和可保持性。

    SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法,或者对于指定的结果集类型、结果集保持性和结果集并发性不支持此方法。

3.3.1.10.?prepareStatement(String sql, String[] columnNames) throws SQLException

  • 功能描述

    创建一个默认的PreparedStatement对象,能够返回给定数组指定的自动生成的键。

    该数组包含目标表中包含应该返回的自动生成的键的列的名称。如果SQL语句不是INSERT语句,或者SQL语句能够返回自动生成的键(此类语句的列表是供应商特定的),驱动程序将忽略该数组。

    具有或不具有IN参数的SQL语句可以预编译并存储在PreparedStatement对象中。然后可以使用该对象多次有效地执行此语句。

    注意

    为了处理受益于预编译的带参数SQL语句,此方法进行了优化。

    如果驱动程序支持预编译,方法prepareStatement将会将该语句发送到数据库进行预编译。

    有些驱动程序可能不支持预编译。 在这种情况下,执行PreparedStatement对象之前,可能不会将语句发送到数据库。这对用户没有直接影响;但它的确会影响抛出某些SQLException对象的方法。

    使用返回的PreparedStatement对象创建的结果集将默认为TYPE_FORWARD_ONLY类型,并发级别为CONCUR_READ_ONLY。创建的结果集的可保持性可以通过调用getHoldability()来确定。

  • 参数

    表?3.7.?prepareStatement 参数说明

    名称备注
    sql一个String对象,即要发送到数据库的SQL语句;可能包含一个或多个'?'IN参数占位符的SQL语句。
    columnNames列名称,表示应该从插入的行或行中返回的列。

  • 返回值

    新PreparedStatement对象,包含预编译的SQL语句,能够返回由给定的列名数组指定的自动生成的键。

  • 异常

    SQLException - 如果发生数据库访问错误或在关闭的连接上调用此方法。

    SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法。

3.3.1.11.?rollback() throws SQLException

  • 功能描述

    回滚在当前事务下做出的所有修改并且释放所有该连接上的数据库锁。此方法仅应在自动提交模式被禁用时使用。

  • 可能抛出的异常

    如果此方法在分布式数据库下调用,在一个关闭的连接下调用以及在自动提交模式下调用都会抛出SQLException异常。

3.3.1.12.?setAutoCommit(boolean autoCommit) throws SQLException

  • 功能描述

    将此连接的自动提交模式设置为给定状态。如果连接处于自动提交模式下,则将执行其所有SQL语句,并将这些语句作为单独的事务提交。否则,其SQL语句将成组地进入通过调用commit方法或rollback中。

  • 提交发生在语句完成时。语句完成的时间取决于SQL语句的类型:

    1. 对于DML语句(如插入,更新或删除)和DDL语句,语句在执行完成后立即完成。

    2. 对于Select语句,当关联的结果集关闭时,该语句将完成。

    3. 对于CallableStatement对象或返回多个结果的语句,当所有关联的结果集都已关闭并且已检索到所有更新计数和输出参数时,该语句将完成。

  • 参数

    autoCommit - true表示启用自动提交模式;false表示禁用自动提交模式。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误,则在参与分布式事务时调用此方法;闭合连接上也可以调用此方法。

    注意

    如果在事务中调用此方法并更改了自动提交模式,则事务将被提交。 如果调用了setAutoCommit,并且自动提交模式没有改变,则调用是无操作的。

3.3.1.13.?getConnection(String url, Properties info) throws SQLException

  • 功能描述

    尝试建立与给定数据库URL的连接。 DriverManager尝试从一组已注册的JDBC驱动程序中选择适当的驱动程序。

  • 参数

    表?3.8.?getConnection 参数说明

    名称备注
    url格式为jdbc:subprotocol:subname的数据库网址
    info作为连接参数的劝拿庞蜗菲教ㄗ⒉嵬锯字符串标签/值对的列表;通常至少应包含“用户”和“密码”属性

  • 返回值

    成功返回UxConnection客户端与数据库建立的连接;失败抛异常。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误或url为null。

    SQLTimeoutException - 当驱动程序确定已超过setLoginTimeout方法指定的超时值,并且至少尝试取消当前数据库连接尝试 。

    注意

    如果一个属性被指定为的一部分url和指定的Properties对象,它是实现定义哪个值将优先。为了最大可移植性,应用程序应仅指定一次属性。

3.3.1.14.?getConnection(String url) throws SQLException

  • 功能描述

    尝试建立与给定数据库URL的连接。DriverManager尝试从一组已注册的JDBC驱动程序中选择适当的驱动程序。

  • 参数

    url - 格式为jdbc:subprotocol:subname的数据库网址。

  • 返回值

    成功返回UxConnection客户端与数据库建立的连接;失败抛异常。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误或url是null。

    SQLTimeoutException - 当驱动程序确定已超过 setLoginTimeout方法指定的超时值,并且至少尝试取消当前数据库连接尝试 。

3.3.1.15.?getConnection(String url,String user, String password) throws SQLException

  • 功能描述

    尝试建立与给定数据库URL的连接。DriverManager尝试从一组已注册的JDBC驱动程序中选择适当的驱动程序。

  • 参数

    表?3.9.?getConnection 参数说明

    名称备注
    url格式为jdbc:subprotocol:subname的数据库网址
    user正在连接的数据库用户
    password用户密码

  • 返回值

    成功返回UxConnection客户端与数据库建立的连接;失败抛异常。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误或url是null。

    SQLTimeoutException - 当驱动程序确定已超过 setLoginTimeout方法指定的超时值,并且至少尝试取消当前数据库连接尝试 。

    注意

    如果一个属性被指定为的一部分url和在还指定Properties对象,它是实现定义哪个值将优先。 为了最大可移植性,应用程序应仅指定一次属性。

    图?3.5.?getConnection流程图

    getConnection流程图

3.3.2.?Class UxPrepareStatement

3.3.2.1.?clearBatch() throws SQLException

  • 功能描述

    清空这个Statement对象当前的SQL命令列表。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误,此方法在关闭的Statement或驱动程序不支持批量更新。

3.3.2.2.?close() throws SQLException

  • 功能描述

    立即释放Statement对象的数据库和JDBC资源,而不是等待它自动关闭时发生这种情况。通常最好的做法是在使用完资源后立即释放资源,以避免占用数据库资源。 针对已经关闭的Statement对象调用close方法没有任何效果。

  • 可能抛出的异常

    SQLException - 发生数据库访问错误。

    注意

    当一个Statement对象关闭时,其当前的ResultSet对象(如果存在)也被关闭。

3.3.2.3.?executeBatch()throws SQLException

  • 功能描述

    向数据库提交一批命令以便执行,如果所有命令都成功执行,则返回一个更新计数数组。返回的数组的int 元素按顺序与批处理中的命令对应,这些命令按照它们被添加到批处理中的顺序排序。方法executeBatch返回的数组中的元素可能是下列元素之一:

    1. 大于或等于零的数字表示该命令已被成功处理,并且是一个更新计数,表示数据库中受命令执行影响的行数。

    2. 值为SUCCESS_NO_INFO - 表示该命令已成功处理,但受影响的行数未知。

      如果批量更新中的其中一个命令无法正常执行,则此方法将抛出一个BatchUpdateException ,并且JDBC驱动程序可能会继续处理或不继续处理批处理中的剩余命令。 但是,驱动程序的行为必须与特定的DBMS保持一致,或者始终继续处理命令或者从不继续处理命令。 如果驱动程序在故障后继续处理,则方法BatchUpdateException.getUpdateCounts返回的数组将包含与批处理中的命令一样多的元素,并且至少有一个元素。

    3. 值为EXECUTE_FAILED - 表示命令无法成功执行,并且仅在驱动程序在命令失败后继续处理命令时才会发生。

  • 返回值

    一个更新计数数组,包含批处理中每个命令的一个元素。数组的元素根据命令添加到批处理中的顺序进行排序 。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误,则在关闭时调用此方法,Statement或者驱动程序不支持批处理语句。如果发送到数据库的命令之一无法正确执行或尝试返回结果集BatchUpdateException(SQLException 的子类)。

    Sqltimeoutexception - 当驱动程序确定已超过setQueryTimeout方法指定的超时值并且尝试取消当前运行的Statement。

3.3.2.4.?executeQuery (string sql) throws SQLException

  • 功能描述

    执行此PreparedStatement对象中的SQL查询,并返回查询PreparedStatement的ResultSet对象。

  • 返回值

    包含给定查询生成的数据的ResultSet对象;从不为null。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误;这个方法在一个封闭的PreparedStatement上被调用,或者SQL语句不返回一个ResultSet对象。

    SQLTimeoutException - 当驱动程序确定已经超过了setQueryTimeout方法指定的超时值,并且至少尝试取消当前运行的Statement 。

3.3.2.5.?executeUpdate() throws SQLException

  • 功能描述

    执行在该SQL语句PreparedStatement对象,它必须是一个SQL数据操纵语言(DML)语句,如INSERT,UPDATE或DELETE;或不返回任何内容的SQL语句,例如DDL语句。

  • 返回值

    1. SQL数据操作语言(DML)语句的行计数。

    2. 0,针对不返回任何内容的SQL语句。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误;这个方法在一个封闭的PreparedStatement上被调用,或者SQL语句返回一个ResultSet对象。

    SQLTimeoutException - 当驱动程序确定已经超过了setQueryTimeout方法指定的超时值,并且至少尝试取消当前运行的Statement。

3.3.2.6.?execute() throws SQLException

  • 功能描述

    执行此PreparedStatement对象中的SQL语句,可能是任何类型的SQL语句。 一些准备的语句返回多个结果;execute方法处理这些复杂语句以及由方法executeQuery和executeUpdate处理的更简单的语句形式。

    execute方法返回一个boolean以指示第一个结果的形式。必须调用方法getResultSet或getUpdateCount来检索结果;并使用getMoreResults移动到任何后续结果。

  • 返回值

    如果第一个结果是ResultSet对象,则为true;如果第一个结果是更新计数或没有结果,则为false。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误;这个方法是在封闭的PreparedStatement上调用的,或者这个方法提供了一个参数。

    SQLTimeoutException - 当驱动程序确定已经超过了setQueryTimeout方法指定的超时值,并且至少尝试取消当前运行的Statement。

3.3.2.7.?setInt(int parameterIndex, int x) throws SQLException

  • 功能描述

    将指定的参数设置为给定的Java int值。当驱动程序将其发送到数据库时,会转换为SQL INTEGER值。

  • 参数

    表?3.10.?setInt 参数说明

    名称备注
    parameterIndex第一个参数是1,第二个是2,...
    x参数值

  • 可能抛出的异常

    SQLException - 如果parameterIndex不对应于SQL语句中的参数标记;如果发生数据库访问错误或在封闭的PreparedStatement上调用此方法。

3.3.2.8.?setString(int parameterIndex, String x) throws SQLException

  • 功能描述

    将指定的参数设置为给定的Java String值。驱动程序将其转换为SQL VARCHAR或LONGVARCHAR值(取决于参数相对于VARCHAR值的驱动程序限制的大小),当它发送到数据库时。

  • 参数

    表?3.11.?setString 参数说明

    名称备注
    parameterIndex第一个参数是1,第二个是2,...
    x参数值

  • 返回值

    void 返回为空。

  • 异常

    SQLException - 如果parameterIndex不对应于SQL语句中的参数标记;如果发生数据库访问错误或在关闭的PreparedStatement上调用此方法。

    图?3.6.?setString 流程图

    setString 流程图

3.3.2.9.?setTimestamp(int parameterIndex, Timestamp x,Calendar cal) throws SQLException

  • 功能描述

    使用给定的Calendar对象将指定的Calendar设置为给定的java.sql.Timestamp值。 驱动程序使用Calendar对象来构造一个SQL TIMESTAMP值,然后驱动程序将其发送到数据库。使用Calendar对象,驱动程序可以计算考虑到自定义时区的时间戳。 如果没有Calendar对象,则驱动程序使用默认时区,即运行应用程序的虚拟机的时区。

  • 参数

    表?3.12.?setTimestamp 参数说明

    名称备注
    parameterIndex第一个参数是1,第二个是2,...
    x参数值
    cal在Calendar对象的驱动程序将用来构造时间戳

  • 返回值

    void 返回为空。

  • 可能抛出的异常

    SQLException - 如果parameterIndex不对应于SQL语句中的参数标记;如果发生数据库访问错误或在封闭的PreparedStatement上调用此方法。

3.3.3.?Class UxResultSet

3.3.3.1.?close() throws SQLException

  • 功能描述

    立即释放ResultSet对象的数据库和JDBC资源,而不是等到它自动关闭时才释放。

    ResultSet对象的关闭不会关闭ResultSet创建的Blob、Clob或NClob对象。Blob、Clob或NClob对象至少在创建它们的事务期间保持有效,除非调用它们的free方法。

    当ResultSet关闭时,通过调用getMetaData方法创建的任何ResultSetMetaData实例仍然可访问。

    注意

    当Statement对象被关闭、重新执行或用于从多个结果序列中检索下一个结果时,ResultSet对象由生成它的Statement对象自动关闭。

    调用已关闭的ResultSet对象上的方法close是无操作的。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误。

3.3.3.2.?getBlob(int columnIndex) throws SQLException

  • 功能描述

    将该ResultSet对象的当前行中指定列的值作为Java编程语言中的Blob对象检索。

  • 参数

    columnIndex - 第一列是1,第二列是2,...

  • 返回值

    一个Blob对象,表示指定列中的SQL BLOB值。

  • 可能抛出的异常

    SQLException - 如果columnIndex无效;如果发生数据库访问错误或在关闭的结果集上调用此方法。

    SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法。

3.3.3.3.?getBlob(String columnLabel) throws SQLException

  • 功能描述

    将此ResultSet对象的当前行中指定列的值作为Java编程语言中的Blob对象检索。

  • 参数

    columnLabel - 使用SQL AS子句指定的列的标签。如果未指定SQL AS子句,则该标签是列的名称。

  • 返回值

    一个Blob对象,表示指定列中的SQL BLOB值。

  • 可能抛出的异常

    SQLException - 如果columnLabel无效;如果发生数据库访问错误或在关闭的结果集上调用此方法。

    SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法。

3.3.3.4.?getInt(int columnIndex) throws SQLException

  • 功能描述

    这个检索的是当前行中指定列的值。

  • 参数

    columnIndex - 第一列是1,第二列是2,...

  • 返回值

    列值;如果值为SQL NULL,则返回的值为0。

  • 可能抛出的异常

    SQLException - 如果columnIndex无效;如果发生数据库访问错误或在关闭的结果集上调用此方法。

3.3.3.5.?getInt(String columnLabel) throws SQLException

  • 功能描述

    这个检索的是当前行中指定列的值。

  • 参数

    columnLabel - 使用SQL AS子句指定的列的标签。如果未指定SQL AS子句,则该标签是列的名称。

  • 返回值

    列值;如果值为SQL NULL ,返回值为0。

  • 可能抛出的异常

    SQLException - 如果columnLabel无效;如果发生数据库访问错误或在关闭的结果集上调用此方法。

3.3.3.6.?getString(int columnIndex) throws SQLException

  • 功能描述

    这个检索的当前行中指定列的值ResultSet对象为String的Java编程语言。

  • 参数

    columnIndex - 第一列是1,第二列是2,...

  • 返回值

    列值;如果值为SQL NULL,返回值为null。

  • 可能抛出的异常

    SQLException - 如果columnIndex无效;如果发生数据库访问错误或在关闭的结果集上调用此方法。

    图?3.7.?getString 流程图

    getString 流程图

3.3.3.7.?getString(String columnLabel) throws SQLException

  • 功能描述

    这个检索的当前行中指定列的值ResultSet对象为String的Java编程语言。

  • 参数

    columnLabel - 使用SQL AS子句指定的列的标签。如果未指定SQL AS子句,则该标签是列的名称。

  • 返回值

    列值;如果值为SQL NULL,返回值为null。

  • 可能抛出的异常

    SQLException - 如果columnLabel无效;如果发生数据库访问错误或在关闭的结果集上调用此方法。

3.3.3.8.?getTimestamp(int columnIndex) throws SQLException

  • 功能描述

    将该 ResultSet对象的当前行中指定列的值作为Java编程语言中的java.sql.Timestamp对象检索。

  • 参数

    columnIndex - 第一列是1,第二列是2,...

  • 返回值

    列值;如果值为SQL NULL ,返回值为null。

  • 可能抛出的异常

    SQLException - 如果columnIndex无效;如果发生数据库访问错误或在关闭的结果集上调用此方法。

3.3.3.9.?getTimestamp(int columnIndex, Calendar cal) throws SQLException

  • 功能描述

    将该ResultSet对象的当前行中指定列的值作为Java编程语言中的java.sql.Timestamp对象检索。 如果基础数据库不存储时区信息,则此方法使用给定的日历为时间戳创建适当的毫秒值。

  • 参数

    表?3.13.?getTimestamp 参数说明

    名称备注
    columnIndex第一列是1,第二列是2,...
    cal用于java.util.Calendar对象

  • 返回值

    列值为java.sql.Timestamp对象;如果值为SQL NULL,则返回的值为null,在Java编程语言。

  • 可能抛出的异常

    SQLException - 如果columnIndex无效;如果发生数据库访问错误或在关闭的结果集上调用此方法。

3.3.3.10.?getTimestamp(String columnLabel, Calendar cal) throws SQLException

  • 功能描述

    将此ResultSet对象的当前行中指定列的值作为Java编程语言中的java.sql.Timestamp对象检索。 如果基础数据库不存储时区信息,则此方法使用给定的日历为时间戳创建适当的毫秒值。

  • 参数

    表?3.14.?getTimestamp 参数说明

    名称备注
    columnLabel使用SQL AS子句指定的列的标签。如果未指定SQL AS子句,则该标签是列的名称
    cal用于java.util.Calendar日期的java.util.Calendar对象

  • 返回值

    列值为java.sql.Timestamp对象;如果值为SQL NULL,返回的值为null,在Java编程语言。

  • 可能抛出的异常

    SQLException - 如果columnLabel无效或者发生数据库访问错误或者在关闭结果集上调用此方法。

3.3.3.11.?getTimestamp(String columnLabel) throws SQLException

  • 功能描述

    将该 ResultSet对象的当前行中指定列的值作为Java编程语言中的 java.sql.Timestamp对象检索。

  • 参数

    columnLabel - 使用SQL AS子句指定的列的标签。 如果未指定SQL AS子句,则该标签是列的名称。

  • 返回值

    列值;如果值为SQL NULL,则返回值为null。

  • 可能抛出的异常

    SQLException - 如果columnLabel无效;如果发生数据库访问错误或在关闭的结果集上调用此方法。

3.3.3.12.?isClosed() throws SQLException

  • 功能描述

    检索此ResultSet对象是否已关闭。如果对ResultSet调用了方法关闭,或者该方法自动关闭,则关闭ResultSet。

  • 返回值

    如果此ResultSet对象关闭,则为true;如果它仍然开放,则为false。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误。

3.3.3.13.?next() throws SQLException

  • 功能描述

    将光标从当前位置向前移动一行。 ResultSet光标最初位于第一行之前;第一次调用方法next使第一行成为当前行;第二个调用使第二行成为当前行,依此类推。

    当调用next方法返回false时,光标位于最后一行之后。 任何调用需要当前行的ResultSet方法将导致抛出SQLException。如果结果集类型是TYPE_forward_only,则由供应商指定它们的JDBC驱动程序实现调用next是返回 false还是抛出SQLException。

    如果当前行的输入流已打开,则对方法next的调用将隐式关闭它。 当读取新行时,ResultSet对象的警告链将被清除。

  • 返回值

    如果新的当前行有效,则为true;如果没有更多的行,则为false。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误,或者在关闭的结果集上调用此方法。

3.3.4.?Class UxStatement

3.3.4.1.?clearBatch() throws SQLException

  • 功能描述

    清空这个Statement对象当前的SQL命令列表。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误,此方法在关闭的 Statement或驱动程序不支持批量更新。

3.3.4.2.?close() throws SQLException

  • 功能描述

    立即释放ResultSet对象的数据库和JDBC资源,而不是等到它自动关闭时才释放。 一般来说,一旦完成调用,尽快释放资源,以避免捆绑数据库资源。

    调用已关闭的Statement对象上的方法close不起作用。

    注意

    当一个Statement对象关闭时,其当前的ResultSet对象(如果存在)也被关闭。

  • 可能抛出的异常

    SQLException - 发生数据库访问错误。

3.3.4.3.?executeBatch() throws SQLException

  • 功能描述

    将一批命令提交给数据库以执行,如果所有命令都成功执行,则返回更新计数数组。该int返回的数组的元素进行排序,以对应于在批处理中的命令,这是根据它们被加入到批料中的顺序排序。该方法返回值可能是以下之一:

    1. 大于或等于零的数字表示该命令已被成功处理,并且是一个更新计数,表示数据库中受命令执行影响的行数。

    2. 值为SUCCESS_NO_INFO - 表示该命令已成功处理,但受影响的行数未知。

      如果批量更新中的其中一个命令无法正常执行,则此方法将抛出一个BatchUpdateException ,并且JDBC驱动程序可能会继续处理或不继续处理批处理中的剩余命令。 但是,驱动程序的行为必须与特定的DBMS保持一致,或者始终继续处理命令或者从不继续处理命令。 如果驱动程序在故障后继续处理,则方法BatchUpdateException.getUpdateCounts返回的数组将包含与批处理中的命令一样多的元素,并且至少有一个元素。

    3. 值为EXECUTE_FAILED - 表示命令无法成功执行,并且仅在驱动程序在命令失败后继续处理命令时才会发生。

  • 返回值

    包含批处理中每个命令一个元素的更新计数的数组。数组的元素根据命令添加到批处理中的顺序进行排序。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误,则在关闭时调用此方法,Statement或者驱动程序不支持批处理语句。如果发送到数据库的命令之一无法正确执行或尝试返回结果集BatchUpdateException (SQLException 的子类)。

    SQLTimeoutException - 当驱动程序确定已超过setQueryTimeout方法指定的超时值并且尝试取消当前运行的Statement。

3.3.4.4.?executeQuery(String sql) throws SQLException

  • 功能描述

    执行给定的SQL语句,返回单个ResultSet对象。

    注意

    此方法无法在PreparedStatement或CallableStatement使用。

  • 参数

    sql - 要发送到数据库的SQL语句,通常为静态SQL SELECT语句。

  • 返回值

    一个ResultSet对象,其中包含给定查询产生的数据;从不为null。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误,此方法在封闭的Statement上调用,给定的SQL语句生成除单个ResultSet对象之外的任何东西,该方法在PreparedStatement或CallableStatement不能使用。

    SQLTimeoutException - 当驱动程序确定已超过setQueryTimeout方法指定的超时值并且尝试取消当前运行的Statement。

3.3.4.5.?execute(String sql) throws SQLException

  • 功能描述

    执行给定的SQL语句,这可能会返回多个结果。 在某些情况下,单个SQL语句可能会返回多个结果集和/或更新计数。 通常你可以忽略这一点,除非执行你知道可能返回多个结果的存储过程,或者你正在动态地执行一个未知的SQL字符串。

    注意

    execute方法执行SQL语句并指示第一个结果的形式。 然后,您必须使用方法getResultSet或getUpdateCount检索结果,然后getMoreResults移动到任何后续结果。

  • 参数

    sql - 任何SQL语句。

  • 返回值

    如果第一个结果是一个ResultSet对象,则返回true;如果是更新计数或没有结果,则返回false。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误,此方法在封闭的 Statement上调用,该方法在 PreparedStatement或 CallableStatement。

    SQLTimeoutException - 当驱动程序确定已超过setQueryTimeout方法指定的超时值并且尝试取消当前运行的Statement。

3.3.4.6.?executeUpdate(String sql,int[] columnIndexes) throws SQLException

  • 功能描述

    执行给定的SQL语句,并向驱动程序发出信号,指出给定数组中指示的自动生成的键应该可用于检索。 该数组包含目标表中包含应该可用的自动生成的键的列的索引。 如果SQL语句不是INSERT语句,或者SQL语句能够返回自动生成的键(此类语句的列表是供应商特定的),驱动程序将忽略该数组。

    注意

    execute方法执行SQL语句并指示第一个结果的形式。 然后,您必须使用方法getResultSet或getUpdateCount检索结果,然后getMoreResults移动到任何后续结果。

  • 参数

    表?3.15.?executeUpdate 参数说明

    名称备注
    sql一个SQL数据操纵语言(DML)语句,如INSERT,UPDATE或DELETE;或不返回任何内容的SQL语句,例如DDL语句
    columnIndexes一列列索引数组,指示应从插入的行返回的列

  • 返回值

    1. SQL数据操作语言(DML)语句的行计数。

    2. 0;不返回的SQL语句。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误,此方法在封闭的Statement上调用,SQL语句返回一个 ResultSet对象,提供给此方法的第二个参数不是其元素为有效列索引的int数组,该方法被PreparedStatement或CallableStatement调用。

    SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法。

    SQLTimeoutException - 当驱动程序确定已超过setQueryTimeout方法指定的超时值并且尝试取消当前运行的Statement。

3.3.4.7.?executeUpdate(String sql, String[] columnNames) throws SQLException

  • 功能描述

    执行给定的SQL语句,并向驱动程序发出信号,指出给定数组中指示的自动生成的键应该可用于检索。 该数组包含目标表中包含应该可用的自动生成的键的列的名称。 如果SQL语句不是INSERT语句,或者SQL语句能够返回自动生成的键(此类语句的列表是供应商特定的),驱动程序将忽略该数组。

    注意

    此方法无法在PreparedStatement或CallableStatement中使用。

  • 参数

    表?3.16.?executeUpdate 参数说明

    名称备注
    sql一个SQL数据操纵语言(DML)语句,如INSERT,UPDATE或DELETE;或不返回任何内容的SQL语句,例如DDL语句
    columnNames应该从插入的行返回的列的名称数组

  • 返回值

    INSERT、UPDATE或DELETE语句的行计数,或不返回任何内容的SQL语句的行计数为0。

  • 可能抛出的异常

    SQLException - 如果发生数据库访问错误,此方法在关闭的Statement上调用,SQL语句返回一个 ResultSet对象,提供给此方法的第二个参数不是其元素为有效列名的String数组,该方法被调用一个PreparedStatement或CallableStatement。

    SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法。

    SQLTimeoutException - 当驱动程序确定已超过setQueryTimeout方法指定的超时值并且尝试取消当前运行的Statement。

XML 地图 | Sitemap 地图