HOLA YO ENCONTRADO DOS FUNCIONES PARA ALMACENAR IMAGENES EN SQL SERVER ,PRIMERO SE DEBE DE CREAR UN REGISTRO CON UN ID Y LUEGO LA IMAGEN SE CARGA EN FUNCION DEL ID ALMACENADO ESPERO QUE TE SEA UTIL
PRIMERA FUNCION PARA GRABAR LA IMAGEN
Código PHP:
Private Function GrabarImagen(ByVal prmID_CLIENTE As String) As Boolean
'***************************************************************************************
'*********************************** FUNCION GRABAR IMAGEN ****************************
'***************************************************************************************
Dim cn As New SqlConnection(conSQL)
cn.Open()
Dim SaveImage As Boolean = False
Dim curFileName As String = ""
Try
'Buscamos la imagen a grabar
Dim openDlg As OpenFileDialog = New OpenFileDialog()
'*******TIPOS DE FORMATOS DE IMAGEN QUE PUEDES USAR
openDlg.Filter = "Todos (*.*)|*.*|Imagenes|*.jpg;*.gif;*.png;*.bmp"
Dim filter As String = openDlg.Filter
openDlg.Title = "Selecccionar la imagen"
If (openDlg.ShowDialog() = Windows.Forms.DialogResult.OK) Then
curFileName = openDlg.FileName
SaveImage = True
Else
Return False
Exit Function
End If
If SaveImage = True Then
'CARGAR FOTOGRAFIA
Dim fsFoto As FileStream
fsFoto = New FileStream(curFileName, FileMode.Open)
Dim fiFoto As FileInfo = New FileInfo(curFileName)
Dim Temp As Long = fiFoto.Length
Dim lung As Long = Convert.ToInt32(Temp)
Dim picture(lung) As Byte
fsFoto.Read(picture, 0, lung)
fsFoto.Close()
'*****LLAMADO AL PROCEDIMIENTO EN SQL QUE GRABARA LA IMAGEN
Dim cmdFoto As New SqlCommand("TRABAJADOR_1", cn)
cmdFoto.CommandType = CommandType.StoredProcedure
'*****DATOS DEL PROCEDIMINTO
Dim sql_ID_Cliente = New SqlParameter("@CD", prmID_CLIENTE)
Dim sql_FOTO As New SqlParameter("@IMAGEN", SqlDbType.Image)
sql_FOTO.Value = picture
cmdFoto.Parameters.Add(sql_ID_Cliente)
cmdFoto.Parameters.Add(sql_FOTO)
cmdFoto.ExecuteNonQuery()
cmdFoto.Dispose()
sql_FOTO = Nothing
picture = Nothing
Return True
Exit Function
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
Return False
End Try
End Function
SEGUNDA FUNCION PARA MOSTRAR LA IMAGEN
Código PHP:
Private Sub CargarImagen(ByVal prmID_CLIENTE As String)
'***************************************************************************************
'*********************************** CARGAR IMAGEN ************************************
'***************************************************************************************
Dim cn As New SqlConnection(conSQL)
cn.Open()
Try
'*******BUSCAR LA IMAGEN EN TU BASE DE DATOS
Dim cmdFoto As New SqlCommand("select imagen from TRABAJADOR where CD = '" & prmID_CLIENTE & "'")
cmdFoto.Connection = cn
cmdFoto.CommandType = CommandType.Text
Dim daFoto As New SqlDataAdapter(cmdFoto)
Dim dsFoto As New DataSet()
daFoto.Fill(dsFoto)
Dim bits As Byte() = CType(dsFoto.Tables(0).Rows(0).Item(0), Byte())
Dim memorybits As New MemoryStream(bits)
Dim bitmap As New Bitmap(memorybits)
picFoto.Image = bitmap
cmdFoto.Dispose()
dsFoto.Dispose()
cmdFoto.Dispose()
Catch EX As Exception
MsgBox("NO HAY IMAGEN PARA ESTE REGISTRO ", "16", "No se puede mostrar fotografia")
picFoto.Image = Nothing
foto.Refresh()
End Try
End Sub
PROCEDIMIENTO SQL SERVER
Código PHP:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[TRABAJADOR_1]
(
@CD numeric(18, 0),
@IMAGEN image
)
AS
UPDATE TRABAJADOR
SET IMAGEN= @IMAGEN
where CD = @CD
''*****BOTON CARGAR IMAGEN
Código PHP:
Private Sub Bcargar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bcargar.Click
'***************************************************************************************
'*********************************** CARGAR IMAGEN ************************************
'***************************************************************************************
Dim cn As New SqlConnection(conSQL)
cn.Open()
Dim sqlconsulta As String
'ESTE EJEMPLO LO USE PARA UN FORMULARIO DE REGISTRO DE TRABAJADORES
'LA COSA ES QUE LAS FUNCIONES SE UTILIZAN CON UN ID Y EN FUNCION DE ESO
'SE CARGA LA IMAGEN
sqlconsulta = "select CD from TRABAJADOR where rut_tra= " & Trut1.Text
Dim ocmd As New SqlCommand(sqlconsulta, cn)
Dim odr As SqlDataReader
odr = ocmd.ExecuteReader()
If odr.Read() Then
TCD.Text() = odr.Item("CD").ToString()
End If
odr.Close()
ACA ENVIA EL ID ENCONTRADO A LA FUNCION Y CARGA LA IMAGEN
If GrabarImagen(TCD.Text) Then
MessageBox.Show("Imagen almacenada", "Grabar Imagen", MessageBoxButtons.OK, MessageBoxIcon.Information)
CargarImagen(TCD.Text)
End If
MsgBox("EDICION TERMINADA ", "64", "Operacion exitosa")
Bcargar.Enabled = False
End Sub