Recent

Author Topic: Problemas em recuperar strings gravados em BLOB  (Read 5377 times)

nightrider

  • Full Member
  • ***
  • Posts: 139
Problemas em recuperar strings gravados em BLOB
« on: December 10, 2011, 09:45:59 pm »
Eu gravei 1 base SQLite e criei duas colunas atraves do comando:

dataset.params.ParamByName('nome da coluna blob').AsBlob := variavel string

Acontece que se escrevo:

variavel string := dataset.FieldByName('nome da coluna blob').String (ou widestring)

a "variavel string" fica com valores em hexa.

Alguem sabe me informar como saio desta agora? Como eu trago de volta pra string valido o tal BLOB? Se abro no SQLite Expert o editor de BLOB deste mostra os dados certos.

Saudações desde São Paulo - SP

Ricardo
« Last Edit: December 10, 2011, 09:51:07 pm by nightrider »

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3538
Re: Problemas em recuperar strings gravados em BLOB
« Reply #1 on: December 12, 2011, 09:54:11 am »
Uma idéia seria criar uma rotina que converte esses dados em hex para uma string. Da para fazer isso com um "for" e algumas operacões aritméticas e a tabela ASCII. Não sei se já tem algo pronto pra isso no TDataset.
« Last Edit: December 12, 2011, 10:05:10 am by felipemdc »

nightrider

  • Full Member
  • ***
  • Posts: 139
Re: Problemas em recuperar strings gravados em BLOB
« Reply #2 on: December 13, 2011, 12:09:22 am »
Eu tenho alguns metodos que gerenciam dados em hexa e fazem a conversão de ida e volta de caracter pra 2 bytes com os valores dois digitos em hexa do caracter passado como parametro. Tambem posso fazer o inverso. Sempre usando a tabela ASCII.

Coisas de piloto de disco voador que andei fazendo, anos atras, com bases de mainframe baixadas pra micro pra serem trabalhadas.

Fiz até um programa que le um arquivo texto e gera um dump com a linha lida no arquivo e 2 linhas hexa abaixo desta contendo a representacao hexa caracter a caracter da linha . Pode ser util em alguns casos de analise de dados.

Só achei que poderia haver alguma solução pronta nos métodos do proprio FPC/Lazarus.

Muito grato.

[ ]

Daniel Simoes

  • New Member
  • *
  • Posts: 11
    • DJSystem
Re: Problemas em recuperar strings gravados em BLOB
« Reply #3 on: March 23, 2012, 01:00:36 pm »
Qual o mecanismos de Banco de Dados ?

Eu uso Zeos com SQLite, FirezBird e MySQL... onde podemos fazer:

TBlobField(fSQL.FieldByName('AFIELD')).Value;




nightrider

  • Full Member
  • ***
  • Posts: 139
Re: Problemas em recuperar strings gravados em BLOB
« Reply #4 on: March 23, 2012, 01:57:35 pm »
TSQLite3Connection + TSQLQuery

[ ]

Daniel Simoes

  • New Member
  • *
  • Posts: 11
    • DJSystem
Re: Problemas em recuperar strings gravados em BLOB
« Reply #5 on: March 23, 2012, 03:02:33 pm »
Tente a solução proposta no Post anterior...

Ou então grave o Blob como String mesmo (se for um campo texto)

 

TinyPortal © 2005-2018