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

[SOLUCIONADO] Problema con conexion

Estas en el tema de Problema con conexion en el foro de Java en Foros del Web. tengo este código para conectarme y extraer datos de dos tablas, pero al correrlo, me tira un mensaje de error. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Java: Ver ...
  #1 (permalink)  
Antiguo 24/11/2014, 20:52
Avatar de RickHerrera  
Fecha de Ingreso: noviembre-2014
Mensajes: 13
Antigüedad: 9 años, 5 meses
Puntos: 0
Problema con conexion

tengo este código para conectarme y extraer datos de dos tablas, pero al correrlo, me tira un mensaje de error.

Código Java:
Ver original
  1. baseDatos = new ConexionBD().conectar();
  2.  
  3.         String rut;
  4.         String nombres;
  5.         String apellidos;
  6.         String Edad;
  7.         Date fecha1,fecha2;
  8.         String desde, hasta,fesha;
  9.        
  10.         fecha1 = this.fechadesde.getDate();
  11.         fecha2 = this.fechahasta.getDate();
  12.            
  13.         SimpleDateFormat fechaformat = new SimpleDateFormat("yyyy-MM-dd");
  14.         SimpleDateFormat fechaformat2 = new SimpleDateFormat("dd/MM/yyyy");
  15.            
  16.         desde = fechaformat.format(fecha1);
  17.         hasta = fechaformat.format(fecha2);
  18.  
  19.         try{
  20.            
  21.             //ingresar datos a la tabla
  22.             resultados = baseDatos.consultar("SELECT b.Rut,a.Nombre, a.Apellido, a.Fecha_Nacimiento, b.Fecha_Atencion"
  23.             +"FROM `pacientes` a"
  24.             +"JOIN `diagnosticos`b ON a.Rut=b.Rut"
  25.             +"WHERE Fecha_Atencion BETWEEN '"+desde+"' AND '"+hasta+"'"
  26.             +"ORDER BY Fecha_Atencion DESC");
  27.            
  28.             System.out.println("fecha desde "+desde+" hasta "+hasta);
  29.                        
  30.             String[] fila = new String[5];
  31.            
  32.            
  33.             Date fecha_nac = new Date();
  34.             SimpleDateFormat sdf_YYYY = new SimpleDateFormat("yyyy");
  35.             SimpleDateFormat sdf_MM = new SimpleDateFormat("MM");          
  36.             //se toma la fecha actual.
  37.             Date fecha = new Date();
  38.             //se declara el formato por año y mes separados.
  39.             SimpleDateFormat formato_YYYY = new SimpleDateFormat("yyyy");
  40.             SimpleDateFormat formato_MM = new SimpleDateFormat("MM");
  41.             int mes_actual = Integer.valueOf(formato_MM.format(fecha));
  42.             int año_actual = Integer.valueOf(formato_YYYY.format(fecha));
  43.  
  44.             int edad;
  45.            
  46.            
  47.             while(resultados.next()){
  48.                    
  49.                     fila[0] = resultados.getString("Rut");
  50.                     fila[1] = resultado.getString("Diagnostico");
  51.                     fila[2] = resultado.getString("Mejoras");
  52.                    
  53.                     //se declara el formato por año y mes separados.
  54.                     int mes_nac = Integer.valueOf(sdf_MM.format(fecha_nac));
  55.                     int año_nac = Integer.valueOf(sdf_YYYY.format(fecha_nac));
  56.                    
  57.                     fecha_nac = resultados.getDate("Fecha_Nacimiento");
  58.            
  59.                     if(mes_actual >= mes_nac){ edad = año_actual - año_nac;
  60.                     }else{ edad = (año_actual - año_nac) - 1; }
  61.                    
  62.                     fila[3] = String.valueOf(edad);//String.valueOf(edad);
  63.                     fesha = fechaformat2.format(resultados.getString("Fecha_Atencion"));
  64.                     fila[4] = fesha;
  65.                
  66.                     model.addRow(fila);
  67.                                                  
  68.             }
  69.             TableRowSorter sorter = new TableRowSorter(model);
  70.                        
  71.             this.jTablaDatos.setModel(model);
  72.             this.jTablaDatos.setRowSorter(sorter);
  73.            
  74.            
  75.            
  76.         }catch(Exception e){
  77.             JOptionPane.showMessageDialog(this, "Paciente no Existe \n"+e);
  78.             limpiarcampos();}
  79.        
  80.     }

