Consulta ao BD usando Thread
Pessoal,
Boa tarde!
Estou tentando fazer uma consulta no meu banco de dados usando um thread pois nesta consulta eu trago um campo do tipo blob que contem uma imagem e a mesma é bem grande entao quando faço isso o sistema esta travando entao colocando esta consulta na thread espero que ele nao trave.
Eu fiz assim:
Eu chamo ela assim:
Ai acontece que o sisitema trava da mesma maneira ate que o registro seja carregado.
Algem sabe onde estou errando?
Obrigado!
Boa tarde!
Estou tentando fazer uma consulta no meu banco de dados usando um thread pois nesta consulta eu trago um campo do tipo blob que contem uma imagem e a mesma é bem grande entao quando faço isso o sistema esta travando entao colocando esta consulta na thread espero que ele nao trave.
Eu fiz assim:
type TThreadSQL = class(TThread) protected procedure Execute(); Override; private procedure SQLGrid; end;
procedure TThreadSQL.SQLGrid; begin with Form1 do begin ClientDataSet1.Close; ClientDataSet1.Params.ParamByName(´NOME´).AsString := ClientDataSet2.FieldByName(´NOME´).AsString; ClientDataSet1.Open; end; end; procedure TThreadSQL.Execute; begin Synchronize(SQLGrid); end;
Eu chamo ela assim:
TThreadSQL.Create(false);
Ai acontece que o sisitema trava da mesma maneira ate que o registro seja carregado.
Algem sabe onde estou errando?
Obrigado!
Mmoreira
Curtidas 0
Respostas
Mmoreira
14/09/2007
ninguem sabe esta?
GOSTEI 0
Weber
14/09/2007
Todos os componentes de acesso ao banco devem pertencer a sua Thread (tem que ser criados dentro dela).
Database, Transaction, Query, ClientDataSet
Database, Transaction, Query, ClientDataSet
GOSTEI 0
Mmoreira
14/09/2007
Weber,
No caso meu sistema esta em camadas entao eu tenho no servidor uma funcao que me retorna a consulta no BD.
Entao no cliente eu tenho de ter o ClientDataSet dentro da Thread e apenas isto bastaria ou eu teria de ter uma thread no server tambem?
No caso meu sistema esta em camadas entao eu tenho no servidor uma funcao que me retorna a consulta no BD.
Entao no cliente eu tenho de ter o ClientDataSet dentro da Thread e apenas isto bastaria ou eu teria de ter uma thread no server tambem?
GOSTEI 0
Weber
14/09/2007
Nunca precisei usar em thread mas acredito que seja isto mesmo colocando o ClientDataSet dentro da thread deve resolver.
GOSTEI 0