executeupdateexecuteUpdate()方法的使用

executeupdate  时间:2021-06-07  阅读:()

在Java中如何使用execute()、executeQuery()、executeUpdate()三个方法

execute(String sql) 执行给定的 SQL 语句,该语句可能返回多个结果。

executeQuery(String sql) 执行给定的 SQL 语句,该语句返回单个 ResultSet 对象 executeUpdate(String sql) 执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句) 头2种一般在查询中使用 最后一个在插入、更新、删除时使用

java execute,executeQuery和executeUpdate之间的区别

PreparedStatement接口提供了三种执行SQL语句的方法:executeQuery、executeUpdate和execute。

使用哪一个方法由SQL语句所产生的内容决定。

1、方法executeQuery用于产生单个结果集的语句,例如SELECT语句。

被使用最多的执行SQL语句的方法是executeQuery。

这个方法被用来执行SELECT语句,它几乎是使用最多的SQL语句。

2、方法executeUpdate用于执行INSERT、UPDATE或DELETE语句以及SQLDDL(数据定义语言)语句,例如CREATETABLE和DROPTABLE。

INSERT、UPDATE或DELETE语句的效果是修改表中零行或多行中的一列或多列。

executeUpdate的返回值是一个整数,指示受影响的行数(即更新计数)。

对于CREATETABLE或DROPTABLE等不操作行的语句,executeUpdate的返回值总为零。

使用executeUpdate方法是因为在createTableCoffees中的SQL语句是DDL(数据定义语言)语句。

创建表,改变表,删除表都是DDL语句的例子,要用executeUpdate方法来执行。

你也可以从它的名字里看出,方法executeUpdate也被用于执行更新表SQL语句。

实际上,相对于创建表来说,executeUpdate用于更新表的时间,因为表只需要创建一次,但经常被更新。

executeUpdate()方法的使用

方法executeUpdate 用于执行INSERT、UPDATE或DELETE语句以及SQLDDL(数据定义语言)语句,例如CREATETABLE和DROPTABLE。

INSERT、UPDATE或DELETE语句的效果是修改表中零行或多行中的一列或多列。

executeUpdate的返回值是一个整数,指示受影响的行数(即更新计数)。

对于CREATETABLE或DROPTABLE等不操作行的语句,executeUpdate的返回值总为零。

使用executeUpdate方法是因为在createTableCoffees中的SQL语句是DDL(数据定义语言)语句。

创建表,改变表,删除表都是DDL语句的例子,要用executeUpdate方法来执行。

也可以从它的名字里看出,方法executeUpdate也被用于执行更新表SQL语句。

扩展资料: 方法execute: 用于执行返回多个结果集、多个更新计数或二者组合的语句。

因为多数程序员不会需要该高级功能 execute方法应该仅在语句能返回多个ResultSet对象、多个更新计数或ResultSet对象与更新计数的组合时使用。

当执行某个已存储过程或动态执行未知SQL字符串(即应用程序程序员在编译时未知)时,有可能出现多个结果的情况,尽管这种情况很少见。

因为方法execute处理非常规情况,所以获取其结果需要一些特殊处理并不足为怪。

例如,假定已知某个过程返回两个结果集,则在使用方法execute执行该过程后,必须调用方法getResultSet获得第一个结果集,然后调用适当的getXXX方法获取其中的值。

要获得第二个结果集,需要先调用getMoreResults方法,然后再调用getResultSet方法。

如果已知某个过程返回两个更新计数,则首先调用方法getUpdateCount,然后调用getMoreResults,并再次调用getUpdateCount。

对于不知道返回内容,如果结果是ResultSet对象,则方法execute返回true;如果结果是Javaint,则返回false。

如果返回int,则意味着结果是更新计数或执行的语句是DDL命令。

在调用方法execute之后要做的第一件事情是调用getResultSet或getUpdateCount。

调用方法getResultSet可以获得两个或多个ResultSet对象中第一个对象;或调用方法getUpdateCount可以获得两个或多个更新计数中第一个更新计数的内容。

1、getResultSet 返回null意味着不是结果集可以理解为是一个更新计数或没有其它结果 2、getUpdateCount 返回影响的行数-1表示结果是结果集或没有结果 如果已经调用方法getResultSet并处理了它返回的ResultSet对象,则有必要调用方法getMoreResults以确定是否有其它结果集或更新计数。

如果getMoreResults返回true,则需要再次调用getResultSet来检索下一个结果集。

如上所述,如果getResultSet返回null,则需要调用getUpdateCount来检查null是表示结果为更新计数还是表示没有其它结果。

当getMoreResults返回false时,它表示该SQL语句返回一个更新计数或没有其它结果。

因此需要调用方法getUpdateCount来检查它是哪一种情况。

在这种情况下,当下列条件为真时表示没有其它结果: ((stmt.getMoreResults()==false)&&(stmt.getUpdateCount()==-1))。

参考资料: 百度百科——update 百度百科——ShellExecute

亚洲云Asiayu,成都云服务器 4核4G 30M 120元一月

点击进入亚云官方网站(www.asiayun.com)公司名:上海玥悠悠云计算有限公司成都铂金宿主机IO测试图亚洲云Asiayun怎么样?亚洲云Asiayun好不好?亚云由亚云团队运营,拥有ICP/ISP/IDC/CDN等资质,亚云团队成立于2018年,经过多次品牌升级。主要销售主VPS服务器,提供云服务器和物理服务器,机房有成都、美国CERA、中国香港安畅和电信,香港提供CN2 GIA线路,CE...

IMIDC日本多IP服务器$88/月起,E3-123x/16GB/512G SSD/30M带宽

IMIDC是一家香港本土运营商,商家名为彩虹数据(Rainbow Cloud),全线产品自营,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非等地机房,CN2网络直连到中国大陆。目前主机商针对日本独立服务器做促销活动,而且提供/28 IPv4,国内直连带宽优惠后每月仅88美元起。JP Multiple IP Customize...

香港ceranetworks(69元/月) 2核2G 50G硬盘 20M 50M 100M 不限流量

香港ceranetworks提速啦是成立于2012年的十分老牌的一个商家这次给大家评测的是 香港ceranetworks 8核16G 100M 这款产品 提速啦老板真的是豪气每次都给高配我测试 不像别的商家每次就给1核1G,废话不多说开始跑脚本。香港ceranetworks 2核2G 50G硬盘20M 69元/月30M 99元/月50M 219元/月100M 519元/月香港ceranetwork...

executeupdate为你推荐
企鹅医生不知企鹅医生在线问诊到底可不可靠啊?视频技术短视频运营每天的工作是做什么?需要所学的技术都有什么方面?视频技术学习短视频需要准备什么?怎么去做呢?腾讯公告腾讯出什么事了 所有QQ用户空间农场什么的都打不开 有的连空间都进不去 又受攻击了?模式识别算法模式识别的简史微软操作系统下载怎么下载官方win10 64位镜像系统数据库界面数据库怎么进入界面移动硬盘文件或目录损坏且无法读取移动硬盘文件或目录损坏且无法读取怎么办??移动硬盘文件或目录损坏且无法读取移动硬盘提示文件或目录损坏且无法读取!微信网页版怎么看朋友圈电脑版的微信怎么看朋友圈
域名备案 域名注册使用godaddy php空间租用 vps推荐 怎么申请域名 怎样申请域名 国外bt 512m tk域名 圣诞节促销 国外免费全能空间 傲盾官网 服务器硬件防火墙 网站在线扫描 空间登入 独享主机 中国域名 免备案jsp空间 winserver2008 侦探online 更多