接口 java.sql.Statement

来源:互联网 发布:胜间和代 知乎 编辑:程序博客网 时间:2024/05/22 00:48
public interface Statement

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

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

参见:
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
0 0
原创粉丝点击