me arroja el mensaje de excepción



si alguien sabe el porque ayudenme porfavor
  #2 (permalink)  
Antiguo 24/11/2014, 22:42
 
Fecha de Ingreso: noviembre-2014
Mensajes: 2
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Problema con conexion

Hiciste la conexion exitosa con la BD ? Usas ODBC? o algún código para enlazar la BD?
  #3 (permalink)  
Antiguo 25/11/2014, 01:36
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Problema con conexion

Buenas,

Si en lugar de desperdiciar la excepcion haces esto:
}catch(Exception e){
e.printStacktrace();
JOptionPane.showMessageDialog(this, "Paciente no Existe \n"+e);
limpiarcampos();}


En consola se te mostrara toda la informacion de la pila de excepcion, como por ejemplo cual es la clase y la linea del fichero donde se esta produciendo la excepcion.

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #4 (permalink)  
Antiguo 25/11/2014, 01:55
Avatar de RickHerrera  
Fecha de Ingreso: noviembre-2014
Mensajes: 13
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Problema con conexion

La conexión esta hecha y no hay problema.

y el tema de la excepción me arroja nullpointexcepcion que se supone que es cuando un dato esta null pero no se cual puede ser.
  #5 (permalink)  
Antiguo 25/11/2014, 03:06
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Problema con conexion

Cita:
y el tema de la excepción me arroja nullpointexcepcion que se supone que es cuando un dato esta null pero no se cual puede ser.
Vuelve a leer lo que te he escrito.


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #6 (permalink)  
Antiguo 25/11/2014, 05:11
 
Fecha de Ingreso: febrero-2005
Mensajes: 39
Antigüedad: 19 años, 2 meses
Puntos: 1
Respuesta: Problema con conexion

Deja que espacios en la consulta, actualmente tu consulta es:
SELECT b.Rut,a.Nombre, a.Apellido, a.Fecha_Nacimiento, b.Fecha_AtencionFROM `pacientes` aJOIN `diagnosticos`b ON a.Rut=b.RutWHERE Fecha_Atencion BETWEEN...

En SQL mejor que sobren espacios que no que falten, así que al concatenar cadenas mucho mejor que dejes espacio al final de cada linea y al inicio en vez de en ningún lado.

Quedaria asi:

Código:
resultados = baseDatos.consultar("SELECT b.Rut,a.Nombre, a.Apellido, a.Fecha_Nacimiento, b.Fecha_Atencion "
            +" FROM `pacientes` a "
            +" JOIN `diagnosticos`b ON a.Rut=b.Rut "
            +" WHERE Fecha_Atencion BETWEEN '"+desde+"' AND '"+hasta+"'"
            +" ORDER BY Fecha_Atencion DESC");
Saludos.
  #7 (permalink)  
Antiguo 25/11/2014, 11:09
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Problema con conexion

Hola,
cuando te veas apurado de tiempo (si es que tienes un plazo de entrega) haz lo que te dice Profesor_Falken para ver donde está el problema.

Un saludo
  #8 (permalink)  
Antiguo 25/11/2014, 11:37
Avatar de RickHerrera  
Fecha de Ingreso: noviembre-2014
Mensajes: 13
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Problema con conexion

Profesor_Falken con eso pude encontrar el error y pude solucionarlo, muchas gracias.

Etiquetas: conexion, string
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 05:09.