sql java sql查询错误
尽管数据库中的字段与email_chauffeur
和password
相同,但在尝试运行此命令时,我一直收到一个sql异常
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'
# 1 楼答案
您正在运行过时的编译代码。删除所有已编译的文件。类文件并强制重建
# 2 楼答案
正如错误消息所述,执行的代码使用了一个名为“email_chaffuer”的列,但数据库中没有这样的列。看起来你的代码有错
我的建议是,修正错误,重新部署代码
您可能还想阅读SQL injection并关闭所使用的资源(如^{} ,等等)