【发布时间】:2022-06-10 17:46:49
【问题描述】:
这是我的项目的登录按钮,它没有给我想要的结果。它没有将我引导至交易页面:
else if(ae.getSource()==login)
{
Conn conn=new Conn();
String cardnumber=cardTextField.getText();
String pinnumber=pinTextField.getText();
String query;
query = "select * from login where Card_Number ='"+cardnumber+"' and Pin ='"+pinnumber+"'";
try {
ResultSet rs=conn.s.executeQuery(query);
if(rs.next()){
setVisible(false);
new Transactions(pinnumber).setVisible(true);
}else{
JOptionPane.showMessageDialog(null,"Incorrect Card Number or Pin");
}
} catch (Exception e) {
System.out.println(e);
}
当我输入卡号和密码时,它只显示消息对话框,即卡号和密码不正确,尽管我输入的是数据库中的值。我正在为我的数据库使用 sqlyog。请指导我哪里出错了。
【问题讨论】:
-
1) 首先尝试使用硬编码数据执行 SQL,以确保 SQL 和与数据库的连接正常工作。 2) 然后将 SQL 转换为使用
PreparedStatement。 PreparedStatement 将使您的参数在 SQL 语句中的格式正确。有关使用 PreparedStatement 的最基本示例,请参阅:stackoverflow.com/questions/24081941/… -
使用值直接对数据库执行查询,看看是否可行