[firebase-br] Pesquisa DBExpress

Fausto fausto.s.a em uol.com.br
Dom Jun 17 22:38:34 -03 2007


Anderson..
Se estiver utilizando DBExpress, esqueça tudo o que leu aqui..
Não há necessidade de ficar abrindo e fechando o ResultSet Detail..
Siga os passos abaixo.
Insira em seu DataModule ou Form.. os seguintes componentes:
2 SQLDataSet onde vamos chama-los de SqlMaster e SqlDetail
1 DataSetProvider -> DspMaster
1 DataSource        ->DSLink
Configure a propriedade SqlConnection de SqlMaster e SqlDetail apontando 
para seu componente de conexão
No SqlMaster monte o select normalmente
ex:
*SELECT    P.NRPEDIDO,   P.DATAEMI,     P.CLICOD, C.CLINOM
FROM    PEDIDOS P
INNER JOIN    CLIENTES C
ON   (P.CLICOD = C.CLICOD)
*Torne os campos persistentes.. dois cliques e Ctrl+A
Aponte a propriedade DataSet do DspMaster para o SqlMaster
E aponte a propriedade DataSet do DSLink também para o SqlMaster
Agora monte o CommandText do SqlDetail..
ex:
*SELECT IT.NRPEDIDO, IT.PROCOD, PR.PRODUTO,IT.QDEITE, IT.PRCUNT
FROM    ITENS IT
INNER JOIN PRODUTOS PR
ON (PR.PROCOD = IT.PROCOD)
WHERE IT.NRPEDIDO =  :NRPEDIDO
*Agora aponte a propriedade DataSource do SqlDetail para o DataSource DSLink
Insira agora dois ClientDataSets vamos chama-los de CdsMaster e CdsDetail
No CdsMaster aponte a propriedade providername para DspMaster
Torne os campos persistentes Ctrl+A, você vai notar que além dos campos 
do select irá aparecer um outro item
CdsMasterSqlDetail do tipo TDataSetField.

Agora antes de persistir os campos no SqlDetail mude a propriedade 
Active do SqlMaster para true..
Agora Ctrl+A, no CdsDetail  ligue a propriedade DataSetField para 
CdsMasterSqlDetail.
Pronto.
Agora todos os comandos tanto de abertura qto de gravação.. Post, 
ApplyUpdates você os executa no master que eles refletirão no detail.
Espero ter ajudado.
Fausto




*

*

INFOSAG escreveu:
> o melhor jeito de fazer o master detail, e fazer com que a tabela detail, 
> fecha e abre no evento afterscroll da tabela master, recebendo como 
> parametro o controle da tabela master !
>
> entedeu ?
>
>
> ----- Original Message ----- 
> From: "Anderson Miranda Barrozo" <andersonpaduarj em hotmail.com>
> To: <lista em firebase.com.br>
> Sent: Saturday, June 16, 2007 10:33 PM
> Subject: Re: [firebase-br] Pesquisa DBExpress
>
>
> Valeu, mas minha pesquisa tem master/detail. E uma tabela de usuario e
> usuariomenu.
> Eu fiz assim:
>
>
> *** Mudo commandText do componente SQLDataSet
>      DSQUsuario.Close;
>      DSQUsuario.CommandText:='';
>      DSQUsuario.CommandText :='select * from USUARIOS where USU_LOGIN = ' +
> QuotedStr(EditUsuario.Text);
>      DSQUsuario.Open;
>
> ***Atualizo a ClientDataSet para aparecer no DBGRID
>      CDSUSUARIO.Refresh;
>
> Achei estranho ter que dar este Refresh pois usava componentes IBX palheta
> interbase.
>
> Isto seria correto ?
>
>
> ============================================================
>
>
>   
>> From: "INFOSAG" <infosag em terra.com.br>
>> Reply-To: FireBase <lista em firebase.com.br>
>> To: "FireBase" <lista em firebase.com.br>
>> Subject: Re: [firebase-br] Pesquisa DBExpress
>> Date: Sat, 16 Jun 2007 21:56:53 -0300
>>
>> ibquery
>>
>> ----- Original Message -----
>> From: "Anderson Miranda Barrozo" <andersonpaduarj em hotmail.com>
>> To: <lista em firebase.com.br>
>> Sent: Saturday, June 16, 2007 9:03 PM
>> Subject: [firebase-br] Pesquisa DBExpress
>>
>>
>> Senhores,
>>
>>     Uso o FB 1.5 com DBExpress. Quero montar uma simples rotina de
>> pesquisa
>> como por exemplo só saber se o usuario esta cadastrado.
>>
>>     Qual componentes DBX devo usar ?
>>
>> Anderson Miranda
>> AMB Informatica
>>
>> _________________________________________________________________
>> Chegou o Windows Live Spaces com rede social. Confira
>> http://spaces.live.com/
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para editar sua configuração na lista, use o endereço
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para editar sua configuração na lista, use o endereço
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>     
>
> _________________________________________________________________
> Descubra como mandar Torpedos do Messenger para o celular!
> http://mobile.msn.com/
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>   



Mais detalhes sobre a lista de discussão lista