Foros del Web » Programación para mayores de 30 ;) » Java »

Insertando variable en consulta.

Estas en el tema de Insertando variable en consulta. en el foro de Java en Foros del Web. Hola que tal y buenas noches les quiero hacer una pregunta se puede insertar una variable java en una consulta SQL. Lo que quiero hacer ...
  #1 (permalink)  
Antiguo 23/05/2012, 22:14
 
Fecha de Ingreso: mayo-2011
Mensajes: 39
Antigüedad: 12 años, 9 meses
Puntos: 2
Pregunta Insertando variable en consulta.

Hola que tal y buenas noches les quiero hacer una pregunta se puede insertar una variable java en una consulta SQL.

Lo que quiero hacer es mas o menos lo siguiente

String selección = request.getParameter("mat1"); // en esta linea recupero el dato
y despues en un ResultSet :

rs= st.executeQuery("Select * from comentarios where materia= 'selección'")
// donde selección es el string recuperado por el request.

Es factible hacer esto??? ojala me pudieran ayudar con un ejemplo.
Gracias y buena noche.
  #2 (permalink)  
Antiguo 24/05/2012, 08:00
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 1 mes
Puntos: 360
Respuesta: Insertando variable en consulta.

Si es factible, pero esto es un tema de java y no de Oracle.
Ya reporté tu tema para que sea movido.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 24/05/2012, 09:27
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Insertando variable en consulta.

Sí, pero tendrías que sacar la variable del texto

String seleccion = request.getParameter("mat1");
rs= st.executeQuery("Select * from comentarios where materia= '" + seleccion + "'");

¡¡¡No uses tildes en los nombres de variable!!!
Si quieres usar busqueda por contenido que contenga el string se puede alterar a

rs= st.executeQuery("Select * from comentarios where materia LIKE '%" + seleccion + "%'");

Así puedes meter un texto engua y te podría salir Lengua española, lengua inglesa etc.

Si quieres controlar mayusculas o minusculas y siendo oracle la BD mejor pasarlo todo a un tipo de tamaño:

rs= st.executeQuery("Select * from comentarios where UPPER(materia) LIKE '%" + seleccion.toUpperCase() + "%'");

Así no importará si escribes LENGUA o lengua o en la base de datos hay Lengua... esto como ejemplo... de ahí tú saca lo que necesites :D
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #4 (permalink)  
Antiguo 24/05/2012, 11:53
Avatar de Lalounam  
Fecha de Ingreso: mayo-2012
Ubicación: México D.F.
Mensajes: 59
Antigüedad: 11 años, 10 meses
Puntos: 19
Respuesta: Insertando variable en consulta.

Si, lo que quieres hacer es posible usando el EntityManager:http://docs.oracle.com/javaee/5/api/javax/persistence/EntityManager.html, en el cual puedes hacer persistencia de un objeto tal cual, sin más. Obviamente esto requiere una relación estrecha entre las tablas y los objetos, así como unas cuantas anotaciones en le código. Además te permite hacer algo como:

Código Javascript:
Ver original
  1. em.createQuery("FROM myTabla mt WHERE mt.algo = :nombreParam").setParameter("nombreParam", valorParam);

Etiquetas: consulta+oracle, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:40.