none
[RESUELTO]-no se controlo nullreferenceexception- Referencia nula al no insertar una imagen a la base de datos RRS feed

  • Pregunta

  • Hola! quería saber por qué me da error al no cargar una imagen, hice un pequeño sistema en c# para guardar información, pero no puedo solucionar este error si no quiero guardar imágenes, mi código es este:


               
      if (pictureBoxImg1 != null)
                {
                    BDconexion conImagen = new BDconexion();
    
                    string queryImagen = "Insert into Imagenes(Id_TipoInmueble, Id_Inmueble, Imagen) values ((select top(1) Inmuebles.Id_Codigo from Inmuebles order by Id_Codigo desc), (select top(1) TipoInmueble4.Id_TipoInmueble from TipoInmueble4 order by Id_TipoInmueble desc), @Imagen)";
                    conImagen.cnx.Open();
                    SqlCommand cmdImagen = new SqlCommand(queryImagen, conImagen.cnx);
                    cmdImagen.Parameters.Add("@Imagen", SqlDbType.Image);
                    cmdImagen.Parameters["@Imagen"].Value = pictureBoxImg1;
    
                    System.IO.MemoryStream ms = new System.IO.MemoryStream();
                   
                        pictureBoxImg1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                        cmdImagen.Parameters["@Imagen"].Value = ms.GetBuffer();
                    
                    cmdImagen.ExecuteNonQuery();
                    conImagen.cnx.Close();        
    
                }
    


    • Editado ManonLescaut viernes, 8 de noviembre de 2019 22:13
    domingo, 3 de noviembre de 2019 21:58

Respuestas

  • Hola. Lo más seguro es que la propiedad Image sea null.

    Modifica tu condición inicial así para evitar dicho error

    if (pictureBoxImg1!= null & pictureBoxImg1.Image!=null)
    {} 


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    domingo, 3 de noviembre de 2019 23:26
    Moderador

Todas las respuestas

  • En principio tiene buena pinta y debería funcionar. Bueno, sobra esta línea:

    cmdImagen.Parameters["@Imagen"].Value = pictureBoxImg1;

    pero no es motivo para que dé un error de NullReferenceException.

    ¿Dónde exactamente da el error? ¿Qué variable es la que vale null en la línea del error, según el debugger?

    domingo, 3 de noviembre de 2019 22:19
    Moderador
  • Hola! gracias por responder!

    justo en esta línea tira el error:

     pictureBoxImg1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
    domingo, 3 de noviembre de 2019 23:18
  • Hola. Lo más seguro es que la propiedad Image sea null.

    Modifica tu condición inicial así para evitar dicho error

    if (pictureBoxImg1!= null & pictureBoxImg1.Image!=null)
    {} 


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    domingo, 3 de noviembre de 2019 23:26
    Moderador
  • Hola. Lo más seguro es que la propiedad Image sea null.

    Modifica tu condición inicial así para evitar dicho error

    if (pictureBoxImg1!= null & pictureBoxImg1.Image!=null)
    {} 


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos


    genio! nunca me percaté de la propiedad Image, muchas gracias!
    lunes, 4 de noviembre de 2019 0:18