É possível inserir dados do Tipo Binário no BD com parâmetros ? :huh:
Assim eu sei que é possível:
Sub Gravar_Dados()
Abb '<====== Função que abre a conexão com o BD
Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseServer
Rs.Open "SELECT * FROM InDat", Con, adOpenStatic, adLockOptimistic
'inclui um registro
Rs.AddNew
Rs("Nome") = txtNome.Text
Rs("Foto") = Por_Em_Byte(camFoto) '<= Função que converte uma imagem em Bytes
Rs.Update
Set Rs = Nothing
Con.Close
MsgBox "Dados gravados !", vb script:
Agora estou tentando assim...que é com parâmetros nos campos:
Sub Inserir_Dados()
Dim Cmd As ADODB.Command
Dim Inserir As String
Dim b() As Byte
b() = Por_Em_Byte(camFoto)
Inserir = "INSERT INTO InDat(Nome,Foto)VALUES(@Nome,@Foto)"
Abb
Set Cmd = New ADODB.Command
With Cmd
.ActiveConnection = Con
.Prepared = True
.CommandText = Inserir
.CommandType = adCmdText
.Parameters.Append .CreateParameter("@Nome", adChar, adParamInput, , txtNome.Text)
.Parameters.Append .CreateParameter("@Foto", adBinary, adParamInput, , b())
.Execute
End With
MsgBox "Dados Salvo !", vbInformation
Set Cmd = Nothing
Con.Close
End Sub
Sempre que tentei apresentou Erro: 3001
Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.
e aponta para a linha: .Parameters.Append .CreateParameter("@Foto", adBinary, adParamInput, , b())
Já mudei o tipo de "adBinary" para "AdVarBinary", "adLongVarBinary" e "AdArray" mas continua sempre dando o mesmo erro... <_<
O BD é Access 2007 e o tipo do campo está como Objeto OLE.
*** EDITADO ***
Agora está dando este erro:
Erro: 3708
Objeto Parameter definido incorretamente. As informações são inconsistentes ou incompletas.
Pergunta
Danleonhart
Seguinte pessoal...
É possível inserir dados do Tipo Binário no BD com parâmetros ? :huh:
Assim eu sei que é possível:
Agora estou tentando assim...que é com parâmetros nos campos:Sempre que tentei apresentou Erro: 3001
Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.
e aponta para a linha: .Parameters.Append .CreateParameter("@Foto", adBinary, adParamInput, , b())
Já mudei o tipo de "adBinary" para "AdVarBinary", "adLongVarBinary" e "AdArray" mas continua sempre dando o mesmo erro... <_<
O BD é Access 2007 e o tipo do campo está como Objeto OLE.
*** EDITADO ***
Agora está dando este erro:
Erro: 3708
Objeto Parameter definido incorretamente. As informações são inconsistentes ou incompletas.
<_<
Editado por DanleonhartLink para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.