[firebase-br] Como capturar relacionamentos no firebird

Cássio pajolista em gmail.com
Sáb Jul 29 18:07:10 -03 2006


ola galera boa noite , agradeço ao Paulo Portella pelas dicas mas nao era 
bem isso que eu queria , eu gostaria de ter sum select que me resultasse as 
relações que a tabela de clientes tem .. no meu exemplo ele tem relação com 
a tabela de cidades .. eu gostaria de saber se tem alguma maneira ou 
componete que me informe estar referencias para que eu posssa montar as 
minhas telas no delphi dinamicamente ... espero ter explicado melhor 
Obrigado pela atenção









----- Original Message ----- 
From: "Cássio" <pajolista-Re5JQEeQqe8AvxtiuMwx3w em public.gmane.org>
Newsgroups: gmane.comp.db.firebase.portuguese
Sent: Saturday, July 29, 2006 5:57 PM
Subject: Re: [firebase-br] Como capturar relacionamentos no firebird


teste
----- Original Message ----- 
From: "Cássio" 
<pajolista-Re5JQEeQqe8AvxtiuMwx3w-XMD5yJDbdMReXY1tMh2IBg em public.gmane.org>
Newsgroups: gmane.comp.db.firebase.portuguese
Sent: Friday, July 28, 2006 10:53 PM
Subject: [firebase-br] Como capturar relacionamentos no firebird


ola pessoal boa noite estou com a seguinte idéia na cachola e gostaria da
opinao de vcs sobre o assunto e se alguem faz desta maneira este tipo de
tratametno

primeirametne imagemos um cadastro de cliente com fazendo relacinamento com
um cadastro de cidades ..

do tipo

/******************************************************************************/
/****         Generated by IBExpert 2005.06.07 28/7/2006 22:45:11
****/
/******************************************************************************/

SET SQL DIALECT 3;

SET NAMES NONE;



/******************************************************************************/
/****                                Tables
****/
/******************************************************************************/



CREATE TABLE CIDADE (
    ID      INTEGER NOT NULL,
    NONE    VARCHAR(100) CHARACTER SET NONE,
    ESTADO  CHAR(2) CHARACTER SET NONE
);

CREATE TABLE CLIENTES (
    ID         INTEGER NOT NULL,
    NOME       VARCHAR(100) CHARACTER SET NONE,
    DADO1      VARCHAR(100) CHARACTER SET NONE,
    DADO2      VARCHAR(100) CHARACTER SET NONE,
    ID_CIDADE  INTEGER
);



/******************************************************************************/
/****                             Primary Keys
****/
/******************************************************************************/

ALTER TABLE CIDADE ADD CONSTRAINT PK_CIDADE PRIMARY KEY (ID);
ALTER TABLE CLIENTES ADD CONSTRAINT PK_CLIENTES PRIMARY KEY (ID);


/******************************************************************************/
/****                             Foreign Keys
****/
/******************************************************************************/

ALTER TABLE CLIENTES ADD CONSTRAINT R_CLI_CIDA FOREIGN KEY (ID_CIDADE)
REFERENCES CIDADE (ID) ON DELETE SET NULL ON UPDATE SET NULL
  USING INDEX I_CHACIDA;


/******************************************************************************/
/****                              Privileges
****/
/******************************************************************************/


/* Privileges of users */
GRANT SELECT ON RDB$ROLES TO PUBLIC;


acredito que isto esteja correto , caso nao esteja me corrijam por favor ...


o que eu gostaria de fazer é descobrir uma maneira de identicar este
relacionamento em minha aplicação em tempo de execução e montar todos este
relacionamento para o usuario poder cadastrar o cliente dele bunitinho
pegando a cidade da tabela de cidade por exemplo por um componente
dblookupfield no delphi ... fazendo desta maneira caso crie um novo
relaciomando com a tabela de clientes (do tipo por exemplo uma tabela de
profissão que tenha que ser informada no momento do cadastro de cliente ) e
aplicação identifique este relacionametno e automaticamente informe os
campos correspondentes ao forumulario ( tudo em tempo de execução  ) como o
proprio ibexpert faz com os campos na guia de dados quando há relacionamento
... grato a todos pela antenção e uma boa noite Obrigado ....


______________________________________________
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