INSERT E UPDATE DE FOTO/IMAGEM NO FIREBIRD
Olá!
Estou com problemas para inserir e alterar foto em um banco firebird. Alguém tem alguma ideia que como se faz isso ?
Estou usando um código que fazia a inserção e alteração, porem copiei de uma aplicação que usava o acess. Como estou migrando o programa para firebird, estou tendo esta dificuldade.
Segue abaixo o código que estou utilizando
Dim fst As New FileStream(Application.StartupPath + [Ô]\phoenix.dat[Ô], FileMode.Open)
Dim arrbyte(fst.Length) As Byte
fst.Read(arrbyte, 0, arrbyte.Length)
fst.Close()
Dim s1 As String = [Ô]UPDATE REGISTRO SET [FOTO]=? WHERE IDCLIENTE =[ô][Ô] & IDCLI.Text & [Ô][ô][Ô]
Dim cmnd As New FbCommand(s1, conn)
Dim par As New FbParameter([Ô]@Imagem[Ô], FbDbType.Binary)
par.Value = arrbyte
par.Size = arrbyte.Length
cmnd.Parameters.Add(par)
conn.Open()
cmnd.ExecuteNonQuery()
conn.Close()
Desde já agradeço a todos.
Grilo
Estou com problemas para inserir e alterar foto em um banco firebird. Alguém tem alguma ideia que como se faz isso ?
Estou usando um código que fazia a inserção e alteração, porem copiei de uma aplicação que usava o acess. Como estou migrando o programa para firebird, estou tendo esta dificuldade.
Segue abaixo o código que estou utilizando
Dim fst As New FileStream(Application.StartupPath + [Ô]\phoenix.dat[Ô], FileMode.Open)
Dim arrbyte(fst.Length) As Byte
fst.Read(arrbyte, 0, arrbyte.Length)
fst.Close()
Dim s1 As String = [Ô]UPDATE REGISTRO SET [FOTO]=? WHERE IDCLIENTE =[ô][Ô] & IDCLI.Text & [Ô][ô][Ô]
Dim cmnd As New FbCommand(s1, conn)
Dim par As New FbParameter([Ô]@Imagem[Ô], FbDbType.Binary)
par.Value = arrbyte
par.Size = arrbyte.Length
cmnd.Parameters.Add(par)
conn.Open()
cmnd.ExecuteNonQuery()
conn.Close()
Desde já agradeço a todos.
Grilo
Como está o campo no banco de dados?
Para foto no firebird, você deve utilizar o tipo BLOB.
ex: FOTO BLOB SEGMENT SIZE 4096
Para foto no firebird, você deve utilizar o tipo BLOB.
ex: FOTO BLOB SEGMENT SIZE 4096
Na tabela o campo está:
BLOB - SIZE 16384 - Binary
BLOB - SIZE 16384 - Binary
Tente algo assim:
[ô]...
conn.Open()
Using cmnd As FbCommand = conn.CreateCommand
cmnd.CommandText = [Ô]UPDATE REGISTRO SET [FOTO]=@Imagem WHERE IDCLIENTE=@Id[Ô]
cmnd.Parameters.AddWithValue([Ô]@Imagem[Ô], [ sua matriz com a imagem ])
cmnd.Parameters.AddWithValue([Ô]@Id[Ô], [ sua variável com o ID do registro ] )
Try
cmnd.ExecuteNonQuery()
Catch ex As Exception
Dim msg As String = ex.Message
While ex.InnerException IsNot Nothing
ex = ex.InnerException
msg &= String.Format([Ô]{0}{1}[Ô], ex.Message, vbNewLine)
End While
Message.Show(msg)
End Try
End Using
conn.Close()
[ô]...
Valeu Professor!
Testei seu código e serviu como uma luva. Só fiz uma adaptação.
Obrigado pela ajuda.
Testei seu código e serviu como uma luva. Só fiz uma adaptação.
Obrigado pela ajuda.
Tópico encerrado , respostas não são mais permitidas