[firebase-br] chave primaria duplicada

Eduardo Bahiense eduardo em icontroller.com.br
Qua Mar 5 11:14:56 -03 2008


Não precisaria o TAG. TMenuItem.Name, por si só já é único.
Claro, pode haver menus em vários forms com o mesmo nome, mas será 
sempre melhor analisar o código por uma identificação humanamente 
compreensível que por números.
Tudo que se precisa fazer é uma regra de nomenclatura, ou, usar as 
variáveis do ambiente do Delphi para isso.
Se contatnarmos form.name +'.'+TMenuItem.Name conseguimos um 
identificador único

'Form1.Incluir' ou 'FormCadastro.IncluirPessoa'.

Voltando à pergunta original, a tabela terá uma chave primária composta

PK__MENU_ITEM   - PK__USERID - ENABLED
'Form1.Incluir'   JOAO           T
'Form1.Incluir'   ALBERTO        T
'Form1.Incluir'   MARIA          F

Falta agrupar por Menu
A tabela de menus deveria ter como chave PK__MENU, PK__MENU_ITEM

Aqui usamos estrutura clássica de árvore com KEY - PARENT para poder 
comportar submenus em diversos níveis, mas isso é uma conversa bem 
diferente.

Abs

Eduardo

Nigro - Fábrica de Software escreveu:
> Associe um número na propriedade Tag de cada TMenuItem e faça esse valor de 
> TAG ser o PK, assim você controla dentre outras coisas a propriedade visible 
> do componente, de acordo com as TAGS linkadas com os direitos do usuário.....
> 
> ----- Original Message ----- 
> From: "Reijanio Nunes Ribeiro" <rnribeiro em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Wednesday, March 05, 2008 10:33 AM
> Subject: [firebase-br] chave primaria duplicada
> 
> 
> sei que muita gente vai chiar mais tem como, fazer o firebird aceitar chaves
> primarias duplicadas, triplicadas ou até mais, pois criei um sistema de
> controle de usuarios baseado nos tmenuitem e no caso os captions seriam as
> chaves primarias, e nesse caso preciso q aceite os registros duplicados tem
> como, ou tenho que trocar a chave mesmo
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa 
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 





Mais detalhes sobre a lista de discussão lista