Está en la página 1de 2

INSERTAR UNA IMAGEN EN MYSQL CON

VB.NET
Hola buenas tardes les comento la verdad tengo un problema con esto de insertar imagenes en mysql he estado toda
la maana intentando insertar la imagen pero no he podido lograrlo me sale el siguiente error:

Bueno Para insertar la imagen primero creo esta funcion:


Public Function DeImagen_a_Bytes(ByVal Imagen As Image) As Byte()
If Not Imagen Is Nothing Then
'Crea un archivo temporal de cero bytes y nombre nico en el disco y devuelve la
ruta

'de acceso completa a ese archivo.


Dim ATemporal As String = IO.Path.GetTempFileName()
'Inicializa una nueva instancia de la clase FileStream con el permiso de
lectura/escritura,
'el modo de creacin y la ruta de acceso especificados.
Dim filestream As New IO.FileStream(ATemporal, IO.FileMode.OpenOrCreate,
IO.FileAccess.ReadWrite)
'Puede modificar el formato de la imagen a la hora de salvarla.
Imagen.Save(filestream, System.Drawing.Imaging.ImageFormat.Bmp)
filestream.Position = 0
Dim imgLength As Integer = CInt(filestream.Length)
Dim bytes(0 To imgLength - 1) As Byte
filestream.Read(bytes, 0, imgLength)

filestream.Close()
Return bytes

Else

Return Nothing
End If
End Function

DESPUES EN EL INSERT LLAMO A LA FUNCION TAL Y COMO LA MUESTRO AQUI:


Private Sub Insert_into()
Using con_insert As New MySqlConnection(ruta)
Dim cmdinsert As New MySqlCommand
With cmdinsert
.Connection = con_insert
.CommandType = CommandType.Text
.CommandText = "INSERT INTO
info(id_clien,Nombre_client,Edad,Fecha_nacimiento,Sexo,imagen)" & "VALUES" & "(?id,?nom,?
edad,?fecha,?sex,?fot)"
.Parameters.AddWithValue("?id", Text_id.Text)
.Parameters.AddWithValue("?nom", Text_nombre.Text)
.Parameters.AddWithValue("?edad", Text_edad.Text)
.Parameters.AddWithValue("?fecha", Dtp_fecha.Value)
.Parameters.AddWithValue("?sex", combo_sexo.Text)
.Parameters.AddWithValue("?fot", DeImagen_a_Bytes(PictureBox1.Image))
End With
Try
con_insert.Open()
cmdinsert.ExecuteNonQuery()
con_insert.Close()
MessageBox.Show("CLIENTE INSERTADO CORRECTAMENTE", "CLIENTE INSERTADO",
MessageBoxButtons.OK, MessageBoxIcon.Information)
recargar()
Catch falla As MySqlException
MsgBox(falla.Message)
End Try
End Using
End Sub

PERO COMO LES COMENTABA NO LOGRO INSERTAR LA IMAGEN, EL CAMPO DE MI BASE DE


DATOS MYSQL ES LONGBLOB , ESPERO Y ME PUEDAN AYUDAR A RESOLVER EL PROBLEMA O SI
HAY OTRA SOLUCION PARA GUARDAR IMAGENES EN MYSQL ME PUEDAN AYUDAR DE FAVOR DE
ANTEMANO GRACIAS :D

También podría gustarte