Ver Mensaje Individual
  #8 (permalink)  
Antiguo 04/05/2009, 10:56
marvi
 
Fecha de Ingreso: septiembre-2008
Mensajes: 30
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: introducir valores null en la base de datos desde java

entonces creo que tengo un error de concepto muy grande de como crear mis consultas en java...no directamente sobre la base de datos

yo cuando construyo una consulta lo hago asi por ejemplo:
Código:
String nombre= "nombre1";
String consultasql =  "Update tabla set  nombre= '"+ nombre+ "' where id=14 "

		consultasql= consultasql.replaceAll("''", "null");
		
              ModificarDatos(consultasql);
             //en esta funcion se llama a stmt.executeUpdate(consultasql);

cuando el valor de nombre tiene caracteres la consulta quedaria:

Update tabla set nombre= 'nombre1' where id=14

para otro ejemplo en el que no tuviera:
antes de remplazar las comillas simples que uqedan seguidas:
Update tabla set nombre= '' where id=14
//me da problmeas por uqe pone '' en la base de datos

si las remplazas:
Update tabla set nombre= null where id=14

// no mete el string ya uqe no muestra la cadena de caracteres "null" en la base de datos, que seria lo que pasaria si estubiese metiendo la cadena null no?
el valor modificado aparece vacio (por lo que supongo que es correcto que es null no?)

creo que es una consulta bien construida, sino por favor explicarme como debo hacerlo

eso si he encontrado un fallo,
esto solo valdria para las consultas de Insert y Update ,

para los select habria que hacer:
Código:
consultasql= consultasql.replaceAll("= ''", " is null ");
en ese caso por ejemplo quedaria
antes:
Select * from tabla where nombre= ''
despues:
select * from tabla where nombre is null

de momento no encontre fallos a esto pero por favor si despues de esta explicacion seguis viendolo mal explicarme el que exactamente,
ya qeu creo que no se esta metiendo la cadena null sino el valor null
(sino como lo compruebo)
muchisimas gracias vuestro tiempo e interes