以下的代码 是我写的登陆窗口的一部分 为什么我输入正确的用户名和密码 却报告说该用户不存在.还有就是
我想输入了正确的用户和密码 接着会弹出另一个窗口.继续写另一个窗口怎么弄? 在JBuilder 2005 里面..
用代码也可以
public void btnlogin_actionPerformed(ActionEvent e) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null,"连接出错!"+ex.getMessage());
}
try {
String URL = "jdbc:odbc:TextSystem";
Connection con = DriverManager.getConnection(URL);
Statement stmt = con.createStatement();
//获取窗口的文本
String Name=txtname.getText().trim();
String psw=new String(pwd.getPassword()).trim();
//执行验证
String SQL = "select * from admin where username = '" +Name+ "' ";
ResultSet rs = stmt.executeQuery(SQL);
if(rs.next()) {
String name = rs.getString("Name");
String pwd = rs.getString("psw");
if(Name.equals(name) && psw.equals("pwd")) {
JOptionPane.showMessageDialog(null,"登陆成功!");
}
else {
JOptionPane.showMessageDialog(null,"该用户不存在!","错误",JOptionPane.ERROR_MESSAGE);
}
}
} catch (SQLException co) {
JOptionPane.showMessageDialog(null,"连接2出错!"+co.getMessage());
}
}
我想输入了正确的用户和密码 接着会弹出另一个窗口.继续写另一个窗口怎么弄? 在JBuilder 2005 里面..
用代码也可以
public void btnlogin_actionPerformed(ActionEvent e) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null,"连接出错!"+ex.getMessage());
}
try {
String URL = "jdbc:odbc:TextSystem";
Connection con = DriverManager.getConnection(URL);
Statement stmt = con.createStatement();
//获取窗口的文本
String Name=txtname.getText().trim();
String psw=new String(pwd.getPassword()).trim();
//执行验证
String SQL = "select * from admin where username = '" +Name+ "' ";
ResultSet rs = stmt.executeQuery(SQL);
if(rs.next()) {
String name = rs.getString("Name");
String pwd = rs.getString("psw");
if(Name.equals(name) && psw.equals("pwd")) {
JOptionPane.showMessageDialog(null,"登陆成功!");
}
else {
JOptionPane.showMessageDialog(null,"该用户不存在!","错误",JOptionPane.ERROR_MESSAGE);
}
}
} catch (SQLException co) {
JOptionPane.showMessageDialog(null,"连接2出错!"+co.getMessage());
}
}
自己学着用调试看看有没有读到值,读到的值有没有大小写问题
不会调试用System.out.println看看他每个判断的值,流程为什么那样走
接着会弹出另一个窗口.继续写另一个窗口怎么弄
在这个窗口生成另一个窗口的实例
或者在构造函数里传入你要传入的变量,方法应该很多你自己根据自己的情况
第二个问题:如果能登陆,把自己的窗体隐藏掉.this.setVisible(false);另外写个窗体把它显示就可以了xin.setVisible(true);
String name = rs.getString("Name"); //这句明显多余了...
String pwd = rs.getString("psw");
if(Name.equals(name) && psw.equals("pwd")) {
JOptionPane.showMessageDialog(null,"登陆成功!");
}
//psw.equals("pwd") 应该是 psw.equals(pwd)我没学过oa 我们用的是SQL。不知道连OA要用户和密码不
Connection con = DriverManager.getConnection(URL);
如果要用户和密码的话你后面参数应该是三个。而不光是url一个。。
第2个问题:显示另一个,只需要实例化另一个frame就可以了,再将自身dispose。