Campo BLOB em uma DBGRID

30/07/2004

0

Pessoal.... estou fazendo uma pesquisa e um dos campos no meu banco interbase é blob....
O retorno da pesquisa vai diretamente para um DBGRID...
Quase todos os dados retornam corretamente, só o BLOB que retorna assim (MEMO).....

Como faço para aparecer o texto do campo BLOB direto na DBGRID?

Att

Armando


Armando.boza

Armando.boza

Responder

Post mais votado

30/07/2004

Amigo, peguei um exemplo aui no ClubeDelphi que da muitas dicas bastante úteis para se trabalhar com DBGrid... Não sei te passar o link aqui do CLubeDelphi, mas upei o arquivo... Pegue-o no link abaixo (Clique com o botão direito e salvar destino como)...

[url]http://gato.frones.sites.uol.com.br/gabriel/DBGrid.zip[/url]

A única coisa que não consegui entender até agora do exemplo, é como ele aumentou o Height das Rows do DBGrid... :roll:

[]´s,


Inutaishou

Inutaishou
Responder

Mais Posts

30/07/2004

Armando.boza

Amigo, peguei um exemplo aui no ClubeDelphi que da muitas dicas bastante úteis para se trabalhar com DBGrid... Não sei te passar o link aqui do CLubeDelphi, mas upei o arquivo... Pegue-o no link abaixo (Clique com o botão direito e salvar destino como)... [url]http://gato.frones.sites.uol.com.br/gabriel/DBGrid.zip[/url] A única coisa que não consegui entender até agora do exemplo, é como ele aumentou o Height das Rows do DBGrid... :roll: []´s,


Cara.... este exemplo é nervoso...tem bastante coisa nele...

Só que ele usa o CLIENTDATASET...

Eu uso o IBQUERY.....

Como seria no meu caso?


Responder

30/07/2004

Inutaishou

Amigo, é a mesma coisa... Eu usei aqui com o ZQuery...

As unicas coisas que ele usa, acho que é o RecNo da tabela (tem em qualquer TDataSet), e os campos... Se você não tiver adicionado no Fields Editor, utilize a FieldByName da Query...

[]´s,


Responder

30/07/2004

Eniorm

Eu tbm enfrentei o mesmo problema, usando IBQuery, nos meus campos blob sempre aparecida (memo)
Resolva isso da seguinte forma, não sei se é a mais prática, mas resolve:

no evento OnGetText do dito campo blob use o código:
   Text := Sender.AsString;


Pronto :!: Tá resolvido o problema.
T+


Responder

30/07/2004

Armando.boza

[quote:b7670a30dd=´Enio Marconcini´]Eu tbm enfrentei o mesmo problema, usando IBQuery, nos meus campos blob sempre aparecida (memo)
Resolva isso da seguinte forma, não sei se é a mais prática, mas resolve:

no evento OnGetText do dito campo blob use o código:
   Text := Sender.AsString;


Pronto :!: Tá resolvido o problema.
T+[/quote:b7670a30dd]

Desculpe a minha falta de conhecimento.... más é que não entendi bem...

Olha só... minha consulta funciona da seguinte maneira:

Tenho um DBGRID que está ligada no DATASOURCE que liga na IBQUERY que está ligada em uma IBTRANSACTION.

No onclick do botão dou o add.sql e a select e dou um open na query e pronto... tá feita a pesquisa...

Se puder me explicar melhor agradeço!!!

E desculpe o transtorno.....


Responder

30/07/2004

Armando.boza

Pessoal... fiz da seguinte maneira e deu certo...

procedure TFRMObitos.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
R : TRect;
begin
R:=Rect;
Dec(R.Bottom,2);
if Column.Field = QRYConsultaobito.FieldByName(´OBSALTA´) then
begin
if not (gdSelected in State) then
DBGrid1.Canvas.FillRect(Rect);
DrawText(DBGrid1.Canvas.Handle,
pchar(QRYConsultaobito.FieldByName(´OBSALTA´).AsString),
length(QRYConsultaobito.FieldByName(´OBSALTA´).AsString),
R,DT_WORDBREAK);

end;
end;

Obrigado a todos.


Responder

30/07/2004

Eniorm

[quote:f336a3a43f=´armando.boza´][/quote:f336a3a43f]
Desculpe a minha falta de conhecimento.... más é que não entendi bem...
Olha só... minha consulta funciona da seguinte maneira:


Veja colega... vc pode abandonar td esse codigo ai e trocar por esse que eu te passei... ai vai a explicação detalhada.

1- de 2 clicks na sua IBQuery para abrir o Fields Editor

2- selecione o seu campo BLOB

3- no Object Inspector, selecione a aba events

4- escolha o evento [b:f336a3a43f]OnGetText[/b:f336a3a43f] e de 2 clicks para implementar o codigo

5- use esse codigo apenas: [b:f336a3a43f]Text := Sender.AsString;[/b:f336a3a43f]

T+


Responder

30/07/2004

Armando.boza

[quote:ff8876657d=´Enio Marconcini´]
[/quote:ff8876657d] Desculpe a minha falta de conhecimento.... más é que não entendi bem... Olha só... minha consulta funciona da seguinte maneira:


Veja colega... vc pode abandonar td esse codigo ai e trocar por esse que eu te passei... ai vai a explicação detalhada.

1- de 2 clicks na sua IBQuery para abrir o Fields Editor

2- selecione o seu campo BLOB

3- no Object Inspector, selecione a aba events

4- escolha o evento [b:ff8876657d]OnGetText[/b:ff8876657d] e de 2 clicks para implementar o codigo

5- use esse codigo apenas: [b:ff8876657d]Text := Sender.AsString;[/b:ff8876657d]

T+


Enio... muito obrigado... ficou muito mais fácil assim...
eliminei todas aquelas linhas....

Muito obrigado mesmo


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar