java SQLquery错误

时间:2015-02-10 20:16:20

标签: java sql

当我尝试运行此命令时,我不断收到sql异常,尽管数据库中的字段是正确的,与email_chauffeurpassword相同

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'

2 个答案:

答案 0 :(得分:0)

您正在运行过时的编译代码。删除所有已编译的.class文件并强制重建。

答案 1 :(得分:0)

如错误消息所述,执行的代码使用名为" email_chaffeur"但是数据库中没有这样的列。看起来您的代码中有拼写错误。

我的建议,解决错误,重新部署代码。

您可能还想了解SQL injection并关闭所使用的资源(例如Connection等)