Campo BLOB em uma DBGRID
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
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
Curtidas 0
Melhor post
Inutaishou
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,
[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,
GOSTEI 1
Mais Respostas
Armando.boza
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,
Cara.... este exemplo é nervoso...tem bastante coisa nele...
Só que ele usa o CLIENTDATASET...
Eu uso o IBQUERY.....
Como seria no meu caso?
GOSTEI 0
Inutaishou
30/07/2004
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,
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,
GOSTEI 0
Eniorm
30/07/2004
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:
Pronto :!: Tá resolvido o problema.
T+
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+
GOSTEI 0
Armando.boza
30/07/2004
[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:
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.....
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.....
GOSTEI 0
Armando.boza
30/07/2004
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.
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.
GOSTEI 0
Eniorm
30/07/2004
[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:
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+
GOSTEI 0
Armando.boza
30/07/2004
[quote:ff8876657d=´Enio Marconcini´]
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+
[/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
GOSTEI 0