我有一个登录表单,如果登录成功。我想得到一个已记录的名称,这里看到我的代码:
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
的{{1}}。
我想是这样的:
String qry;
qry = "Select EmployeeName From MsEmplyee WHERE EmployeeID = '" + jtextField1.gettext() + "'" ;
但是当我编译时,它只打印上面的文本,而不是获取值。有人可以帮忙吗?
答案 0 :(得分:0)
正如评论中所建议的那样,请检查名称MsEmplyee / MsEmployee是否正确。
这与您的问题无关,但我认为您的代码可能会有一个(可能的)改进。
而不是使用
if(jTextField1.getText().equals(""))
最好在使用equals()方法之前使用trim()方法。因此,如果用户在jTextField1中输入空格,则在这种情况下将绕过您的检查。因此最好使用trim()方法从字符串中删除所有第一个和最后一个空格字符。
if(jTextField1.getText().trim().equals(""))
密码字段也可以这样做。
答案 1 :(得分:0)
您没有读取结果集值。
// help.IDemployee = jTextField1.getText();
help.IDemployee = rs.getString(1);
列索引从第一列的1开始。不是从0
答案 2 :(得分:0)
你可以试试这个!
String EmployeeName = rs.getString(“数据库中的列标签(类似于EmployeeName)”);
的System.out.println(EmployeeName);