java - 无法从 MySql 数据库获取结果集

标签 java mysql jdbc

当我在包含表“comm_list”和表“comm_list”中类型为“Int”的字段“sr_no”的数据库上执行以下查询时,我得到了正确的结果集

SELECT MAX(sr_no) FROM comm_list;

上面的查询是获取最大值。序列号。这样当我输入新记录时,我在“sr_no”colum 中输入(序列号 + 1),这样我就可以跟踪编号。数据库中的记录数。

我知道这可以通过将字段“sr_no”设为主键并使其在输入新记录时自动递增来自动完成,但是我在表中已经有另一个主键所以我不能做这个“sr_no”字段作为主键。

当我从我的 java 程序执行上述查询以获取最大值时。序列号,返回的结果集不包含任何条目。我不明白问题出在哪里。我使用 jdbc 驱动程序将记录从 java 程序存储到数据库。

以下是我的java程序的代码片段。

          PreparedStatement getSerial = con.prepareStatement("select max(sr_no) from comm_list"); // "con" is the connection with the database
          getSerial.execute();
          ResultSet rs = getSerial.getResultSet();
          System.out.println(rs.toString()); 
          System.out.println(rs.getFetchSize()); // output - 0
          srNo = rs.getInt(1) + 1;
          System.out.println(srNo);

最佳答案

尝试使用 next方法,将指定的结果集移动到下一行,并返回是否有下一行:

PreparedStatement getSerial = con.prepareStatement("select max(sr_no) from comm_list"); // "con" is the connection with the database
getSerial.execute();
ResultSet rs = getSerial.getResultSet();
if(rs.next()) {
   srNo = rs.getInt(1) + 1;
}
System.out.println(srNo);

关于java - 无法从 MySql 数据库获取结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1417507/

相关文章:

mysql - 复杂的 mysql 查询在表中加入

php - 从日期值为 xxxx-xx-xx 的 sql 值中选择年份

java - 是否可以有一个 JDBC 池将只读查询路由到从属 sql 服务器?

java - 如何在JSP中访问java map 对象

mysql - Powershell命令没有等待

JAVA UDP 服务器收不到数据包

java - 使用 Java 连接到 Oracle DSN 时出错

java - 如何使用带有 MYSQL JDBC 驱动程序的 SimpleJdbcInsert 和 executeBatch 获取生成的 key ?

java - 为什么我的编译器不能转换它?

Java 与。 C++/C 树实现,幕后发生了什么