文档章节

数据库 Statement(陈述说明)

 守候一座空城
发布于 2015/12/03 21:55
字数 2358
阅读 16
收藏 0

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
博文 8
码字总数 8073
作品 0
西安
私信 提问
浅析Statement和PreparedStatement,SQL注入

一、SQL注入 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 上述语句摘自百度百科,可能对于有些人来说晦涩难...

叫我宫城大人
2018/01/11
0
0
【优达学城测评】Project 1

居然还有这么多细心又详细的知识拓展,感觉,每一次的交流都有新的成长,老师真的太专业又负责,点赞赞赞!!! Q1:问题回复正确确认了试验中的自变量和因变量。 Please note that an inde...

Betty__
2016/10/09
49
0
30 天精通 RxJS (02): Functional Programming 基本观念

什麽是 Functional Programming ? Functional Programming 是一种编程范式(programming paradigm),就像 Object-oriented Programming(OOP)一样,就是一种写程式的方法论,这些方法论告诉我们...

readilen
2018/05/19
0
0
MIT新研究表明机器学习不能标记假新闻

麻省理工学院研究人员发表的两篇新论文显示,当前的机器学习模型还不能完成区分虚假新闻报道的任务。在不同的研究人员表明计算机可以令人信服地生成虚构新闻故事而无需太多人为监督之后,一些...

稿源:
前天
0
0
数据库开发 - JDBC进阶

JDBC进阶 业务场景(一) 在企业级业务场景中,我们会经常遇到我们编写的SQL语句,查询条件过弱,区分性不强,SQL所查询的内容过多。一方面,我们可以通过修改过滤条件来减少搜索内容,在一些...

抢小孩糖吃
2016/09/21
42
0

没有更多内容

加载失败,请刷新页面

加载更多

parseint和isNaN用法

本文转载于:专业的前端网站➭parseint和isNaN用法 <!doctype html><html><head><meta charset="utf-8"><title>无标题文档</title></head><body><script> var a='12'; alert......

前端老手
41分钟前
7
0
Kylin 精确去重在用户行为分析中的妙用

作者:史少锋,Apache Kylin committer & PMC,2019/10/11 在上次文章《如何在 1 秒内做到大数据精准去重》中,我们介绍了 Apache Kylin 为什么要支持大数据集上的精确去重,以及基于 Bitmap...

ApacheKylin
52分钟前
5
0
学习记录(二) es6基本语法(rest参数,模板化,axios模块,拦截器)

日常学习记录 模块化:把一个大文件分成多个小文件,按照一定规范进行拼接 es5写法: 导出:module.exports = 数据 导入:require("路径") /路径未添加后缀名时 //默认添加.js //把路径作为文件名...

Pole丶逐
55分钟前
4
0
以程序员的角度怎么购买一台「性价比高的电视」

前俩天有小伙伴在我的文章下留言,说能否把 【国内电视机都介绍一下】,今天我已在TV端开发多年的程序员的角度。谈谈已程序员的角度如何购买一台性价比高的电视。 国内大的电视机品牌介绍 长...

我们都很努力着
59分钟前
4
0
PhotoShop 色调:理解直方图/RGB通道信息

一、直方图:图表的形式,展示图像像素分布的情况 1.平均值:表示平均亮度 2.标准偏差值:表示亮度值范围内的中间值 3.像素: 表示用于计算直方图的像素总数 4.色阶:显示指针下面的区域亮度...

东方墨天
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部