Campo BLOB em uma DBGRID
30/07/2004
0
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
Post mais votado
30/07/2004
[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
Mais Posts
30/07/2004
Armando.boza
Cara.... este exemplo é nervoso...tem bastante coisa nele...
Só que ele usa o CLIENTDATASET...
Eu uso o IBQUERY.....
Como seria no meu caso?
30/07/2004
Inutaishou
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,
30/07/2004
Eniorm
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+
30/07/2004
Armando.boza
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.....
30/07/2004
Armando.boza
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.
30/07/2004
Eniorm
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+
30/07/2004
Armando.boza
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