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

Problema con Jtable y la BD.

Estas en el tema de Problema con Jtable y la BD. en el foro de Java en Foros del Web. Buenas comunidad! Quisiera que me ayuden con un problema que me tiene ya estresado, estoy en un proyecto y necesito guardar los datos de una ...
  #1 (permalink)  
Antiguo 04/12/2012, 08:10
 
Fecha de Ingreso: diciembre-2012
Mensajes: 6
Antigüedad: 11 años, 5 meses
Puntos: 0
Problema con Jtable y la BD.

Buenas comunidad!
Quisiera que me ayuden con un problema que me tiene ya estresado, estoy en un proyecto y necesito guardar los datos de una Jtable a la base de datos, viendo en el foro logre utilizar un código y es este en conclusión.

Cita:
public void insertarDatos(String cant, String cod, String des,String pu,String subt)
{
Connection cn=null;
cConecction cc=new cConecction();
cn=cc.mkConection();

try{
Statement st=null;
st=cn.createStatement();

st.executeUpdate("INSERT INTO pedidos (cant, codig, descr, preu, subt)"+ "values ('"+cant+"','"+cod+"','"+des+"','"+pu+"','"+subt+" ')"); }
catch(SQLException e){
JOptionPane.showMessageDialog(null, "ERROR"+e.getMessage());
}
}


public void capturar(){





for(int i = 0; i <= t_comp.getRowCount(); i++){

String Cantidad = t_comp.getValueAt(i, 0).toString();
String Codigo = t_comp.getValueAt(i, 1).toString();
String Descripcion= t_comp.getValueAt(i, 2).toString();
String Precio_Unitario= t_comp.getValueAt(i, 3).toString();
String Subtotal= t_comp.getValueAt(i, 4).toString();
this.insertarDatos(Cantidad, Codigo, Descripcion, Precio_Unitario,Subtotal);

}


}
Después de ejecutarlo, si la información se guarda en la base de datos pero a pesar de ello me sale un error, es este
"Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException"
Quisiera saber si mi código esta mal o quizá no es el correcto, quizá puedan ayudarme a utilizar otro.
Gracias de ante mano!
  #2 (permalink)  
Antiguo 04/12/2012, 08:57
Avatar de hschimpf  
Fecha de Ingreso: junio-2009
Ubicación: in the World Wide Web
Mensajes: 140
Antigüedad: 14 años, 11 meses
Puntos: 17
Respuesta: Problema con Jtable y la BD.

