none
insertar una imagen en una base de datos

    Pregunta

  • 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!!!!

    lunes, 12 de septiembre de 2011 16:42

Respuestas

  • 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 16:46

Todas las respuestas

  • 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 16:46
  • 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

     


    lunes, 12 de septiembre de 2011 20:32