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

你可以试试这个!

String EmployeeName = rs.getString("数据库中的列标签(如 EmployeeName)");

System.out.println(EmployeeName);

于 2013-04-07T15:29:34.080 回答
0

正如评论中所建议的,请检查哪个名称 MsEmplyee/MsEmployee 是正确的。

这与您的问题无关,但我认为您的代码可以有一个(可能的)改进。

而不是使用

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 回答