我正在尝试在java中创建登录代码,但我的代码中存在一些问题。 如果我输入正确的数据或错误的数据仍然无法进入循环 转到下一帧。 这是完整的代码它已经有异常,所以这不是问题。
Connection conn = null ;
try
{
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/DB?"+
"user=name&password=pass&characterEncoding=utf8");
String query = ("Select User_Name from user where User_Name = '" + txtUserName + "'
and password = '" + passwordField.getPassword().toString() + "' ; ");
PreparedStatement stmt = conn.prepareStatement(query);
ResultSet rs = stmt.executeQuery();
while (rs.wasNull()) {
System.out.println("true");
frame2.setVisible(true);
frame.setVisible(false);
break;
}
}
catch (SQLException ee)
{
JOptionPane.showMessageDialog(frame2, "Wrong inf ... please try again ");
}
我也试过这个但仍然无法正常工作。
Connection conn = null ;
try
{
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/DB?"+
"user=name&password=pass&characterEncoding=utf8");
PreparedStatement stmt = null;
String query = "Select User_Name from user where User_Name =? and password=?";
stmt = conn.prepareStatement(query);
stmt.setString(1, txtUserName.getText());
stmt.setString(2, passwordField.getPassword().toString());
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
System.out.println("true");
frame2.setVisible(true);
frame.setVisible(false);
break;
}
}
catch (SQLException ee)
{
JOptionPane.showMessageDialog(frame2, "Wrong inf ... please try again ");
}
答案 0 :(得分:0)
我不是一个真正的Java程序员,而是快速浏览一下你的代码和ResultSet :: wasNull()的描述ResultSet :: next()告诉我你误用或误解了它们是如何工作的。
所以,让我们把事情放在一起。
案例1:使用wasNull():
案例2:使用next():
我建议花些时间阅读ResultSet API文档:https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html