当我尝试运行此命令时,我不断收到sql异常,尽管数据库中的字段是正确的,与email_chauffeur
和password
相同
public Chauffeur findChauffeurByEmailPwd(String email, String pwd) {
Chauffeur c = null;
try {
String req = "select * from chauffeur where email_chauffeur='" + email + "' and pwd='" + pwd + "'";
DataSource ds = DataSource.getInstance();
connection = ds.getConnection();
Statement s = connection.createStatement();
ResultSet rs = s.executeQuery(req);
if(rs.isBeforeFirst()){
rs.next();
c.setIdChauffeur(rs.getInt("id_chauffeur"));
c.setNomUser(rs.getString("nom_chauffeur"));
c.setPrenomUser(rs.getString("prenom_chauffeur"));
c.setCinUser(rs.getString("cin_chauffeur"));
c.setTelUser(rs.getInt("tel_chauffeur"));
c.setEmailUser(rs.getString("email_chauffeur"));
c.setPwdUser(rs.getString("pwd"));
c.setAdresseUser(rs.getString("adresse_chauffeur"));
c.setNote(rs.getInt("note_chauffeur"));
c.setNotifUser(rs.getInt("notif_chauffeur"));
}
} catch (SQLException ex) {
Logger.getLogger(ChauffeurDAO.class.getName()).log(Level.SEVERE, null, ex);
}
return c;
}
错误:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'email_chaffeur' in 'where clause'
答案 0 :(得分:0)
您正在运行过时的编译代码。删除所有已编译的.class文件并强制重建。
答案 1 :(得分:0)
如错误消息所述,执行的代码使用名为" email_chaffeur"但是数据库中没有这样的列。看起来您的代码中有拼写错误。
我的建议,解决错误,重新部署代码。
您可能还想了解SQL injection并关闭所使用的资源(例如Connection
等)