Access - Gravar imagem usando Stored Procedure
-
sexta-feira, 3 de agosto de 2012 18:44
Estou tentando usar uma stored Procedure para salvar registros e um dos campos é uma imagem.
O valor da strEmpregado está sendo obtido da seguinte maneira:
Private Function montaSTR() As String Dim strSQL As String strSQL = lng_IDempregado _ & ";" & Me.txt_matricula _ & ";" & Me.txt_nomeEmpregado _ . & ";" & strNomeImagem Set mstream = New ADODB.Stream mstream.Type = adTypeBinary mstream.Open mstream.LoadFromFile Me.pic_Imagem.Picture strSQL = strSQL & ";" & mstream.Read montaSTR = strSQL If sp_AtualizaEmpregado(strEmpregado) = True Then mens = "Empregado atualizado com sucesso." Dialog.Box Prompt:=mens, Buttons:=vbOKOnly + vbInformation, Title:="Atualização de Empregado", btnMsg:=False End If
Public Function sp_AtualizaEmpregado(strEmpregado As String) As Boolean On Error GoTo Err_sp_AtualizaEmpregado Dim cn As New ADODB.Connection Dim cmd As New ADODB.Command Dim strVAL() As String Set cn = CurrentProject.Connection strVAL = Split(strEmpregado, ";") With cmd .ActiveConnection = cn .CommandType = adCmdStoredProc .Parameters.Append cmd.CreateParameter("@id_Empregado", adBigInt, adParamInput, , strVAL(0)) . . . .Parameters.Append cmd.CreateParameter("@nomeDaFoto", adVarChar, adParamInput, 100, strVAL(36)) .Parameters.Append cmd.CreateParameter("@foto", adVarBinary, adParamInput, , strVAL(37)) .CommandText = "sp_AtualizaEmpregado" End With cmd.Execute sp_AtualizaEmpregado = True Set cn = Nothing Exit_sp_AtualizaEmpregado: Exit Function Err_sp_AtualizaEmpregado: Dialog.Box Prompt:="Erro: " & Err.Number & vbCrLf & Err.Description, Buttons:=vbOKOnly + vbCritical, Title:="Erro - Atuzalizar empregado", btnMsg:=False sp_AtualizaEmpregado = False Resume Exit_sp_AtualizaEmpregado End FunctionAo atribuir o valor binário para o parâmetro está apresentando o seguinte erro:
[b]Sergio Ivanenko[/b]

