Variable noms de colonne à l'aide de déclarations préparées à l'avance

Je me demandais si il y avait de toute façon à spécifier retourné les noms de colonnes à l'aide de déclarations préparées à l'avance.

Je suis de l'utilisation de MySQL et Java.

Quand je l'ai essayer:

String columnNames="d,e,f"; //Actually from the user...
String name = "some_table"; //From user...
String query = "SELECT a,b,c,? FROM " + name + " WHERE d=?";//...
stmt = conn.prepareStatement(query);
stmt.setString(1, columnNames);
stmt.setString(2, "x");

- Je obtenir ce type de déclaration (en cours d'impression à droite avant l'exécution).

SELECT a,b,c,'d,e,f' FROM some_table WHERE d='x'

Je voudrais voir cependant:

SELECT a,b,c,d,e,f FROM some_table WHERE d='x'

Je sais que je ne peux pas le faire pour les noms de table, tel que discuté
ici, mais je me demandais si il y avait moyen de le faire pour les noms de colonne.

Si il n'y est pas, alors, je vais juste essayer et assurez-vous que je désinfecter l'entrée afin de ne pas entraîner les vulnérabilités d'injection SQL.

InformationsquelleAutor KLee1 | 2010-06-28