您当前的位置: 首页 >  数据库

顺其自然~

暂无认证

  • 3浏览

    0关注

    1317博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

数据库 Statement(陈述说明)

顺其自然~ 发布时间:2022-04-18 11:50:06 ,浏览量:3

创建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

关注
打赏
1662339380
查看更多评论
立即登录/注册

微信扫码登录

0.0414s