1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda com RTF em crystal report

Discussão em 'Programação' iniciada por PJ, 17 de Setembro de 2008. (Respostas: 6; Visualizações: 1480)

  1. PJ

    PJ Power Member

    Boas,

    O problema é o seguinte :

    Importo um ficheiro rtf com texto e imagens e converto-o para um byte array deste modo :

    Código:
       
    Dim path As String = openfile.FileName()
    stream = New FileStream(path, FileMode.Open, FileAccess.Read)
    Dim buffer(CType(stream.Length, Integer)) As Byte
    stream.Read(buffer, 0, CType(stream.Length, Integer))
    stream.Close()
    
    Depois submeto-o na base de dados, a coluna é do tipo image.
    No crystal, ao ir buscar este campo ele não me consegue interpretar correctamente o que está na base de dados.

    A base de dados é em sql, testei inserir um objecto através do Access e o crystal já me interpreta os dados correctamente.

    Alguém me pode dar uma ajuda?

    Existirá maneira de converter o meu array de bytes num objecto igual ao que o Access introduz na bd? Penso que seja OLE...

    Cumps
     
  2. PJ

    PJ Power Member

    Boas,

    A inserção na bd é feita correctamente. Se eu ler o que escrevi na bd e colocar numa RichTextBox está tal e qual o documento rtf.

    O problema é o crystal que não me interpreta isto da mesma forma, mas obrigado na mesma.

    Cumps
     
  3. PJ

    PJ Power Member

    Penso que a solução passa por criar um objecto OLEDB, pois acho que é isso que o Access faz, para inserir na base de dados, mas não sei como fazer isso...

    Alguma ajuda?
     
  4. PJ

    PJ Power Member

    Ok problema resolvido da seguinte forma :

    Insiro na bd o texto do rtf numa coluna do tipo ntext. Se ler da bd os dados vêm todos ok, excepto as images, como já tinha dito. Estas são acrregadas para outra coluna do tipo image ;).

    O field do crystal tem que estar para interpretar RTF.

    É uma solução, mas tem que se utilizar duas colunas na bd quando talevz se pudesse utilizar apenas uma...

    Cumps
     
  5. PJ

    PJ Power Member

    Boas,

    Isso era o que eu estava a fazer em primeiro. Transformava o ficheiro todo em byte array e inseria na bd numa coluna do tipo image. Mas fazia um insert normal, Insert into ....

    Quanto ao fazer insert com parâmetros para binary se puderes aprofundar mais agradecia.

    Cumps
     
  6. PJ

    PJ Power Member

    Mal possa já vou testar :D

    Obrigado
     
  7. PJ

    PJ Power Member

    Código:
    Dim oParam As New SqlParameter("?XD", _
    [B]SqlDbType.Blob[/B], bytPDF.Length, _
    ParameterDirection.Input, False, _
    0, 0, Nothing, DataRowVersion.Current, bytPDF) 
    Pois, no vb.net não tenho esse tipo de sqldbtype.....

    É estranho. Obrigado pela ajuda na mesma
     

Partilhar esta Página