有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

sql java sql查询错误

尽管数据库中的字段与email_chauffeurpassword相同,但在尝试运行此命令时,我一直收到一个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'

共 (2) 个答案

  1. # 1 楼答案

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

  2. # 2 楼答案

    正如错误消息所述,执行的代码使用了一个名为“email_chaffuer”的列,但数据库中没有这样的列。看起来你的代码有错

    我的建议是,修正错误,重新部署代码

    您可能还想阅读SQL injection并关闭所使用的资源(如^{},等等)