到目前为止,我知道可以使用以下代码SELECT * FROM table ORDER BY column_name LIMIT n-1,1 ;从表中选择第n行。在以下代码中,我试图从名为responsable的表的每一行中检索每列的每个属性,该表具有以下各列: ID,名称,姓氏,邮件,密码。 id是一个整数,而其他列的类型是字符串

java.sql.Connection connection = null;
int rowCount;
try {connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/database_name","root","");
      Statement stmt = null;
      ResultSet result = null;
      ResultSet rs = null;
      rs = stmt.executeQuery("SELECT COUNT(*) FROM responsable");
      rowCount = rs.getInt(1);
      if(rowCount!=0)
       {
        for(int i=0;i<rowCount;i++)
         {result= stmt.executeQuery("SELECT * FROM responsable ORDER BY id LIMIT"+i+",1");
          System.out.put(result.getInt(1));
          System.out.put(result.getString(2));
          System.out.put(result.getString(3));
          System.out.put(result.getString(4));
          System.out.put(result.getString(5));}
       }
}catch (Exception ex) {
out.println("Unable to connect to database");
}



我正在尝试执行此代码,但是没有任何结果。
任何帮助,将不胜感激。

最佳答案

您的stmt变量为null。您需要首先创建该语句。

Statement stmt = connection.createStatement();


另外,您需要调用next()从结果集中检索下一行。
例如。

if (rs.next()) {
    rowCount = rs.getInt(1);
}


....

if (result.next()) {
    System.out.put(result.getInt(1));
    System.out.put(result.getString(2));
    System.out.put(result.getString(3));
    System.out.put(result.getString(4));
    System.out.put(result.getString(5));
}

关于mysql - 从表的每一行检索每列的每个属性mysql java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36875613/

10-10 06:41