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

JTextField + MySQL

Estas en el tema de JTextField + MySQL en el foro de Java en Foros del Web. Hola, espero alguien pueda ayudarme porque imagino sera una tonteria, pero estoy bloqueada. Tengo una serie de JTextField, de ellos se recogen los datos para ...
  #1 (permalink)  
Antiguo 20/05/2008, 06:43
 
Fecha de Ingreso: octubre-2007
Mensajes: 3
Antigüedad: 16 años, 6 meses
Puntos: 0
JTextField + MySQL

Hola, espero alguien pueda ayudarme porque imagino sera una tonteria, pero estoy bloqueada.

Tengo una serie de JTextField, de ellos se recogen los datos para posteriormente meterlos en una base de datos con MySQL. Con los campos de texto no tengo ningun problema, pero con los campos int la cosa cambia.

Recojo los datos enteros asi:

int tfn=Integer.parseInt(cj7.getText());

El problema esta en que no todos los datos del formulario son obligatorios, y por ello, si el jtextfield esta vacio me salta una excepcion. ¿Como hago para que no suceda esto y poder dejarlos como campos nulos en la base de datos? ¿seria mejor que considerara todos los datos como cadenas de texto y convertirlos a entero solo cuando necesite hacer uso de ellos?

Muchas gracias
  #2 (permalink)  
Antiguo 20/05/2008, 07:36
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: JTextField + MySQL

hola, mira lo que puedes hacer para solucionar este problema es que antes de parsear lo que tiene el jTextField debes de preguntar si no es nulo por ejemplo:

Código PHP:
if(cj7.getText()!=null)
int tfn=Integer.parseInt(cj7.getText()); 
otra solucion y que es lo mas facil es manejarlo todo como string, en donde cambiaria la logica seria en la instruccion sql, recuerda que para insertar un varchar se debe poner entre ' ' y para un entero no, entonces podrias hacer lo siguiente:

instruccion sql
insert into Nombre_tabla ('VARCHAR', ENTERO, cj7.getText.toString());

al poner cj7.getText.toString() sin comillas te lo insertara bien aunque tu variable sea de tipo string y si no trae nada te insertara un null, bueno espero que te sea de ayuda y si tienes alguna otra duda me mandas un msj, bye
  #3 (permalink)  
Antiguo 20/05/2008, 12:47
 
Fecha de Ingreso: octubre-2007
Mensajes: 3
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: JTextField + MySQL

Hola, muchas gracias por tu respuesta.
Al final me he decantado por tratar todo como String, el problema que tengo ahora, esque no me deja poner cj7.getText().toString() sin las comillas y al hacerlo con comillas, funciona, pero cuando dejo el campo en blanco, en la base de datos ese campo se queda en blanco, pero no con el valor NULL que deberia tener.

Para que te hagas una idea mi instrucción es la siguiente para almacenar los datos en la base de datos:

s.execute("INSERT INTO familia VALUES("+id+",'"+cj7.getText().toString()+"',0)");
  #4 (permalink)  
Antiguo 21/05/2008, 14:45
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 15 años, 11 meses
Puntos: 5
Respuesta: JTextField + MySQL

puedes declarar una variable de tipo string y la inicializas en null, preguntas si cj7 es diferente de nulo, si si es, le asignas el valor a la variable si no no haces nada y en tu instruccion sql pones la variable, asi te aseguras de que te guarde un valor o null, bueno eso es lo que se me ocurre de momento, bye
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 15:15.