[firebase-br] Valor de AutoIncremento
Fausto
fausto.s.a em uol.com.br
Sáb Dez 19 07:30:28 -03 2009
Em 17/12/2009 16:27, Augusto junior escreveu:
> Ola...
> Uso o MDO sim ... pena que o projeto parou , ne?
> vou ver como funciona ...
> muito obrigado
> Guto
>
> 2009/12/17 José Mauricio Barbisan Zottis<bzottis em ig.com.br>
>
>> OLÁ, se vc usa o MDO vc pode colocar no Dataset o campo, o generator e
>> onnewrecord que ele já tras o valor ,
>> se vc que usar SP
>>
>> CREATE PROCEDURE PROC_RETORNA_GEN_CODIGO_ANUAL
>> returns (
>> atual integer)
>> as
>> BEGIN
>> ATUAL = GEN_ID(Gen_codigo_anual,1);
>> SUSPEND;
>> END^
Eu utilizo DBExpress, e uso esta função aqui:
function RetornaID(Tabela: string): Integer;
var
SqlAux:TSQLDataSet;
begin
SqlAux := TSQLDataSet.Create(Self);
SqlAux.SQLConnection := NomeDaSuaConexão;
SqlAux.CommandText := 'SELECT GEN_ID(GEN_' + Tabela + '_ID, 1) AS
CODIGO FROM RDB$DATABASE';
SqlAux.Open;
Result := SqlAux.FieldByName('CODIGO').asInteger;
SqlAux.Close;
SqlAux.Free;
end;
Creio que possa adaptá-la para o mdo, pois ela ficaria bem generica..
Basta chama-la no evento BeforePost.
--
Fausto Alves
Skype:faustoalves
msn:faustoalves em com4.com.br
Franca-SP
Enviado pelo Mozilla Thunderbird
http://br.mozdev.org/thunderbird
Mais detalhes sobre a lista de discussão lista