我不确定如何从SQL执行中获取受影响的行数.

我喜欢这个:

boolean isResultSet = statement.execute(arbitrarySQLCommand);

我可以从getUpdateCount()方法获取受影响的行数.这一切都很好.我遇到的问题是更新计数为零时.这可能意味着:

>这是一个DML语句,但它不会影响任何行.受影响的零行是有效的响应.我只是意味着某些条件没有得到满足.

>这是一个非DML语句(最有可能是DDL语句)..根据定义,它不会更改行,因此更新计数始终为零(呃!).或者换句话说:对于这样的陈述,更新计数的概念毫无意义.

我想要的是能够区分上面的情况1和2.怎么样?

我对产生输出的语句不感兴趣,所以我也可以使用executeUpdate(),但正如我所看到的那样,该方法的返回值具有相同的缺陷:

Returns:

either (1) the row count for SQL Data Manipulation Language (DML) statements or (2) 0 for SQL statements that return nothing

Arghhh!

我希望它是:

Returns:

either (1) the row count for SQL Data Manipulation Language (DML) statements or (2) -1 for SQL statements that return nothing

(注意:我事先不知道任意SVLCommand的内容)

最终选择的方案

似乎没有一个真正的类似JDBC的解决方案.在我看来,JDBC的设计者在getUpdateCount上犯了一个严重的错误,它使用值0(零)来表示一个没有(按定义)影响行的语句,因为受影响的零行也是一个完全有效的结果值DML声明.

唯一可能的解决方案似乎是在SQL语句上进行某种模式匹配,以确定它是否是DML语句(INSERT,UPDATE,DELETE)或其他类型的SQL语句.像这样的东西:

>从任意SFLCommand中提取第一个单词.一个字终止了

通过空格或EOL行char.

>如果那个词(忽略

case)是INSERT,UPDATE或DELETE,然后是DML语句

并且getUpdateCount()的输出是相关的,否则是

getUpdateCount()的输出无关紧要.

丑陋且容易出错.但是这个问题出来的唯一可能的解决方案.

jdbc获取结果行数_java – 如何判断从JDBC执行更改的行数相关推荐

  1. java判断一个数是否是回文数_java编写判断是否是回文数

    一个五位数,要你用java编写程序判断它是不是回文数你知道代码是怎样的吗?下面给大家分享的就是这方面的一道java编程题目,一起来看看题目以及解题方法吧. 一.题目 下面是具体的题目,大家要详细看看哦 ...

  2. python判断回文数_Python实现判断一个整数是否为回文数算法示例

    本文实例讲述了Python实现判断一个整数是否为回文数算法.分享给大家供大家参考,具体如下: 第一个思路是先将整数转换为字符串,再将字符串翻转并与原字符串做比较 def isPalindrome(se ...

  3. c语言程序判断一个字符串是否是回文数,详解判断回文字符串和回文数算法的C语言代码!...

    一.判断一个字符串是否为回文字符串 #include #include #include //包含strlen #define YES 1 #define NO  0 #define uchar un ...

  4. 命令行无法运行php,php不支持执行cmd命令行

    php不支持执行cmd命令行是因为你没有关闭php配置文件中的安全模式. 在php.ini文件中配置safe_mode参数支持命令执行的方法: 首先,打开php.ini,关掉安全模式safe_mode ...

  5. JAVA判断sheet有效行数_Java 利用POI 读取指定excel的真实行数

    Java 使用poi包 读excel文件时,获取指定sheet页中数据行数可以通过调用 sheet.getLastRowNum() ;但这种方法仅限于当前sheet页中没有带格式的空白行时.如果其中一 ...

  6. java中获取绝对值的方法_Java完美判断绝对值的两种方法 | 彬菌

    版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创! 恰饭广告 if-else语句判断: import java.util.Scanner; public class Absol ...

  7. java 日期相差月数_Java 计算两个日期之间相差的月数

    /** * 计算两个日期之间相差的月数 * * @param date1 * @param date2 * @return */ public static int getMonths(Date da ...

  8. java类的无参构造函数_java中所有类都默认有一个无参构造函数吗?

    当没有定义构造方法时每个类里都有一个默认的无参的构造方法,此时该类就只有一个构造方法:而当你显示定义类的构造方法时,那就没有那个默认的构造方法了,该类所以的构造方法就是定义了的那些构造方法. 构造方法 ...

  9. python判断回文数_Python练习题---判断回文数

    设n是一个任意自然数,如果n的各位数字反向排序所得的自然数与n相等,则n被称为回文数,从键盘输入一个5位数字 ,请编写程序判断这个数字是不是回文数. 思路:先获取一个字符串,再判断该字符串是否满足是自 ...

最新文章

  1. 批量残差网络-Aggregated Residual Transformations for Deep Neural Networks
  2. Kafka Zero-Copy 使用分析
  3. Spring Boot 把 Maven 干掉了,正式拥抱 Gradle!
  4. Android Day05-网络编程之文件上传
  5. mysql use index用法_MySQL中USE INDEX 和 FORCE INDEX
  6. 路由器mysql密码重置密码_【验证】mysql root密码恢复
  7. 诗与远方:无题(七十八)- 望天而作
  8. GitHub 被爆开始实名制,以便于执行美国贸易制裁
  9. 21天jmeter打卡day3-熟悉界面
  10. linux 罗技摄像头驱动下载,罗技bcc950驱动下载-罗技bcc950摄像头驱动下载 v1.1.87.0官方版--pc6下载站...
  11. 敌兵布阵 HDU - 1166
  12. win10计算机管理中没有本地用户和组怎么办?
  13. 实时语音视频通话SDK如何实现立体声(二)
  14. GIC/ITS代码分析(0)GIC/ITS框架介绍
  15. 阿里云CDN加速和全站加速DCDN区别及如何选择
  16. 小明发布_历时一年零四个月,付出终有回报!救助站无微不至的照顾,头条四次跟进发布寻亲信息,最终帮助受助青年找到家人...
  17. matlab 矩阵 幂运算符,matlab矩阵的乘方power运算
  18. Chrome浏览器开发新截图工具,安全浏览器截图方法
  19. 凉了7年的快播,登上排行榜第一
  20. 酷Q python 导入插件出现问题解决

热门文章

  1. 前端学习(3288):react hook state-hook
  2. React开发(124):ant design学习指南之form中的validateFields
  3. 前端学习(3228):createRef的使用
  4. [html] 对于写一个页面布局,html/css/js这三者你是先写哪个后写哪个?
  5. 前端学习(2592):当前用户显示
  6. 前端学习(2133):前端代码复杂带来的问题
  7. oracle之高级子查询1
  8. 前端学习(1359) :学生档案信息管理1
  9. tomcat:Cannot find /usr/local/tomcat1/bin/setclasspath.sh
  10. RMSE、MAPE、准确率、召回率、F1、ROC、AUC总结