【发布时间】:2013-01-21 05:18:51
【问题描述】:
我有一个登录表单,如果登录成功。我想获取记录的名称,这里查看我的代码:
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());
}
所以我想显示来自MSEmployee 的EmployeeName,它来自EmployeeID。
我认为是这样的:
String qry;
qry = "Select EmployeeName From MsEmplyee WHERE EmployeeID = '" + jtextField1.gettext() + "'" ;
但是当我编译时,它只是打印上面的文本,而不是获取值。有人可以帮忙吗?
【问题讨论】:
-
你忘了 "rs = con.executeQuery(qry)"; ??
-
您是否尝试过使用某些 SQL 工具直接在数据库上执行生成的查询? MsEmployee 表的结构是什么?第二个代码sn-p有错别字,你用
MsEmplyee而不是MsEmployee -
同意 András Kerekes。哪个是正确的使用 - MsEmplyee / MsEmployee?
-
注意 SQL 注入。永远不要将 gui 组件直接放在查询中。在您的情况下,您应该使用带有“?”的 PreparedStatement以避免这个问题。
标签: java sql database swing resultset