• Jueves 14 de Noviembre de 2024, 20:52

Autor Tema:  Problema Al Cargar Imagen Desde Java En Mysql  (Leído 1089 veces)

david.rguez

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Problema Al Cargar Imagen Desde Java En Mysql
« en: Miércoles 14 de Febrero de 2007, 12:00 »
0
En una parte de mi aplicación, el usuario debe poder adjuntar una pequeña imagen a un registro de la base de datos, en un campo blob.

El caso es que hasta llegar al SQL todo va bien, utilizo FormFile para cargar la imagen desde el cliente y le paso el byte[] extraído mediante el método getFileData() y lo guarda bien en la variable (al menos, el tamaño es idéntico al de la imagen original); pero al ir a guardarlo en la BBDD, no lo hace, sino que ese campo blob se queda como null.

Esta es la parte del código que se encarga de almacenarlo:

Código: Text
  1.  
  2.  
  3. consulta = "UPDATE proyectos SET titulo=?,resumen=?,cod_categoria=?,bibliografia=?, claves=?";
  4.  
  5. // Si tenemos imagen y no debíamos eliminarla...
  6. if ((!eliminaImagen) && (imagen != null))
  7.       consulta = consulta + ", imagen=?";
  8.  
  9. consulta = consulta + " WHERE cod_proyecto=? AND validado = ? AND desactivado = ?";
  10.        
  11. if (cod_tipo != 1)
  12.       consulta = consulta + " AND cerrado = ?";
  13.  stmnP2 = conn.prepareStatement(consulta);
  14. // Asignación de parámetros
  15. stmnP2.setString(1,titulo);
  16. stmnP2.setString(2,resumen);
  17. stmnP2.setInt(3,cod_categoria);
  18. stmnP2.setString(4,bibliografia);
  19. stmnP2.setString(5,claves);
  20. if ((!eliminaImagen) && (imagen != null)){
  21.        stmnP2.setBytes(6,imagen);
  22.        stmnP2.setInt(7,cod_proyecto);
  23.        stmnP2.setString(8,"S");
  24.        stmnP2.setString(9,"N");
  25.        if (cod_tipo != 1)
  26.              stmnP2.setString(10,"S");
  27. }
  28. else {
  29.             stmnP2.setInt(6,cod_proyecto);
  30.             stmnP2.setString(7,"S");
  31.             stmnP2.setString(8,"N");
  32.                 if (cod_tipo != 1)
  33.                   stmnP2.setString(9,"N");
  34. }
  35.  
  36. // Ejecución de la consulta
  37. resultadoP2 = stmnP2.executeUpdate();
  38.  
  39.  
  40.  


He ido paso por paso ejecutando el programa y en ningún momento se pierde el valor de la variable "imagen", y el resultado del UPDATE no marca ningún error y tampoco se lanzan excepciones.

¿Alguien sabría decirme por qué no se almacenan?

david.rguez

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Problema Al Cargar Imagen Desde Java En Mysql
« Respuesta #1 en: Miércoles 14 de Febrero de 2007, 12:38 »
0
Ya nada, resultó que el error estaba en el último de los parámetros, que debía ser una N en lugar de una S (en el décimo) (sí, una tontería, pero eso determinaba que se buscase en el grupo de registros contrario al correcto).

Estos son los errores que más me fastidian: los que duran varios dias hasta que descubres que era la mayor chorrada del mundo >_<