Instruction SQL select avec la clause where

comment pourrais-je écrire cette instruction sql sans valeur codée en dur?

resultSet = statement
    .executeQuery("select * from myDatabase.myTable where name = 'john'");
//this works

plutôt quelque chose comme:

String name = "john"; 
resultSet = statement
    .executeQuery("select * from myDatabase.myTable where name =" + name);
//Unknown column 'john' in 'where clause' at
//sun.reflect.NativeConstructorAccessorImpl.newInstance0...etc...

merci d'avance..

Utiliser les requêtes préparées
L'une des raisons pour lesquelles les gens vous disent d'utiliser les requêtes préparées, c'est parce que ce que vous essayez de faire dans votre deuxième exemple est vulnérable à un Attaque par Injection Sql.
peut-être vous devriez ouvrir eclipse et de l'essayer... alors vous verrez que vous avez tort..

OriginalL'auteur BigBug | 2013-01-28