none
Cargar Imagen en un PictureBox RRS feed

  • Pregunta

  • Buenas a todos

    Programo en vb.net y USO sql

    Tengo un Registro que se llama configurar mi compiña, que solo tiene un registro UNICO. 

    EL UPDATE

    lo realizo de esta manera y funciona bien. 

     If accion = "modificar" Then
                Using conexionx As New SqlConnection(cadenaConexion)
                    conexionx.Open()
    
    
                    Dim actualizar As String = "UPDATE Tbla_Compania  SET nom_com =@nom_com,sig_com =@sig_com,esl_com =@esl_com,rnc_com =@rnc_com,dir_com =@dir_com,tel_com =@tel_com,TasadeInteres =@TasadeInteres,TamanoPredeterminado =@TamanoPredeterminado,log_com =@log_com WHERE cod_com=@cod_com"
                    Using comando As New SqlCommand(actualizar, conexionx)
    
    
    
                        comando.Parameters.AddWithValue("@nom_com", TextNombre.Text.Trim())
                        comando.Parameters.AddWithValue("@sig_com", TextSiglas.Text.Trim())
                        comando.Parameters.AddWithValue("@esl_com", TextEslogan.Text.Trim())
                        comando.Parameters.AddWithValue("@rnc_com", TextRNC.Text.Trim())
                        comando.Parameters.AddWithValue("@dir_com", TextDireccion.Text.Trim())
                        comando.Parameters.AddWithValue("@tel_com", TextTelefonos.Text.Trim())
                        comando.Parameters.AddWithValue("@TasadeInteres", NumericUpDownUPorcentajeDscuento.Text.Trim())
                        comando.Parameters.AddWithValue("@TamanoPredeterminado", CheckBox1ReporteFactura.CheckState)
                        'Valor de Foto
                        If Logo.Image Is Nothing Then
                            comando.Parameters.Add("@log_com", SqlDbType.Binary).Value = DBNull.Value
    
                        Else
                            Dim arrImage() As Byte, myMs As New IO.MemoryStream
                            Logo.Image.Save(myMs, Logo.Image.RawFormat)
                            arrImage = myMs.GetBuffer()
                            comando.Parameters.Add("@log_com", SqlDbType.Binary).Value = arrImage
                        End If
    
                        comando.Parameters.AddWithValue("@cod_com", Convert.ToInt64(txtCodigoComp.Text.Trim()))
                        comando.ExecuteNonQuery()
    
    
                    End Using
                End Using
    
                MsgBox("Actualizado Correctamente", vbInformation, "Correcto")

    uso este procedimiento para cargar los datos. 

    Public Sub CargarDatos()
            If txtCodigoComp.TabStop Then
                'SendKeys.Send("{TAB}")
            End If
    
            If txtCodigoComp.Text = "" Then
                Exit Sub
            End If
    
            Dim miclase As New conexion2
            Dim DsPersonas As New DataSet
    
    
    
            DsPersonas = miclase.TraeDataset("SELECT cod_com, nom_com, sig_com, esl_com,rnc_com, dir_com, tel_com, TasadeInteres, TamanoPredeterminado, log_com FROM Tbla_Compania WHERE cod_com =" & txtCodigoComp.Text & "")
    
            If DsPersonas.Tables(0).Rows.Count > 0 Then
    
    
                txtCodigoComp.Text = DsPersonas.Tables(0).Rows(0).Item(0).ToString
    
                TextNombre.Text = DsPersonas.Tables(0).Rows(0).Item(1).ToString
    
                TextSiglas.Text = DsPersonas.Tables(0).Rows(0).Item(2).ToString
    
    
                TextEslogan.Text = DsPersonas.Tables(0).Rows(0).Item(3).ToString
    
                TextRNC.Text = DsPersonas.Tables(0).Rows(0).Item(4).ToString
    
    
                TextDireccion.Text = DsPersonas.Tables(0).Rows(0).Item(5).ToString
    
                TextTelefonos.Text = DsPersonas.Tables(0).Rows(0).Item(6).ToString
    
    
                NumericUpDownUPorcentajeDscuento.Text = DsPersonas.Tables(0).Rows(0).Item(7).ToString
    
                Logo.Image = DsPersonas.Tables(0).Rows(0).Item(8).ToString
    
            End If
        End Sub

    pero el ultimo no esta cargando la imagen o logo de la compañía. 

    Logo.Image = DsPersonas.Tables(0).Rows(0).Item(8).ToString

    Todos las datos cargan bien, excepto la imagen o Logo. 

    en resumen la imagen no esta cargando en el PictureBox

    Espero que puedan ayudarme. 



    • Editado EliannyRD martes, 10 de enero de 2017 21:31
    martes, 10 de enero de 2017 21:27

Respuestas

  • Hola puedes probar algo como esto

    Dim data = TryCast(DsPersonas.Tables(0).Rows(0).Item(8), Byte()) Dim stream = New MemoryStream(data) Logo.Image = Image.FromStream(stream)

    End If


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.


    • Editado Augusto1982 martes, 10 de enero de 2017 22:05
    • Marcado como respuesta EliannyRD martes, 10 de enero de 2017 23:02
    martes, 10 de enero de 2017 22:05

Todas las respuestas

  • Hola:
    Prueba con esto.
            Logo.Image = Image.FromStream(gF_ByteArrayToStream(CType(DsPersonas.Tables(0).Rows(0).Item(8).Value, Byte())))
           
                Private Function gF_ByteArrayToStream(ByVal Array As Byte()) As Stream
             ' crear un objeto stream en memoria conteniendo los datos del array de bytes
             Dim oMemoryStream As MemoryStream = New MemoryStream(Array)
             Return oMemoryStream
         End Function
    Un saludo desde Bilbo
    Carlos

    martes, 10 de enero de 2017 21:55
  • Hola puedes probar algo como esto

    Dim data = TryCast(DsPersonas.Tables(0).Rows(0).Item(8), Byte()) Dim stream = New MemoryStream(data) Logo.Image = Image.FromStream(stream)

    End If


    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.


    • Editado Augusto1982 martes, 10 de enero de 2017 22:05
    • Marcado como respuesta EliannyRD martes, 10 de enero de 2017 23:02
    martes, 10 de enero de 2017 22:05
  • Gracias  Augusto1982

    Resuelto 100x%

    Gracias................................

    martes, 10 de enero de 2017 23:02