これはデータベースからいくつかの行を出力する簡単なコードです。しかし、私がこれを実行すると何も画面に表示されません。私は問題がrs.next()
メソッドが行をスキップしていると考えました。だから私はそれを回避するか、またはrs.next()
メソッドの位置をリセットすることはできますか?行をスキップすることを避ける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();
}
可能な重複http://stackoverflow.com/questions/867194/java-resultset-how-to-check-if-there-are -any-results) –