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

[SOLUCIONADO] como se hace en java una consulta de "N" campos

Estas en el tema de como se hace en java una consulta de "N" campos en el foro de Java en Foros del Web. Hola, Estoy haciendo un programa en Java en Netbeans con Mysql y quiero hacer una consulta desde Java hacia Mysql, la consulta en Mysql la ...
  #1 (permalink)  
Antiguo 28/04/2014, 13:57
 
Fecha de Ingreso: septiembre-2013
Mensajes: 37
Antigüedad: 10 años, 7 meses
Puntos: 1
como se hace en java una consulta de "N" campos

Hola,

Estoy haciendo un programa en Java en Netbeans con Mysql y quiero hacer una consulta desde Java hacia Mysql,
la consulta en Mysql la tengo asi:

SELECT * FROM clientes WHERE expediente = 1234567 OR expediente = 1234567 OR expediente = 6189084;

y me da los valores correctamente en la consulta de Mysql....

En Java tengo un (campo de texto) donde le pasamos el numero del expediente a buscar y lo que busco es que el
cliente ponga en el (campo de texto) el numero del expediente(,) numero del expediente(,) numero del expediente, etc
hasta "N" veces.

¿Cómo quedaría el método en Java que reciba "N" campos separados por (,) y que cuando el método detecte una (,) agregue automáticamente
un (OR expediente =) para que se vayan agregando los "N" campos ingresados?

estoy checando pero no he podido dar con la solucion, estare investigando...

Si alguien tiene alguna pista se los agradecería mucho!!

muchas gracias!!
  #2 (permalink)  
Antiguo 28/04/2014, 15:43
 
Fecha de Ingreso: noviembre-2010
Ubicación: en las nubes
Mensajes: 56
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: como se hace en java una consulta de "N" campos

muy simple.
supongamos que tienes un array de tipo String de nombre campos[]
Código Javascript:
Ver original
  1. String acumulador=""
  2. for(String campo:campos ){
  3. acumulador+=","+campo;
  4. }
  5. if(acumulador.charAt(0)==','){
  6. acumulador.substring(1, acumulador.length());
  7. }

la idea es concatenar los campos , y luego eliminar la primera coma.
luego agregarla a la consular.
String query="SELECT" +acumulador+ "FROM clientes WHERE expediente = 1234567 OR expediente = 1234567 OR expediente = 6189084;"
__________________
la mejor soluciones no es la mas complicada, si no con la mejor ingenio
  #3 (permalink)  
Antiguo 29/04/2014, 10:13
 
Fecha de Ingreso: septiembre-2013
Mensajes: 37
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: como se hace en java una consulta de "N" campos

no entendí muy bien lo del acumulador.

tengo un método que recibe una cadena de tipo String, en esa cadena van a estar todos los expedientes que teclee el usuario con todo y comillas, ¿se puede alguna función en java que me cambie las comillas por "'OR = expediente'"???

Código Java:
Ver original
  1. public void reciboString(numExpedientes) {
  2.  
  3. función que reemplace todas las (comillas) que contenga la variable numExpedientes por "'OR = expediente'"
  4. }

creo que eso seria lo que ocupo.
  #4 (permalink)  
Antiguo 29/04/2014, 10:57
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: como se hace en java una consulta de "N" campos

Para empezar hacer un OR de esas características es un error, para eso tienes IN

http://www.w3schools.com/sql/sql_in.asp

Lo segundo es que por razones de seguridad se debe evitar siempre generar las consultas a partir de los datos, lo recomendable es trabajar con PreparedStatement y completarla con datos.

http://www.chuidiang.com/java/mysql/...java-mysql.php

Por desgracia, los PreparedStatement y los IN no se llevan bien, aunque dependiendo cómo sea la aplicación te lo puedes permitir.

http://www.javaranch.com/journal/200...l200510.jsp#a2

Por último, existen frameworks (Hibernate, MyBatis) para trabajar con bases de datos que te permiten hacer esto fácilmente, pero requieren un aprendizaje extra.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #5 (permalink)  
Antiguo 29/04/2014, 12:22
 
Fecha de Ingreso: septiembre-2013
Mensajes: 37
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: como se hace en java una consulta de "N" campos

Muchas gracias Xerelo por la información proporcionada...esta muy clara y es lo que necesitaba para solucionar el método!!

Muchas gracias!!

Etiquetas: campos, netbeans, programa, valor
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 18:40.