到目前为止,我知道可以使用以下代码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/