[firebase-br] Obter o nome do generator

MAURICIO COSTA maximmumsistemas em gmail.com
Seg Set 5 00:44:34 -03 2011


Boa noite Paulo. Coloca esta função, ela te tras o nome do generation.
No meu exemplo abaixo, DM.SQLConecRETAG. DM é o meu data modulo
e SQLConecRETAG é o meu SQLConnection.
Exemplo de uso:
Nome do generation no banco de dados GEN_CLIENTES. Ao criar um nono cliente
você terá o genetatio da seguinte forma. No OnNewRecord da tabela clientes
você fara o seguinte:

Procedure OnNewRecord(blalalal);
Var
   IdCodigo : Integer;
Begin
  IdCodigo := CrirIDGenner(GEN_CLIENTES);
  QryClientes.FiledByName(CODIGO).AsInteger := IdCodigo;
//Que é o valor que o SQLConnection pegou de generation do banco de dados.
end;

Function CrirIDGenner(GenName : String) : Integer;
Var
   ResultSet : TCustomSQLDataSet;
   SQLstmt : String;
Begin
   SQLstmt := 'Select gen_id(' + GenName + ', 1) as valor From
RDB$DATABASE;';
   ResultSet := Nil;

Try
   DM.SQLConecRETAG.Execute(SQLstmt, Nil, @ResultSet);
   If Assigned(ResultSet) Then
   Begin
      Result := ResultSet.FieldByName('valor').AsInteger;
   end;
   Finally
      ResultSet.Free;
end;//Try
end;

Espero de ajudado amigo é deste modo que utilizo. Qualquer dúvida entra em
contato por e-mail.

Em 2 de setembro de 2011 10:18, Diego Maccari <diegomaccari em ig.com.br>escreveu:

>
> Sim Paulo existe um padrão e a única maneira que encontrei de fazer isso
> foi justamente
> usando a tal POG Programação Orientada a Gambiarra
>
> valeu Obrigado por responder.
>
> ------------------------------**--------------------
> From: "Paulo Portella" <pportellaa.firebase em gmail.com**>
> Sent: Friday, September 02, 2011 9:30 AM
> To: "FireBase" <lista em firebase.com.br>
>
> Subject: Re: [firebase-br] Obter o nome do generator
>
>  "SE" foi/for você quem criou/criará a base, então não custa nada você
>> "padronizar" os nomes de todos os "objetos" (tabelas, indices, chaves,
>> triggers, SPs) nomeando-as para fazer referência/lembrança às tabelas
>> envolvidas.
>>
>> Compreendeu? isso te facilitaria, mas não resolveria.
>>
>> Vida de americano é assim: iPhone, iPod, iPad, iMac….
>> Já a de brasileiro é assim:IPTU, IPVA, ICMS, IPI etc
>>
>>
>> Em 02/09/2011 08:34, Hélio Oliveira escreveu:
>>
>>> Bom dia Diego!
>>>
>>> Salvo engano não há nenhuma vinculação do generator com a tabela. O
>>> comando de criação do mesmo é bem simples - CREATE GENERATOR
>>> <NOME_DO_GENERATOR> ---- você pode até opter por meio das tabelas de sistema
>>> o/os nome(s) dos generators, porém sem saber a quem ele(s) pertence(m).
>>>
>>>> Bom dia pessoal
>>>>
>>>> Existe alguma maneira de obter o nome do generator associado a uma
>>>> determinada tabela ?
>>>>
>>>> Exemplo:
>>>>
>>>> Se eu tiver uma tabela cujo o nome é:
>>>> TB_C100 seu gen será GEN_TB_C100_ID
>>>>
>>>> em SQL ou através de alguma função no Delphi preciso obter no nome do
>>>> generator que a tabela TB_C100 está usando;
>>>>
>>>>
>>>
>>>
>>>
>> ______________________________**________________
>> 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<http://www.firebase.com.br/fb/artigo.php?id=1107>
>> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<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<http://www.firebase.com.br/fb/artigo.php?id=1107>
> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>



Mais detalhes sobre a lista de discussão lista