• 相关软件
    >Statement 创建者:webmaster 更新时间:2005-12-17 02:20

    Statement 对象用于执行一条静态的 SQL 语句并获取它产生的结果。

    任何时侯每条语句仅能打开一个 ResultSet 。因此,如果对一个 ResultSet 的读出与另一个 ResultSet 的读出交错,那么每个
    ResultSet 一定由不同的语句产生。如果有 ResultSet 存在,所有的语句执行方法都隐式关闭当前的 ResultSet 。


    接口 java.sql.Statement



    public interface Statement




     
    参见:
     
    createStatement, ResultSet





    方法索引



    cancel()
    Cancel 用于一个线程取消另一个线程正在执行的一条语句。
    clearWarnings()
    此调用完成之后,getWarnings 返回 null 直到为该语句报告了一个新的警告。
    close()
    在很多情况下,语句自动关闭时立即释放该语句所在数据库和 JDBC 资源是需要的;close 方法就是这种立即释放方法。
    execute(String)
    执行一条可能返回多个结果的 SQL 语句。
    executeQuery(String)
    执行一条返回单个 ResultSet 的 SQL 语句。
    executeUpdate(String)
    执行一条 SQL INSERT、UPDATE 或 DELETE 语句。
    getMaxFieldSize()
    maxFieldSize 限制(以字节为单位)是可为任何列值返回的数据的最大数量;它仅适用于 BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR 和
    LONGVARCHAR 列。
    getMaxRows()
    maxRows 限制是 ResultSet 可包含的最大行数。
    getMoreResults()
    getMoreResults 可使得移到语句的下一个结果。
    getQueryTimeout()
    queryTimeout 限制是驱动程序等待一条语句执行的秒数。
    getResultSet()
      getResultSet 返回 ResultSet 的当前结果。
    getUpdateCount()
      getUpdateCount 返回当前结果作为一个更新数量;如果结果是一个
    ResultSet 或没有其他结果,返回 -1。
    getWarnings()
    返回由这条语句的调用报告的第一个警告。
    setCursorName(String)
    setCursorname 定义了由后继的语句执行方法使用的 SQL 游标名。
    setEscapeProcessing(boolean)
    如果打开换码扫描(缺省), 驱动程序在向数据库发送 SQL 语句之前做换码替换。
    setMaxFieldSize(int)
    maxFieldSize 限制(以字节为单位)设置为任何列值返回的数据的最大数目;它仅适用于 BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR 和
    LONGVARCHAR 域。
    setMaxRows(int)
    maxRows 限制限制 ResultSet 可包含的最大行数。
    setQueryTimeout(int)
    queryTimeout 限制是驱动程序等待一条语句执行的秒数。




    方法



    executeQuery

    public abstract ResultSet executeQuery(String sql) throws SQLException


    执行一条返回单个 ResultSet 的 SQL 语句。



     
    参数:
     
    sql - 典型地,这是静态的 SQL SELECT 语句
    返回值:
     
    包含由查询产生的数据的 ResultSet;永远不为 null 。
    抛出: SQLException
     
    如果发生了数据访问错误。



    executeUpdate

    public abstract int executeUpdate(String sql) throws SQLException


    执行一条 SQL INSERT、UPDATE 或 DELETE 语句。 另外,可执行没有返回值的 SQL 语句,如 SQL DDL 语句。



     
    参数:
     
    sql - 一条 SQL INSERT、UPDATE 或 DELETE 语句或没有返回值的 SQL 语句
    返回值:
     
    如果执行 INSERT、UPDATE 或 DELETE 语句返回行数或者为执行没有返回值的语句返回 0
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    close

    public abstract void close() throws SQLException


    在很多情况下,在语句自动关闭时立即释放该语句的数据库和 JDBC 资源是需要的;close 方法就是这种立即释放方法。

    注意: 当语句收集到垃圾箱,它被自动关闭。如果一条语句关闭,那么它的 ResultSet 如果存在的话也将被关闭。



     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxFieldSize

    public abstract int getMaxFieldSize() throws SQLException


    maxFieldSize 限制(以字节为单位)是可为任何列值返回的数据的最大数量;它仅适用于 BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR 和
    LONGVARCHAR 列。如果超过这个限制,超过的数据将被抛弃。



     
    返回值:
     
    当前的最大列尺寸限制;零表示无限制。
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    setMaxFieldSize

    public abstract void setMaxFieldSize(int max) throws SQLException


    maxFieldSize 限制(以字节为单位)是为任何列值返回的数据的最大数量;它仅适用于 BINARY、VARBINARY、LONGVARBINARY、CHAR、VARCHAR 和
    LONGVARCHAR 域。如果超过这个限制,超过的数据将被丢弃。为了最大的可移植性,通常使用大于 256 的值。



     
    参数:
     
    max - 新的最大列尺寸限制;零表示无限制
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxRows

    public abstract int getMaxRows() throws SQLException


    maxRows 限制是 ResultSet 可包含的最大行数。 如果超过限制,超过的行将被丢弃。



     
    返回值:
     
    当前的最大行限制;零表示没有限制
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    setMaxRows

    public abstract void setMaxRows(int max) throws SQLException


    maxRows 限制用来限制 ResultSet 可包含的最大行数。如果超过这个限制,超过的行将被丢弃。



     
    参数:
     
    max - 新的最大行限制;零表示无限制
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    setEscapeProcessing

    public abstract void setEscapeProcessing(boolean enable) throws SQLException


    如果不作扫描是打开的(缺省值), 驱动程序在向数据库发送 SQL 语句之前将不作替换。
    注意:因为准备好的语句通常在此调用之前进行了语法分析,所以对准备好的语句禁用不作处理是无效的。



     
    参数:
     
    enable - true 表示启用; false 表示禁用
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getQueryTimeout

    public abstract int getQueryTimeout() throws SQLException


    queryTimeout 限制是驱动程序等待一条语句执行的秒数。 如果超过这个限制,则抛出 SQLException 。



     
    返回值:
     
    以秒记数的当前查询的超时限制;零表示无限制
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    setQueryTimeout

    public abstract void setQueryTimeout(int seconds) throws SQLException


    queryTimeout 限制是驱动程序等待一条语句执行的秒数。 如果超过这个限制,则抛出 SQLException 。



     
    参数:
     
    seconds - 以秒记数的新查询的超时限制;零表示无限制
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    cancel

    public abstract void cancel() throws SQLException


    Cancel 用于一个线程取消另一个线程正在执行的一条语句。



     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getWarnings

    public abstract SQLWarning getWarnings() throws SQLException


    返回由对这条语句的调用报告的第一个警告。语句的执行方法清除它的 SQLWarning 链。后继的语句警告将被链接到这个 SQLWarning 上。

    每次执行语句时,警告链被自动清除。

    注意: 如果正处理一个 ResultSet,则任何与读 ResultSet 相关的警告将连接到 ResultSet 对象上。



     
    返回值:
     
    第一个 SQLWarning 或 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    clearWarnings

    public abstract void clearWarnings() throws SQLException


    此调用完成之后,getWarnings 返回 null, 直到该语句产生了一个新警告为止。



     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    setCursorName

    public abstract void setCursorName(String name) throws SQLException


    setCursorname 定义了由后继语句执行方法使用的 SQL 游标名。 该名字可用在 SQL 定位的 update/delete 语句中,来识别由该语句生成的 ResultSet
    中的当前行。如果数据库不支持定位的 update/delete, 该方法无用。

    注意: 由定义可知,定位的 update/delete 执行必须由不同的语句完成,而不是由生成用于定位的 ResultSet 的语句来执行。而且,游标名在连接中必须是唯一的。



     
    参数:
     
    name - 新的游标名。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    execute

    public abstract boolean execute(String sql) throws SQLException


    执行一条可能返回多个结果的 SQL 语句。
    在某些(非正常)环境下,一个单独的 SQL 语句可能返回多个结果集和/或更新数量。通常,您可忽略该方法,除非您正执行事先知道可能会返回多个结果集的存储过程,或者您动态地执行一个未知的 SQL 字符串。
    "execute"、"getMoreResults"、"getResultSet" 和"getUpdateCount" 方法可使得浏览多条结果。
    "execute" 方法执行一条 SQL 语句并指示最初的结果形式。可使用 getResultSet 或 getUpdateCount 方法来检索结果,及
    getMoreResults 方法来移动到任何后继的结果。



     
    参数:
     
    sql - 任何 SQL 语句
    返回值:
     
    如果下一个结果是 ResultSet ,返回 true;如果它是一个更新数量或没有其它结果,返回 false。
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    getResultSet, getUpdateCount, getMoreResults



    getResultSet

    public abstract ResultSet getResultSet() throws SQLException


    getResultSet 返回当前结果作为 ResultSet 。对每个结果只应调用该方法一次。



     
    返回值:
     
    作为 ResultSet 的当前结果;如果没有其它结果返回 null
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    execute



    getUpdateCount

    public abstract int getUpdateCount() throws SQLException


    getUpdateCount 返回当前结果作为一个更新数量;如果结果是一个
    ResultSet 或没有其他结果,返回 -1。 对每个结果只应调用该方法一次。



     
    返回值:
     
    作为更新数量的当前结果;如果没有其它结果则返回 null
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    execute



    getMoreResults

    public abstract boolean getMoreResults() throws SQLException


    getMoreResults 移到语句的下一个结果。 如果结果是一个
    ResultSet ,返回 true 。
    getMoreResults 也隐式关闭用 getResultSet 获得的当前 ResultSet。
    如果 (!getMoreResults() && (getUpdateCount() == -1) 则没有下一结果。



     
    返回值:
     
    如果下一个结果是 ResultSet ,返回 true;如果它是一个更新数量或没有其它结果,返回 false。
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    execute

    相关文章
    本页查看次数: