0

ログインフォームがあり、ログインに成功した場合。ログに記録された名前を取得したいのですが、ここで私のコードを見てください:

 try {
             if(jTextField1.getText().equals(""))
        {
              JOptionPane.showMessageDialog(null, "Pleass Input Username");
        }
        else if(jPasswordField1.getText().equals(""))
        {
              JOptionPane.showMessageDialog(null, "Please Input Password");
        }
        else
        {
            rs = con.executeQuery("SELECT * FROM MsEmployee WHERE EmployeeID='"+jTextField1.getText()+"' And Password='"+jPasswordField1.getText()+"'");
            if (rs.next())
            {
             help.IDemployee = jTextField1.getText(); 
             JOptionPane.showMessageDialog(null, "Login Success! welcome "+ help.IDemployee);
             MainMenu mm = new MainMenu(true);
             mm.setVisible(true);
             this.dispose();
            }else
            {
            JOptionPane.showMessageDialog(null, "Username not found!!");
            }
        }
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null,ex.getMessage());
        }

EmployeeNameそこで、からMSEmployee取得したを表示したいと思いますEmployeeID。私はこのようなことを考えます:

String qry;
qry = "Select EmployeeName From MsEmplyee WHERE EmployeeID = '" + jtextField1.gettext() + "'" ; 

しかし、コンパイルすると、値を取得するのではなく、上記のテキストを出力するだけです。誰でも助けてもらえますか?

4

3 に答える 3

0

コメントで提案されているように、MsEmplyee/MsEmployee のどちらの名前が正しいかを確認してください。

これはあなたの問題とは関係ありませんが、コードに 1 つの (可能な) 改善点があると思います。

使用する代わりに

if(jTextField1.getText().equals(""))

equals() メソッドを使用する前に、trim() メソッドを使用することをお勧めします。したがって、ユーザーが jTextField1 にスペースを入力すると、この場合はチェックがバイパスされます。したがって、trim() メソッドを使用して、文字列から最初と最後の空白文字をすべて削除することをお勧めします。

if(jTextField1.getText().trim().equals(""))

パスワードフィールドについても同じことができます。

于 2013-01-21T06:26:54.503 に答える
0

結果セットの値を読み取っていません。

// help.IDemployee = jTextField1.getText(); 
help.IDemployee = rs.getString(1);

列インデックスは、最初の列の 1 から始まります。0からではありません

于 2013-01-21T06:38:12.263 に答える
0

あなたはこれを試すことができます!

String EmployeeName = rs.getString("データベース内の列ラベル (EmployeeName など)");

System.out.println(従業員名);

于 2013-04-07T15:29:34.080 に答える