首页上一页 1 下一页尾页 1 条记录 1/1页
你好。我按照上面写的之后,程序总报密码不正确
发表在Java图书答疑
2011-06-14
是否精华
是
否
版块置顶:
是
否
public static boolean okUser(String user,String pwd){
try{
Connection conn=getConn(); // 获得数据库连接
// 创建PreparedStatement对象,并传递SQL语句
PreparedStatement ps=conn.prepareStatement("select password from tb_user where username=?");
ps.setString(1, user); // 为参数赋值
ResultSet rs=ps.executeQuery(); // 执行SQL语句,获得查询结果集
if (rs.next() && rs.getRow()>0){ // 查询到用户信息
String password=rs.getString(1); // 获得密码
if (password.equals(pwd)){
return true; // 密码正确返回true
}else{
JOptionPane.showMessageDialog(null, "密码不正确。");
return false; // 密码错误返回false
}
}else{
JOptionPane.showMessageDialog(null, "用户名不存在。");
return false; // 用户不存在返回false
}
}catch(Exception ex){
JOptionPane.showMessageDialog(null, "数据库异常!\n"+ex.getMessage());
return false; // 数据库异常返回false
}
}
(7)双击“登录”按钮,为“登录”按钮的动作事件编写如下代码,实现判断用户名和密码是否正确的功能,如果用户名正确,就可进入系统主窗体,否则不能进入系统主窗体。
String user=tf_user.getText(); // 获得输入的用户名
String password=new String(pw_password.getPassword()); // 获得输入的密码
if (user.equals("") || password.equals("")){ // 如果用户名或密码为空
JOptionPane.showMessageDialog(null, "用户名和密码不能为空。");
}else{
boolean ok=DAO.okUser(user, password); // 调用DAO的方法判断用户名和密码
if (ok){ // 用户名和密码正确
new MainFrame().setVisible(true); // 创建并显示主窗体
LoginFrame.this.dispose(); // 销毁系统登录窗体
}
}
说明:MainFrame类是通讯录管理系统的主窗体类,稍后将对该类进行介绍。
(8)LoginFrame类是通讯录管理系统的主类,在main()主方法中编写一行代码,用于启动系统登录窗体,主方法及其中的代码如下:
public static void main(String[] args) { // 主方法
new LoginFrame().setVisible(true); // 创建系统登录窗体类的实例,并显示登录窗体
}
(9)双击“退出”按钮,为“退出”按钮的动作事件编写如下代码,实现退出应用程序的操作。
System.exit(0); // 退出应用程序