我将文件PDF上传到MySQL数据库但是更新方法没有工作它继续给我一个错误,我试图解决它但不能工作 那就是方法,
public void updateProjet(String location,String img) throws Exception
{
// Créer une connexion JDBC Oracle sur la Base de Données
.. ici connection ..
String cad = "update projet set NomProjet='"+this.getnom_projet()+
"', DateDeb='"+this.getdd()+ "', DateFin='"+this.getdf()+
"', iduser='"+this.getid()+ "',IdProjet='"+this.getnprojet()+
"',?,? where idpro='"+this.getidpro()+"'";
PreparedStatement pStmt = conn.prepareStatement(cad);
pStmt.setString(1, img);
File fichier = new File(location);
FileInputStream io = new FileInputStream(fichier);
pStmt.setBinaryStream(2, (InputStream)io,(int)fichier.length());
pStmt.executeUpdate();
}
错误是:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Exercices2_corrige_2.pdf',_binary'%PDF-1.4
%Çì�¢
5 0 obj
<</Length 6 0 R/Filter' at line 1
请帮助和感谢,
答案 0 :(得分:0)
您似乎没有为语句的参数化值设置列名。
你必须使用类似的东西:
columnName=?
你单独使用?
的地方。
正如评论中所预测的那样,为所有参数请求使用参数化参数来防止SQL注入漏洞是一种更好的做法。