对空结果集的非法操作[重复]

2023-12-19

我正在尝试在一家杂货店建立一个收银台,我的代码实际上执行了我想要它做的事情,但有一点是这样的。

在我要求用户输入他们想要的商品数量后,产品信息被收集并且工作正常,但是当它应该要求用户输入下一个产品的产品 ID 时,该行会重复,我得到以下内容我的捕获中出现异常:“对空结果集进行非法操作”。同样,除了该行的重复之外,所有计算都很好。关于可能出现的问题有什么想法吗?

重复的输出是这样的:

输入产品(或退出):

ERROR1:对空结果集的非法操作。

输入产品(或退出):

这是代码。

try {
  Class.forName("com.mysql.jdbc.Driver");
  String connection = "jdbc:mysql://myDB?";
  connection = connection + "user=xxx&password=xxxxxx";
  Connection conn = DriverManager.getConnection(connection);
  // MATA IN PRODUKTNUMMER
  System.out.println("\nEnter product (or Exit):");
  GroceryStore.input = GroceryStore.scan.nextLine();

  PreparedStatement stmt = conn.prepareStatement(
          "SELECT * "+
          "FROM Products "+
          "WHERE productNo = ?");
          stmt.setString(1, GroceryStore.input); 

          ResultSet rs = stmt.executeQuery();
          rs.next();

    pName = rs.getString("productName");
    System.out.println("Product: " + pName);

    // MATA IN ANTAL
    System.out.println("\nEnter amount:");
    GroceryStore.amount = GroceryStore.scan.nextInt();


    pPrice = rs.getDouble("productPrice");
    priceRounded = new BigDecimal(pPrice).setScale(2, BigDecimal.ROUND_FLOOR);
    amountRounded = new BigDecimal(GroceryStore.amount).setScale(0);
    priceRounded = priceRounded.multiply(amountRounded);
    GroceryStore.sum = GroceryStore.sum.add(priceRounded);

    inOut.output();  
    inOut.input();
    conn.close();
    }
    catch (Exception e) {
         System.out.println("ERROR1: " + e.getMessage());
    }

您没有检查结果集中是否有任何数据或行。

ResultSet rs = stmt.executeQuery();
rs.next();
...
...

您应该检查结果是否为空或有任何行:

