我试图访问我的数据库,注入一些SQL代码并从中返回值。
首先,我是这方面的新手,但我想出了以下代码:

  public static ResultSet checkCmdAmount() throws Exception {
        try {
          // This will load the MySQL driver, each DB has its own driver
          Class.forName("com.mysql.jdbc.Driver");
          // Setup the connection with the DB
          connect = DriverManager.getConnection(""+MyBot.mysqlDbPath+"",""+MyBot.mysqlDbUsername+"",""+MyBot.mysqlDbPassword+"");
          PreparedStatement zpst=null;
          ResultSet zrs=null;
          zpst=connect.prepareStatement("SELECT COUNT(1) FROM eigenebenutzerbefehle");
          zrs=zpst.executeQuery();
             return zrs;
        }catch (Exception e) {
              throw e;
            } finally {
              close();
            }
      }

作为回报,我得到了以下信息:
ResultSet: com.mysql.jdbc.JDBC4ResultSet@196da649

但我想知道表中的行数。
当我通过phpmyadmin执行sql代码时,得到3,这是正确的。
这里怎么了?

最佳答案

您需要从结果集读取并获取所需的值。按以下步骤操作:

public static int checkCmdAmount() throws Exception {
  // ...

  int count = 0;
  while (zrs.next()) {
    // Get the values from the current row...
    count = zrs.getInt(1);
  }
  return count;
}

10-08 09:05