Criar consulta em tempo de execução
Boa tarde a todos,
Tenho um sistema cliente/servidor onde no cliente faço a seguinte pesquisa:
dmPrincipal.cldsPesquisa1.Close;
dmPrincipal.cldsPesquisa1.CommandText := ´SELECT
COUNT(NUM_SOLICITACAOCOMPRAITEM) AS
NUM_SOLICITACAOCOMPRAITEM FROM
ST_SOLICITACAOCOMPRAITEM
WHERE (NUM_SOLICITACAOCOMPRA = ´´´+1)+´´´)´;
dmPrincipal.cldsPesquisa1.Open;
este CLIENTDATASET cldsPesquisa1 está no datamodule que esta ligado ao sevidor e nele tem um DATASETPROVIDE e UM ADOQUERY
Gostaride saber como posso fazer esta pesquisa em tempo de execução sem ter esses compomentes todos.
Desdxe já agradeço
Tenho um sistema cliente/servidor onde no cliente faço a seguinte pesquisa:
dmPrincipal.cldsPesquisa1.Close;
dmPrincipal.cldsPesquisa1.CommandText := ´SELECT
COUNT(NUM_SOLICITACAOCOMPRAITEM) AS
NUM_SOLICITACAOCOMPRAITEM FROM
ST_SOLICITACAOCOMPRAITEM
WHERE (NUM_SOLICITACAOCOMPRA = ´´´+1)+´´´)´;
dmPrincipal.cldsPesquisa1.Open;
este CLIENTDATASET cldsPesquisa1 está no datamodule que esta ligado ao sevidor e nele tem um DATASETPROVIDE e UM ADOQUERY
Gostaride saber como posso fazer esta pesquisa em tempo de execução sem ter esses compomentes todos.
Desdxe já agradeço
Minervasoft
Curtidas 0
Respostas
Woinch
19/05/2009
Você igual vai ter de utilizar esses tres componentes, mas cria-los e vincula-los em tempo de execução. Quanto ao ADO não sei se funciona, mas para consultas simples que não necessitam ficarem abertas por muito tempo basta utilizar o componente de acesso direto ao banco de dados (no seu caso o ADODataSet, existe?). Uma outra solução é deixar esses tres componentes já criados no DataModule para lhe auxiliarem, por exemplo: cldsAux, dspAux, adoAux. Ai sempre que necessitar altere a consulta direto no adoAux chame o Open e depois de utiliza-lo, Close. Uma dica é sempre fechar antes de trocar o CommandText para evitar que você tenha esquecido de fechar ao final de outro processamento.
GOSTEI 0