数据库 Statement(陈述说明)

创建JDBC应用程序的步骤 *(重要)

1. 载入JDBC驱动程序(数据库厂商提供)
2. 定义连接URL
3. 建立连接
4. 创建Statement对象
(相当于一个执行器,向DBMS发出陈述说名,执行sql)
5. 执行查询或更新
6. 结果处理
7. 关闭连接

下面是Statement的方法说明

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值