ResultSet rs = stmt.executeQuery();
if(rs.next()){
.....
your code
.....
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对空结果集的非法操作[重复] 的相关文章

  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • Java - 将节点添加到列表的末尾?

    这是我所拥有的 public class Node Object data Node next Node Object data Node next this data data this next next public Object g
  • 给定两个 SSH2 密钥,我如何检查它们是否属于 Java 中的同一密钥对?

    我正在尝试找到一种方法来验证两个 SSH2 密钥 一个私有密钥和一个公共密钥 是否属于同一密钥对 我用过JSch http www jcraft com jsch 用于加载和解析私钥 更新 可以显示如何从私钥 SSH2 RSA 重新生成公钥
  • 未捕获 Func<> 的异常(异步)

    我有以下代码 为了进行此重现而进行了简化 显然 catch 异常块将包含更多逻辑 我有以下代码 void Main var result ExecuteAction async gt Will contain real async code
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • 加速代码 - 3D 数组

    我正在尝试提高我编写的一些代码的速度 我想知道从 3d 整数数组访问数据的效率如何 我有一个数组 int cube new int 10 10 10 我用价值观填充其中 然后我访问这些值数千次 我想知道 由于理论上所有 3d 数组都存储在内
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • 禁止的软件包名称:java

    我尝试从数据库名称为 jaane 用户名 Hello 和密码 hello 获取数据 错误 java lang SecurityException Prohibited package name java at java lang Class
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • Google App Engine 如何预编译 Java?

    App Engine 对应用程序的 Java 字节码使用 预编译 过程 以增强应用程序在 Java 运行时环境中的性能 预编译代码的功能与原始字节码相同 有没有详细的信息这是做什么的 我在一个中找到了这个谷歌群组消息 http groups
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • 编译器抱怨“缺少返回语句”,即使不可能达到缺少返回语句的条件

    在下面的方法中 编译器抱怨缺少退货声明即使该方法只有一条路径 并且它包含一个return陈述 抑制错误需要另一个return陈述 public int foo if true return 5 鉴于Java编译器可以识别无限循环 https
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • ROW_NUMBER() PARTITION BY ORDER BY 等效项的 DAX 表达式

    我有一个这样的SQL语句 ROW NUMBER OVER PARTITION BY a market MEASURE TYPE ORDER BY AM REP ORDER KEY AS ORDER KEY 我想写一个DAX来实现上面的SQL
  • pybrain:如何打印网络(节点和权重)

    最后我设法从文件中训练一个网络 现在我想打印节点和权重 尤其是权重 因为我想用 pybrain 训练网络 然后在其他地方实现一个神经网络来使用它 我需要一种方法来打印层 节点和节点之间的权重 以便我可以轻松复制它 到目前为止 我看到我可以使
  • Helm 动态设置 Docker 镜像标签

    我使用以下命令通过 Jenkins 将 Docker 镜像推送到我们的私有注册表 def dockerImage docker build repo myapp env BUILD NUMBER BUILD NUMBER每次构建后都会增加
  • 带进度条报告的stream.copyto

    我想合并 2 个大文件 但 atm 我的代码仅在复制 1 个文件后更新进度是否有更好的方法来报告进度这是我的复制代码 atm max files Count MessageBox Show Merge Started using Strea
  • 在 .NET DrawString 中换行时禁用断字

    我正在使用 NET 将字符串绘制到有限的空间中 我希望字符串尽可能大 我对字符串分成更多行没有问题 如果它留在矩形内 现在的问题是 我不希望 NET 在单词中间的不同行中断开字符串 例如 字符串 Test 以大字体打印在一行上 字符串 Te
  • Android 项目错误任务 ':transformClassesWithJarMergingForDebug' 执行失败

    我正在将我的 Android 应用程序从 Eclipse 转换为 Android Studio 当我构建 gradle 时没有错误 但在运行应用程序时 我遇到了以下错误 Error Execution failed for task tra
  • 来自 Firefox 的 ajax 调用未加载 SSL 客户端证书

    我正在从 HTTP 页面执行 CORS 请求 其中包括对另一个 HTTPS 服务器的 JQuery ajax 调用 该服务器向客户端请求 SSL 客户端证书 因此 ajax 查询需要提供它 在 Chrome 35 中 一切都按预期工作 并且
  • 如何为表面着色以具有更强的对比度

    在Matlab中 我尝试使用以下代码在2维欧几里得空间上绘制一个函数 s 05 x 2 s 2 s y 1 s 3 s X Y meshgrid x y Z 1 X 2 100 Y X X 2 surf X Y Z colormap jet
  • 当 php 应用程序位于 Varnish 后面时使用 Xdebug

    我正在尝试使用 PHPStorm 将 Xdebug 远程调试设置为位于 Varnish 后面的站点作为缓存层 Varnish 作为端口 80 上的前端 Apache 作为端口 8080 上的后端与之通信 如果我绕过 Varnish 并直接与
  • 评估“可变变量”

    我正在使用以下内容创建一个动态变量 PHP 术语中的 变量变量 foo test1 set to word rejoin foo result data array 5 但是如何动态获取名为 test1 result data 的结果变量的
  • 如何使用 Modernizr 使 border-radius 在 IE8 中工作?

    我知道有很多关于在 IE8 中获取圆角的文章 我的问题是 如何使用Modernizr支持CSS3 HTML5功能 例如 为了在 IE8 中显示圆角 我使用 CSS 3 属性 webkit border radius 20px moz bor
  • 如何在React Native Android中添加自定义字体

    我想设置fontFamily到 roboto 精简我的工具栏标题 我已经添加了roboto Thin ttfassets fonts我的 android 项目的文件夹 但是它似乎在运行应用程序时产生问题 我在运行时遇到这个问题 反应本机启动
  • java cpu使用率监控

    有没有办法使用纯Java来监控CPU使用率 kgiannakakis 链接的文章评论中有一个宝石 javasysmon https github com jezhumble javasysmon wiki JavaSysMon 管理进程和
  • Discord.js V13 发送消息附件

    升级到discord js v13并使用后Array from message attachments values 代替message attachments array 发送消息中的附件 message client channels
  • AWS API Gateway 缓存忽略查询参数

    我正在 AWS API Gateway 端配置缓存以提高 REST API 的性能 我尝试配置的端点正在使用查询参数 我已经在 AWS API Gateway 端启用了缓存 但不幸的是 我发现它在构建缓存键时忽略了查询参数 例如 当我使用查
  • 如何启用 Guard Malloc

    这是一个愚蠢的问题 文档说 要使用 Guard Malloc 启用调试 请在运行项目之前在 Xcode 中选择 运行 gt 启用 Guard Malloc 选项 启用此选项后构建并运行您的应用程序会自动使用 Guard Malloc 库运行
  • 默认 MVC 5 应用程序的安全异常

    将 VS 2013 生成的默认 MVC 5 应用程序部署到我的托管帐户时 我遇到了安全异常 对于这个问题有什么快速的解决办法吗 Description The application attempted to perform an oper
  • Yii2:在字段模糊时禁用 ActiveForm Ajax 验证

    如何自动禁用 Yii validation onblur ajax 验证 我只想在按下提交按钮后进行验证 您想使用enableAjaxValidation验证您的表单 同时不希望在每个表单上触发 ajax 验证blur当您输入该字段后 您只
  • _NET_WM_ICON 的图片格式

    环境 Ubuntu 16 04 在我的应用程序中 我通过调用获取应用程序的图标XGetWindowProperty with NET WM ICON atom unsigned char data XGetWindowProperty da
  • 对空结果集的非法操作[重复]

    这个问题在这里已经有答案了 我正在尝试在一家杂货店建立一个收银台 我的代码实际上执行了我想要它做的事情 但有一点是这样的 在我要求用户输入他们想要的商品数量后 产品信息被收集并且工作正常 但是当它应该要求用户输入下一个产品的产品 ID 时