【问题标题】:Getting the SUM of a column in MySQL table and putting it in JTextField获取 MySQL 表中列的 SUM 并将其放入 JTextField
【发布时间】:2014-03-12 08:47:21
【问题描述】:

我正在尝试计算 MySQL 表中的列的总和,并将结果放入 JTextField 中,然后单击按钮。这是计算总和的方法:

private void computeTotalUnits(JTextField tf) {
        try {
            st = conn.createStatement();
            sql = "SELECT SUM(no_of_units) AS total_no_of_units FROM schedule;";

            rs = st.executeQuery(sql);

            tf.setText(rs.getString(1));

        } catch(Exception ex) {
            JOptionPane.showMessageDialog(null, ex.toString());
        }
    }

但是,我在单击按钮时收到“SQLException:在结果集开始之前”。

【问题讨论】:

  • 你从哪里得到这个异常`?在 executeQuery 函数上还是在 getString 函数上?
  • 嗨,这是整个StackTrace。我们将不胜感激。
  • 如果我没有完整的代码,StackTrace 不是很有用,但是您可以调试您的项目,并在方法的开头放一个中断,然后逐步查看会发生什么,告诉我们结果,或者您可以使用 abc 或 123 插入 System.out.println("...") 来检查您的函数在哪里停止

标签: java mysql sql sum jtextfield


【解决方案1】:

我猜是缺少rs.next()。见here。也有可能 sum 不是字符串。尝试获取BigDecimal

【讨论】:

  • 你是对的。 tf.setText(rs.getString(1)); 必须在 while(rs.next()){} 内。在那之后,它奏效了。标记为已接受的答案。
猜你喜欢
  • 1970-01-01
  • 2021-06-26
  • 2020-02-09
  • 1970-01-01
  • 1970-01-01
  • 2018-07-29
  • 2015-08-12
  • 2016-03-12
  • 2021-12-13
相关资源
最近更新 更多