Grabar imagen de un picturebox en bbdd sql server express

Respondida Grabar imagen de un picturebox en bbdd sql server express

  • viernes, 31 de julio de 2009 16:01
     
     
    Tengo un picturebox que cargo con una imagen y que tengo que guardar en una bbdd sql express en un campo definido como image.
    Grabo a través de un table adapter, pero al usar la query Insert me da el siguiente error cuando doy el valor del campo imagen como FotoPicturebox.image:
    Error 1 Un valor de tipo 'System.Drawing.Image' no se puede convertir en 'Byte'. 

    Estoy utilizando la query insert del table adapter porque no se porque motivo al usar Update no me graba nada en la bbdd.
    Como lo tengo que grabar?
    Gracias

Todas las respuestas

  • viernes, 31 de julio de 2009 16:18
    Moderador
     
     
    "patrope" escribió:

    > Estoy utilizando la query insert del table adapter

    ¿Esa consulta la has creado tú manualmente?

    Si en el origen de datos el campo está definido del tipo System.Byte(), y si el control PictureBox está enlazado con su correspondiente control BindingSource, entiendo que no tendrías que obtener esa excepción al querer actualizar la base de datos.

    En el siguiente enlace explico cómo guardar archivos en una base de datos sin utilizar objetos TableAdapter:

    Cómo guardar archivos en una base de datos
    http://mvp-access.es/softjaen/bases/adonet/sjadonet13.htm

    Y en el siguiente, cómo leerlos:

    Cómo leer los archivos contenidos en una base de datos
    http://mvp-access.es/softjaen/bases/adonet/sjadonet14.htm


    Enrique Martínez [MS MVP - VB]
  • viernes, 31 de julio de 2009 16:24
    Moderador
     
     Respondida
    hola

    revisa estos dos links

    Storing and Retrieving Images from SQL Server using Microsoft .NET

    Como guardar una imagen contenida en un picturebox a un campo Image en SQL Server 2005

    veras en estos como haces que la imagen sea pasada a un System.IO.MemoryStream, para luego asignarlo como parametro

    creo que deberias hacer algo similar.

    no encontre nada puntual con el TableAdapter, pero si este te permite pasarle un parametro, (o utilizar la propiedad del atributo) seguro debas pasarle algun objeto MemoryStream realizando su lectura del archivos.

    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta patrope miércoles, 19 de agosto de 2009 9:51
    •  
  • sábado, 01 de agosto de 2009 10:25
     
     
    Muchas gracias Leandro
    Me ha servido de ayuda y ya he conseguido grabar en la bbdd.
    De nuevo gracias

    Patricia
  • sábado, 01 de agosto de 2009 10:27
     
     
    He creado una consulta insertquery porque usando el update del tableadapter no me graba nada en la bbdd pero ahora ya he conseguido que me grabe los datos.
    Gracias