【发布时间】:2018-05-05 22:35:33
【问题描述】:
我正在尝试获取用户名和密码的数据库记录并使用 if-else 语句进行验证。最后的 else 语句不显示消息对话框。我被这个困住了,建议我一个解决方案并说出我在哪里做错了。
我的完整代码
String s1 = id.getText();
String s2 = new String(pass.getPassword());
try
{
Class.forName("org.apache.hive.jdbc.HiveDriver");
Connection con = DriverManager.getConnection("jdbc:hive2://localhost:10000/twitter_db","arunachalam","");
String sql = "select userid, password from user_reg where userid='"+s1+"'";
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while(rs.next())
{
if((rs.getString("userid").equals(s1)) && (rs.getString("password").equals(s2)))
{
dispose();
showMessageDialog(null,"Login Successfully");
new UserPage().setVisible(true);
}
else if((rs.getString("userid").equals(s1)) && (!rs.getString("password").equals(s2)))
{
showMessageDialog(null,"Incorrect Password");
}
else
{
showMessageDialog(null,"Invalid User");
}
}
}
catch(Exception e)
{
showMessageDialog(null, e);
}
【问题讨论】:
-
Final else 语句不显示消息对话框 - 可以输入
if或if else之一,因此不输入最终的else -
你能把完整的代码贴出来吗?它很容易追踪..
-
出于好奇,
ng-if-else是什么? -
我等一下。
-
else if的意义何在?另请注意,您应该从不像您所做的那样使用 + 创建 sql 查询
标签: java conditional