preparado en muchos lenguajes de programación algo como esto es posible para comandos preparados:El uso de una variable en lugar de un índice de parámetro con un JDBC declaración
PreparedStatement statement = connection.prepareStatement(
"SELECT id FROM Company WHERE name LIKE ${name}");
statement.setString("name", "IBM");
Pero no con java.sql.PreparedStatement. En Java, uno tiene que usar índices de parámetros:
PreparedStatement statement = connection.prepareStatement(
"SELECT id FROM Company WHERE name LIKE ?");
statement.setString(1, "IBM");
¿Existe alguna solución para trabajar con variables de cadena como en el primer ejemplo? ¿No se usa "$ {. *}" En otro lugar del lenguaje SQL, o hay algún conflicto? Porque entonces lo implementaría yo mismo (analizando la cadena SQL y reemplazando todas las variables por "?" Y luego haciéndolo de la manera Java).
Saludos, Kai
Me desconcertado también. http://www.javaworld.com/javaworld/jw-04-2007/jw-04-jdbc.html tiene algo que utilicé varias veces. – akarnokd
Hola kd304, me pregunto por qué no dejaste tu mensaje como respuesta en lugar de usar un comentario. Porque creo que es la forma en que puedo resolver ese problema. – Zardoz
@tokel: No estaba seguro de que tu pregunta fuera teórica o no y mi comentario realmente no responde a tu pregunta escrita. – akarnokd