none
É possivel armazenar fotos no Firebird ? RRS feed

  • Pergunta

  • Gostaria de saber se é possivel armazenar foto junto com os dados no firebird usando formulário windows form c# ?
    Não sei se postei minha pergunta no lugar certo :)
    • Movido Rui SantosModerator terça-feira, 19 de outubro de 2010 23:28 (De:Windows Forms & Smart Client)
    terça-feira, 19 de outubro de 2010 15:36

Respostas

  • Para salvar você pode fazer assim:

    Public Shared Sub addfoto(ByVal photoFilePath As String)
    Dim photo() As Byte = GetPhoto(photoFilePath)
    Dim name As String = photoFilePath.Substring(photoFilePath.LastIndexOf("\") + 1)
    Dim nwindConn As FbConnection = New FbConnection(StrConeccion)

    Dim addEmp As FbCommand = New FbCommand("INSERT INTO test (image,nfoto) " & _
    "Values(@Photo,'" & name & "')", nwindConn)
    addEmp.Parameters.Add("@Photo", FbDbType.Binary, photo.Length).Value = photo
    nwindConn.Open()
    addEmp.ExecuteNonQuery()
    nwindConn.Close()
    End Sub


    e para Pegar pode fazer assim:

    Public Shared Function GetPhoto(ByVal filePath As String) As Byte()
    Dim fs As FileStream = New FileStream(filePath, FileMode.Open, FileAccess.Read)
    Dim br As BinaryReader = New BinaryReader(fs)
    Dim photo() As Byte = br.ReadBytes(fs.Length)
    br.Close()
    fs.Close()
    Return photo
    End Function


    Bruno Ferreira de Souza
    Analista Desenvolvedor .NET
    MCP - Windows Form
    • Marcado como Resposta Fabricio C-Sharp terça-feira, 19 de outubro de 2010 23:56
    terça-feira, 19 de outubro de 2010 22:49

Todas as Respostas

  • Fabricio,

    É possível sim, para isto você deve criar uma coluna do tipo BLOB para armazenar a imagem.

    Você pode bindar esta coluna direto na propriedade Image do Picture Box por exemplo.

    at.,


    Rogério de Resende Ohashi | Ohashi.NET (.NET, Security, C#, WinForms, WCF, Workflow, Azure, Windows Phone, Mono)
    terça-feira, 19 de outubro de 2010 15:48
    Moderador
  • OK, obrigado pela informação, mas como eu faço isso ?
    terça-feira, 19 de outubro de 2010 22:38
  • Para salvar você pode fazer assim:

    Public Shared Sub addfoto(ByVal photoFilePath As String)
    Dim photo() As Byte = GetPhoto(photoFilePath)
    Dim name As String = photoFilePath.Substring(photoFilePath.LastIndexOf("\") + 1)
    Dim nwindConn As FbConnection = New FbConnection(StrConeccion)

    Dim addEmp As FbCommand = New FbCommand("INSERT INTO test (image,nfoto) " & _
    "Values(@Photo,'" & name & "')", nwindConn)
    addEmp.Parameters.Add("@Photo", FbDbType.Binary, photo.Length).Value = photo
    nwindConn.Open()
    addEmp.ExecuteNonQuery()
    nwindConn.Close()
    End Sub


    e para Pegar pode fazer assim:

    Public Shared Function GetPhoto(ByVal filePath As String) As Byte()
    Dim fs As FileStream = New FileStream(filePath, FileMode.Open, FileAccess.Read)
    Dim br As BinaryReader = New BinaryReader(fs)
    Dim photo() As Byte = br.ReadBytes(fs.Length)
    br.Close()
    fs.Close()
    Return photo
    End Function


    Bruno Ferreira de Souza
    Analista Desenvolvedor .NET
    MCP - Windows Form
    • Marcado como Resposta Fabricio C-Sharp terça-feira, 19 de outubro de 2010 23:56
    terça-feira, 19 de outubro de 2010 22:49
  • Fabricio,

    Quando você tiver outras duvidas sobre acesso a dados, você pode usar este forum aqui... 

    .NET Framework - ADO (Acesso a dados, data access & storage)
    Discussões sobre acesso e gerenciamento de dados dentro do .NET Framework como ADO e ADO .NET.
    Já estou movendo para você


    Se não da certo como voce esta fazendo... Tente fazer de um jeito totalmente diferente....
    terça-feira, 19 de outubro de 2010 23:28
    Moderador