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

Consulta

Estas en el tema de Consulta en el foro de Java en Foros del Web. Hola pues la duda es asi en mi base de datos tengo un id_cliente, un nombre_cliente y una direccion, cuando consulto algun nombre que esta ...
  #1 (permalink)  
Antiguo 30/06/2011, 14:12
gwm
 
Fecha de Ingreso: febrero-2011
Mensajes: 74
Antigüedad: 13 años, 2 meses
Puntos: 2
Pregunta Consulta

Hola pues la duda es asi en mi base de datos tengo un id_cliente, un nombre_cliente y una direccion, cuando consulto algun nombre que esta en la base de datos existe la posibilidad que hayan varios clientes con el mismo nombre, quizas digan pero xq que no lo hago con el id, xq el usuario no conoce el id del cliente escibre el nombre que desea consultar, estoy trabajando con una clase pero esta solo me retorna un resultado y no todos los que encuentra en la BD, en la clase uso un separador para identificar cada resultado de cliente pero la pregunta es cuando son varios??
  #2 (permalink)  
Antiguo 30/06/2011, 15:52
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Consulta

Con esos datos que nos das poco se puede hacer.

Tendrías que poner el código de la clase con la que haces la conexión para ver como recuperas los resultados y explicar un poco mejor que es lo que quieres hacer.
  #3 (permalink)  
Antiguo 01/07/2011, 07:45
gwm
 
Fecha de Ingreso: febrero-2011
Mensajes: 74
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Consulta

hola alexg88 mira la clase de la que hablo es esta

Cita:
public class ConsultaCliente {

private String direccion;
private String local;

public ConsultaCliente(String direccion, String local) {
this.direccion = direccion;
this.local = local;
}

public String getDireccion() {
return direccion;
}

public String getLocal() {
return local;
}

public static String[] explode(String cadena, String separador) {
String temporal = cadena;
String item;
int ind = temporal.indexOf(separador);
Vector vector = new Vector();
while (ind != -1) {
item = temporal.substring(0, ind);
vector.addElement(item);
ind += separador.length();
temporal = temporal.substring(ind);
ind = temporal.indexOf(separador);
}
vector.addElement(temporal);
ind = vector.size();
String[] arreglo = new String[ind];
for (int i = 0; i < ind; i++) {
arreglo[i] = (String) vector.elementAt(i);
}
return arreglo;
}

public static ConsultaCliente getCliente(String cadena) {
int numCampos = 2;
String[] arreglo = explode(cadena, "-?-");
int lon = arreglo.length;
if (lon != numCampos) {
return null;
}
ConsultaCliente CsltClnt = new ConsultaCliente(arreglo[0], arreglo[1]);
return CsltClnt;
}
}
Cuando realizo una consulta de algun cliente por ejemplo, utilizo esta para que me separe la informacion del cliente que pido que es direccion y local, pero solo cuando me retorna un resultado y yo se que tengo mas en la BD pero no me los muestra todos todo solo el primer registro que encuentra
  #4 (permalink)  
Antiguo 01/07/2011, 08:32
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Consulta

Creo que te complicas mucho con esa clase que tienes pero es otra cosa aparte.

En la clase que me muestras no estás realizando ninguna conexión a la base de datos. Necesito que me muestre como realizas la conexión y la recuperación de los datos.
  #5 (permalink)  
Antiguo 01/07/2011, 08:39
gwm
 
Fecha de Ingreso: febrero-2011
Mensajes: 74
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Consulta

Bueno te explico lo ke realizo es una aplicacion movil todo se realiza atravez del movil, la coneccion a la base de datos y donde le paso los parametros de busqueda la realizo aca

Código PHP:
Ver original
  1. <?php
  2. include_once('ConectorBD.class.php');
  3.  
  4. if(isset($_POST['Busqueda']) && isset ($_POST['opciones'])){
  5.  
  6.     $var2 = $_POST['Busqueda'];
  7.     $var3 = $_POST['opciones'];
  8.    
  9.     $base = new ConectorBD();
  10.     $base->abrirConexion();
  11.    
  12.     if($var3 == 'Cliente'){
  13.    
  14.     //$sql = "SELECT nombre_cliente, local, direccion FROM tbl_pedido WHERE nombre_cliente LIKE '%" . $var2 . "%'";
  15.     $sql = "SELECT local, direccion FROM tbl_pedido WHERE nombre_cliente = '" . $var2 . "'";   
  16.    
  17.     $result = $base->ejecutar($sql);
  18.    
  19.     if( mysql_num_rows($result) > 0 ) {
  20.         while (list($dress, $local) = mysql_fetch_array($result)) {
  21.        
  22.             $sep1 = "-?-";
  23.             print "[-ok-]"  .$dress . $sep1 . $local;
  24.             return;
  25.         }
  26.        
  27.     } else {
  28.         print "[-wr-]";
  29.     }
  30.   }
  31. }else echo "Faltan datos";
  32. ?>

pero como te decia aun asi solo me devuleve un resultado de los dos que existen en la BD
  #6 (permalink)  
Antiguo 01/07/2011, 08:50
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Consulta

Ahora si que me has dejado a cuadros. ¿Qué tiene que ver el código php que acabas de poner con el código java de antes?
  #7 (permalink)  
Antiguo 01/07/2011, 09:11
gwm
 
Fecha de Ingreso: febrero-2011
Mensajes: 74
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Consulta

Mira en la aplicacion manejo una url esa url al ejecutarse hace lo que tiene la pagina php que te coloque anteriormente,

Cita:
private static final String URL_CLNT = "http://localhost:8082/Test/consulta.php";
  #8 (permalink)  
Antiguo 01/07/2011, 10:56
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Consulta

O sea, tú desde java pretendes abrir una página php que hace una conexión con una bbdd, para recuperar un listado y tratarlo desde java.

¿Es así?
__________________
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.
  #9 (permalink)  
Antiguo 01/07/2011, 11:04
gwm
 
Fecha de Ingreso: febrero-2011
Mensajes: 74
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Consulta

si algo asi, esa es la manera en que trabajo aunque la respuesta no me la muestra en una pagina web si no en una pantalla de movil
Gracias Amigo

Etiquetas: Ninguno
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 22:22.