Cita:
Iniciado por and3rsn Ver Mensaje
Código Java:
Ver original
  1. ...
  2. public void capturar() {
  3. for(int i = 0; i <= t_comp.getRowCount(); i++){
  4. String Cantidad = t_comp.getValueAt(i, 0).toString();
  5. ...
Estas recorriendo desde la fila 0 (variable i) a la fila X (total de filas t_comp.getRowCount()). Si tienes 5 filas por ejemplo, la variable i llega a tener el valor 5, el cual no existe, porque ti mayor indice es 4, el cual corresponde a la 5ta fila. Debes recorrer hasta que i sea < a t_comp.getRowCount(), no <=.

Suerte!
__________________
Hermann D. Schimpf
Visita mis repositorios de:
Clases Java: http://code.google.com/p/javaclassesrepository/
Clases PHP: http://code.google.com/p/phpclassesrepository/
  #3 (permalink)  
Antiguo 04/12/2012, 10:47
 
Fecha de Ingreso: diciembre-2012
Mensajes: 6
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema con Jtable y la BD.

Hola hschimpf!
Gracias por responder, en un principio vi tan notoria tu buena respuesta, pero al probarlo nuevamente salio mal, me sigue dando el mismo error, estoy pensando en si habrá otro tipo de código que cumpla las mismas funciones o sigo con esto, que me recomiendas?, gracias por la ayuda, espero tu respuesta :)
  #4 (permalink)  
Antiguo 04/12/2012, 10:49
Avatar de hschimpf  
Fecha de Ingreso: junio-2009
Ubicación: in the World Wide Web
Mensajes: 140
Antigüedad: 14 años, 11 meses
Puntos: 17
Respuesta: Problema con Jtable y la BD.

Exactamente en que nro de linea salta la excepcion java.lang.NullPointerException?
Seria de gran ayuda que postearas eso.

Suerte!
__________________
Hermann D. Schimpf
Visita mis repositorios de:
Clases Java: http://code.google.com/p/javaclassesrepository/
Clases PHP: http://code.google.com/p/phpclassesrepository/
  #5 (permalink)  
Antiguo 04/12/2012, 10:59
 
Fecha de Ingreso: diciembre-2012
Mensajes: 6
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema con Jtable y la BD.

Código Javascript:
Ver original
  1. for(int i = 0; i < t_comp.getRowCount(); i++){
  2.          
  3.        **String Cantidad = t_comp.getValueAt(i, 0).toString();**
  4.        String Codigo = t_comp.getValueAt(i, 1).toString();
  5.        String Descripcion= t_comp.getValueAt(i, 2).toString();
  6.        String Precio_Unitario= t_comp.getValueAt(i, 3).toString();
  7.        String Subtotal= t_comp.getValueAt(i, 4).toString();
  8.        
  9.        this.insertarDatos(Cantidad, Codigo, Descripcion, Precio_Unitario,Subtotal);

Exactamente en la linea que tiene los dos asteriscos, espero tu ayuda, Gracias.
  #6 (permalink)  
Antiguo 04/12/2012, 11:03
Avatar de hschimpf  
Fecha de Ingreso: junio-2009
Ubicación: in the World Wide Web
Mensajes: 140
Antigüedad: 14 años, 11 meses
Puntos: 17
Respuesta: Problema con Jtable y la BD.

Suena a lo que inicialmente te respondi. Que la variable i tiene un valor mayor a la cantidad de filas.
Realiza lo siguiente asi tenemos datos de depuracion:
Agrega al inicio del for salidas a consola para ver los valores:
Código Java:
Ver original
  1. ...
  2. System.out.println("Cantidad filas: " + t_comp.getRowCount());
  3. for(int i = 0; i < t_comp.getRowCount(); i++){
  4.    System.out.println("Posicion actual i: " + i);
  5.    System.out.println("Columna uno de la fila "+i+": " + t_comp.getValueAt(i, 0));
  6.    String Cantidad = t_comp.getValueAt(i, 0).toString();
  7. ...

Muestra la salida en consola de esta prueba asi podemos ayudarte

Suerte!
__________________
Hermann D. Schimpf
Visita mis repositorios de:
Clases Java: http://code.google.com/p/javaclassesrepository/
Clases PHP: http://code.google.com/p/phpclassesrepository/
  #7 (permalink)  
Antiguo 04/12/2012, 11:11
 
Fecha de Ingreso: diciembre-2012
Mensajes: 6
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema con Jtable y la BD.

Gracias por tu ayuda hschimpf!

Aquí los resultados de consola:

Estableciendo conexion con jdbc:odbc:MiOrigen
Conexion establecida con: jdbc:odbc:MiOrigen
Posicion actual i: 2
Columna uno de la fila 2: 3
Estableciendo conexion con jdbc:odbc:MiOrigen
Conexion establecida con: jdbc:odbc:MiOrigen
Posicion actual i: 3
Columna uno de la fila 3: null
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
  #8 (permalink)  
Antiguo 04/12/2012, 11:15
Avatar de hschimpf  
Fecha de Ingreso: junio-2009
Ubicación: in the World Wide Web
Mensajes: 140
Antigüedad: 14 años, 11 meses
Puntos: 17
Respuesta: Problema con Jtable y la BD.

Cuantas filas tenes? No agregaste la linea antes del bucle?
Código Java:
Ver original
  1. ...
  2. System.out.println("Cantidad filas: " + t_comp.getRowCount());
  3. ...

Suerte!
__________________
Hermann D. Schimpf
Visita mis repositorios de:
Clases Java: http://code.google.com/p/javaclassesrepository/
Clases PHP: http://code.google.com/p/phpclassesrepository/
  #9 (permalink)  
Antiguo 04/12/2012, 11:20
 
Fecha de Ingreso: diciembre-2012
Mensajes: 6
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema con Jtable y la BD.

Lo sieento, no vi todos los datos que estaban mas arriba, aqui todo, no enteindo porq salio 18, pero bueno solo ingrese ala tabla 3 filas de datos.

Estableciendo conexion con jdbc:odbc:MiOrigen
Conexion establecida con: jdbc:odbc:MiOrigen
Cantidad filas: 18
Posicion actual i: 0
Columna uno de la fila 0: 1
Estableciendo conexion con jdbc:odbc:MiOrigen
Conexion establecida con: jdbc:odbc:MiOrigen
Posicion actual i: 1
Columna uno de la fila 1: 2
Estableciendo conexion con jdbc:odbc:MiOrigen
Conexion establecida con: jdbc:odbc:MiOrigen
Posicion actual i: 2
Columna uno de la fila 2: 3
Estableciendo conexion con jdbc:odbc:MiOrigen
Conexion establecida con: jdbc:odbc:MiOrigen
Posicion actual i: 3
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
  #10 (permalink)  
Antiguo 04/12/2012, 11:40
Avatar de hschimpf  
Fecha de Ingreso: junio-2009
Ubicación: in the World Wide Web
Mensajes: 140
Antigüedad: 14 años, 11 meses
Puntos: 17
Respuesta: Problema con Jtable y la BD.

Ahi esta tu problema entonces, si ingresaste 3 filas, el indice mayor es 2 (0: primera fila, 1: segunda, 2: tercera)
Por consecuencia, al llegar al indice 3, salta la excepcion.

Suerte!
__________________
Hermann D. Schimpf
Visita mis repositorios de:
Clases Java: http://code.google.com/p/javaclassesrepository/
Clases PHP: http://code.google.com/p/phpclassesrepository/
  #11 (permalink)  
Antiguo 04/12/2012, 12:01
 
Fecha de Ingreso: diciembre-2012
Mensajes: 6
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema con Jtable y la BD.

Acabo de intentar restandole 1 y suamandole a todas las variables, por que mi lógica era solo sumarle pero aun asi me sigue botando que al 3 llega a NULL y error. cual es el problema, o cual es tu solución, de la cual no me doy cuenta :(
  #12 (permalink)  
Antiguo 04/12/2012, 13:51
Avatar de hschimpf  
Fecha de Ingreso: junio-2009
Ubicación: in the World Wide Web
Mensajes: 140
Antigüedad: 14 años, 11 meses
Puntos: 17
Respuesta: Problema con Jtable y la BD.

Tu tabla siempre contiene un valor en la primera columna? Porque segun la depuracion la 3ra fila no posee ningun valor en la primera columna.

Suerte!
__________________
Hermann D. Schimpf
Visita mis repositorios de:
Clases Java: http://code.google.com/p/javaclassesrepository/
Clases PHP: http://code.google.com/p/phpclassesrepository/

Etiquetas: jtable, 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 19:25.