这是一个简单的代码打印数据库中的一些行。但是当我执行此操作时,屏幕上没有任何内容。我认为问题是rs.next()
方法正在跳过一行。那么我该如何避免或重置rs.next()
方法的位置?避免跳过一行通过下一步()结果集的方法
String searchword = Searchtf.getText();
try {
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection con = DriverManager.getConnection(url, db_username, db_password);
java.sql.Statement stat = con.createStatement();
String searchQuery = "SELECT * FROM user WHERE Name LIKE '" + searchword + "' ";
java.sql.ResultSet rs = stat.executeQuery(searchQuery);
if (rs.next()) {
while (rs.next()) {
System.out.print(rs.getString("idUser") + " ,");
System.out.print(rs.getString("Name") + " ,");
System.out.print(rs.getString("Email") + " ,");
System.out.println(rs.getString("country") + " .");
}
} else {
JOptionPane.showMessageDialog(null, "Not Found");
}
} catch (Exception ex) {
ex.printStackTrace();
}
的可能的复制[Java的ResultSet中如何检查是否有任何结果(http://stackoverflow.com/questions/867194/java-resultset-how-to-check-if-there-are任何结果) –