以下的代码 是我写的登陆窗口的一部分 为什么我输入正确的用户名和密码 却报告说该用户不存在.还有就是
我想输入了正确的用户和密码 接着会弹出另一个窗口.继续写另一个窗口怎么弄? 在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());
        }
    }

解决方案 »

  1.   

    这个问题帮不了你测试,
    自己学着用调试看看有没有读到值,读到的值有没有大小写问题
    不会调试用System.out.println看看他每个判断的值,流程为什么那样走
    接着会弹出另一个窗口.继续写另一个窗口怎么弄
    在这个窗口生成另一个窗口的实例
    或者在构造函数里传入你要传入的变量,方法应该很多你自己根据自己的情况
      

  2.   

    你的代码写的有点问题的.这句不对了if(Name.equals(name)   &&   psw.equals("pwd")) .pwd用引号干吗?粗心了.
    第二个问题:如果能登陆,把自己的窗体隐藏掉.this.setVisible(false);另外写个窗体把它显示就可以了xin.setVisible(true);
      

  3.   

      if(rs.next())   { 
                                    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一个。。
      

  4.   

    if(Name.equals(name)       &&       psw.equals(pwd))    这里的双引号我去掉了.可是还是不行...同样提示用户不存在!OA用户的问题.我没建过OA 用户.是不是需要建立一个?
      

  5.   

    第1个问题:你的if比较的语句密码那多加了一个双引号
    第2个问题:显示另一个,只需要实例化另一个frame就可以了,再将自身dispose。