In molti linguaggi di programmazione qualcosa di simile a questo è possibile per le dichiarazioni preparate:Utilizzando una variabile invece di un indice parametro con un JDBC preparato dichiarazione
PreparedStatement statement = connection.prepareStatement(
"SELECT id FROM Company WHERE name LIKE ${name}");
statement.setString("name", "IBM");
Ma non con java.sql.PreparedStatement. In Java si devono usare gli indici dei parametri:
PreparedStatement statement = connection.prepareStatement(
"SELECT id FROM Company WHERE name LIKE ?");
statement.setString(1, "IBM");
Esiste una soluzione per lavorare con variabili stringa come nel primo esempio? "$ {. *}" Non è utilizzato da qualche altra parte nel linguaggio SQL o ci sono conflitti? Perchè allora lo implementerei da solo (analizzando la stringa SQL e sostituendo ogni variabile con "?" E poi facendo in modo Java).
saluti, Kai
Mi perplesso troppo. http://www.javaworld.com/javaworld/jw-04-2007/jw-04-jdbc.html ha qualcosa che ho usato più volte. – akarnokd
Hey kd304, mi chiedo perché non hai lasciato il tuo messaggio come risposta invece di usare un commento. Perché penso che sia il modo per me di risolvere questo problema. – Zardoz
@tokel: Non ero sicuro che la tua domanda fosse teorica o meno e il mio commento in realtà non risponde alla tua domanda scritta. – akarnokd