Ver Mensaje Individual
  #8 (permalink)  
Antiguo 26/01/2015, 09:05
Avatar de farfamorA
farfamorA
 
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 13 años, 5 meses
Puntos: 24
Respuesta: Obtener valor max de jTxt en java y PostgreSQL

Cita:
Iniciado por roeboy2 Ver Mensaje
Pero al navegar por mi tabla persona con boton siguiente y atras me posiciono en un registro "x", y en los 3 campos visualizo los valores... hasta ahi perfecto,
Okey, perfecto.

Cita:
Iniciado por roeboy2 Ver Mensaje
cuando trato de agregar un nuevo registro con un boton nuevo los 3 campos hago que esten vacios con un "" y el campo codigo pongo en disable para que la bd de datos ponga un valor por mi y completo 2 campos restantes.
Todo bien hasta el momento.
Cita:
Iniciado por roeboy2 Ver Mensaje
Ahí es que me aparece el error ya que se agregó como codigo "" y esas comillas la bd entiende como string y para que esto no ocurra quiero obtener el valor mayor de mi codigo y sumarle 1 numero para agregar.
¿Y por qué, pequeño saltamontes, estás considerando el valor de txt_codigo.getText()? ¡No lo necesitas! ¡Ignóralo, pues la base de datos te asignará el valor del id (código)!
Envíale a la base de datos sólo los valores de nombre y teléfono, el código te lo asignará incrementalmente el motor de base de datos como ya sabes:
Cita:
Iniciado por roeboy2 Ver Mensaje
y efectivamente haciendo como dices: solo guardar los 2 campos funciona perfecto ya que mi bd esta configurado para autoincrementar.
¿Entonces? ¿Si funciona con esos dos valores, para qué consideras el valor de txt_codigo.getText()? ¡Si estás viendo que la BD va a poner el código por ti, y que funciona, entonces ya no intentes obtener el código por tu cuenta!
Mira el siguiente código, pero míralo atentamente:
Código Java:
Ver original
  1. try{
  2.     Conexion conexion = new Conexion();
  3.     PreparedStatement instruccion=conexion.conexion.prepareStatement("INSERT INTO \"public\".\"Persona\" (columna_nombre, columna_telefono) VALUES (?,?)");
  4.     instruccion.setString(1, txt_nombre.getText());
  5.     instruccion.setString(2, txt_telefono.getText());
  6.     instruccion.executeUpdate();
  7.     JOptionPane.showMessageDialog(null, "Registro Guardado");
  8.     bloquear();
  9. } catch(Exception e) {
  10.     JOptionPane.showMessageDialog(null, "Problema al guardar"+e);
  11. }
¿En qué momento usé txt_codigo.getText()? En ningún momento. ¿Por qué? Nuevamente: PORQUE NO LO NECESITO. Al no usarlo, no obtengo el error. Muerto el perro se acaba la rabia. Fin del problema.