Respondida insertar una imagen en una base de datos

  • lunes, 12 de septiembre de 2011 16:42
     
      Tiene código

    ok estoy trabajando en una aplicación en vs 2010 con VB.net con una base de datos en access 2003 tengo una duda como defino los parametros para agregar un archivo del tipo "objeto ole"

    el codigo que tengo es este 

    Imports System.Data.OleDb
    Public Class ClassEquipos
       
        Public Sub insertarEquipo(ByVal CodigoNewEquipo As String, ByVal NomNewEquipo As String, ByVal EspecificacionesNewEquipo As String, _
         ByVal IdNewTipoEquipo As String, ByVal NewPrecio As String, ByVal NewCuotaBasica As String, ByVal NewCuotaPlanDatos As String, _
         ByVal NewCaracteristica As String, ByVal ima As Object)
            Using cn
    
                Dim query As String = "INSERT INTO DescripcionEquipo (id_equipo, nombre_equipo, " & _
                      "especificaciones,id_tipo_cel, precio, cuota_basica, " & _
                      "cuota_basica_plan_datos,imagen,)" & "VALUES" & _
                      ("@CodigoNewEquipo, @NomNewEquipo, " & _
                      "@NewCaracteristica,@IdentidadTipo, @NewPrecio, " & _
                      "@NewCuotaBasica, @NewCuotaPlanDatos,@Ima)")
    
                Dim cmd = New OleDb.OleDbCommand(query, cn)
                cmd.Parameters.AddWithValue("@CodigoNewEquipo", CodigoNewEquipo)
                cmd.Parameters.AddWithValue("@NomNewEquipo", NomNewEquipo)
                cmd.Parameters.AddWithValue("@NewCaracteristica", NewCaracteristica)
                cmd.Parameters.AddWithValue("@IdentidadTipo", IdNewTipoEquipo)
                cmd.Parameters.AddWithValue("@NewPrecio", NewPrecio)
                cmd.Parameters.AddWithValue("@NewCuotaBasica", NewCuotaBasica)
                cmd.Parameters.AddWithValue("@NewCuotaPlanDatos", NewCuotaPlanDatos)
                cmd.Parameters.AddWithValue("@Ima", ima)
                cmd.ExecuteNonQuery()
            End Using
        End Sub
    End Class
    
    

     

    el problema se presenta cuando hago el llamado a la clase y me dice que no se han establecido los parámetros para "ima"

    gracias de antemano!!!!

Todas las respuestas

  • lunes, 12 de septiembre de 2011 16:46
    Moderador
     
     Respondida Tiene código

    hola

    no ahs probado pasando el array de byte de la imagen ?

    como se menciona aqui

    http://social.msdn.microsoft.com/Forums/es-ES/vcses/thread/da28852f-7195-4310-b249-b89a333016a2/

     

    OleDbParameter myParameter = new OleDbParameter("@Image", OleDbType.LongVarBinary, imagedata.Length);
       myParameter.Value = imagedata;
       myCommand.Parameters.Add(myParameter);
    


    puedes usar el

    File.ReadAllBytes()

    para tomar el array de byte del archivo de imagen

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
  • lunes, 12 de septiembre de 2011 20:32
     
      Tiene código

    ok pero como defino el parametro 

    OleDbParameter myParameter = new OleDbParameter("@Image", OleDbType.LongVarBinary, imagedata.Length)

    dentro de una clase??

     ejemplo:

      Public Sub insertar(ByVal CodigoNewEmpleado As String, ByVal NomNewEmpleado As String, ByVal ApellidoNewEmpleado As String, _
          ByVal Identidad As String, ByVal NewEmail As String, ByVal NewTelefonoPlan As String, ByVal NewTelefonoContacto As String)
    


     ya que en oreo formulario solo iran llamados a clases