Je reçois une erreur lorsque j'essaie d'utiliser suivant, pourquoi est-il si?problème dans jdbc preparestatement
ResultSet findByUsername(String tablename,String field,String value)
{
pStmt = cn.prepareStatement("SELECT * FROM" + tablename +" WHERE ? = ? ");
pStmt.setString(1,field);
pStmt.setString(2,value);
return(pStmt.executeQuery());
}
aussi j'ai essayé la suite, mais ca marche pas trop
ResultSet findByUsername(String tablename,String field,String value)
{
String sqlQueryString = " SELECT * FROM " + tablename +" WHERE " + field + "= ? ")
pStmt =cn.prepareStatement(sqlQuery);
pStmt.setString(1, value);
return(pStmt.executeQuery());
}
Peut-être assigner à pStmt et corriger les fautes de frappe dans le deuxième exemple pourrait aider :) – Anton
La seconde ne compile pas. Il y a une parenthèse fermante au lieu d'un point-virgule à la fin de la chaîne SQL. Dans les prochaines questions, veuillez vous assurer que vous affichez du code ** REAL **, copypté à partir de votre environnement de travail, pour éviter les faux-fuyants inutiles. S'il vous plaît également copypasser les exceptions, car ils disent quelque chose sur la cause du problème. De plus, pour résoudre votre problème "syntaxe sql invalide", vous voudrez aussi copier la chaîne * effective * SQL ici, c'est-à-dire faire System.out.println (sqlQueryString); 'et copier son résultat ici. – BalusC