[firebase-br] Atualização de tabela via dbGrid

José Franco Pereira Junior jfranco em hosppeda.com.br
Ter Maio 17 15:43:40 -03 2005


Boa tarde,

O problema é o seguinte: em uma tela tenho um dbGrid associado a uma query 
um tanto "enroscada" como abaixo:

select CD_MUSICA.MUS_CODIGO, CD_MUSICA.MUS_NUMERO, 
TB_COMPOSITOR.AUT_CODIGO, TB_COMPOSITOR.AUT_NOME, 
TB_COMPOSITOR.AUT_APELIDO, TB_MUSCOMP.MUS_AUTOR
from TB_COMPOSITOR inner join (CD_MUSICA INNER JOIN TB_MUSCOMP on 
(CD_MUSICA.MUS_NUMERO = TB_MUSCOMP.MUS_NUMERO) and (CD_MUSICA.MUS_CODIGO = 
TB_MUSCOMP.MUS_CODIGO)) on TB_COMPOSITOR.AUT_CODIGO = TB_MUSCOMP.MUS_AUTOR
where (((CD_MUSICA.MUS_CODIGO)=:prmCodDisco) and 
((CD_MUSICA.MUS_NUMERO)=:prmCodMusica))
order by TB_COMPOSITOR.AUT_NOME, CD_MUSICA.MUS_CODIGO, CD_MUSICA.MUS_NUMERO;

Essa query traz os dados de uma entidade associativa (Musica X Compositor) 
que guarda os códigos do(s) compositor(es) de cada faixa de um 
disco/fita/CD (Código do disco, Código da faixa, Código do Compositor).

Acontece que essa query é necessária para apresentar os dados enquanto 
estou navegando pelos registros já existentes já que na tabela só tenho os 
códigos que são chaves estrangeiras.

Agora, quando precisar incluir um registro novo, a query é bem mais 
simples, como abaixo:

select MUS_CODIGO, MUS_NUMERO, MUS_AUTOR from TB_MUSCOMP

Isso porque na gravação de um registro novo só preciso gravar os campos 
acima, definidos no select, que são chaves estrangeiras de outras tabelas 
(Músicas, Compositores).

Agora, a questão: posso associar duas querys diferentes a um mesmo dbGrid, 
alternando entre uma e outra, dependendo se estiver navegando ou incluindo, 
ou tem jeito mais fácil de resolver o problema?

Obrigado. 



-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.11.11 - Release Date: 16/5/2005





Mais detalhes sobre a lista de discussão lista