Pegar o ultimo codigo de um generator
olá galera tenho esse codigo que queria saber como exibo o resultado na caixa de texto do meu dbedit, queria que quando clicasse no botão novo ele me desse o ultimo codigo e exibisse na caixa de texto!
Function RetornaChave(Indice: String;incremento:integer): Integer;
begin
dm.cdsId.Close;
dm.CdsId.CommandText:=´SELECT GEN_ID(´ + Indice +´,´+inttostr(incremento)+´) AS ID_RET FROM RDB$DATABASE´;
dm.CDsId.Open;
if dm.CdsId.IsEmpty then
raise Exception.Create(´Não foi criado nenhum valor.´)
else
result := dm.CdsId.FieldByName(´ID_RET´).AsInteger;
end;
ta aí a função, mais nau sei como usa-la! e queria intende -la tmb!
esperam q tenham intendido, abraços
Function RetornaChave(Indice: String;incremento:integer): Integer;
begin
dm.cdsId.Close;
dm.CdsId.CommandText:=´SELECT GEN_ID(´ + Indice +´,´+inttostr(incremento)+´) AS ID_RET FROM RDB$DATABASE´;
dm.CDsId.Open;
if dm.CdsId.IsEmpty then
raise Exception.Create(´Não foi criado nenhum valor.´)
else
result := dm.CdsId.FieldByName(´ID_RET´).AsInteger;
end;
ta aí a função, mais nau sei como usa-la! e queria intende -la tmb!
esperam q tenham intendido, abraços
Thiagoangra2
Curtidas 0
Respostas
Osocram
28/08/2009
Indice: = nome do seu generator
incremento: = valor p incremetar, ex: se for 1 então vai incrementar d 1 em 1.
talvez p facilitar um pouco mais pode fazer uma mudança no codigo
Function RetornaChave(Indice: String;incremento:integer [b:d05dc8f2d3]= 1[/b:d05dc8f2d3]): Integer;
Com isso a sua função vai entender que se vc não passar nenhum valor para o parametro Incremento ele vai jogar um valor default = 1;
Para usar, no evento AfterInsert do seu DataSet
incremento: = valor p incremetar, ex: se for 1 então vai incrementar d 1 em 1.
talvez p facilitar um pouco mais pode fazer uma mudança no codigo
Function RetornaChave(Indice: String;incremento:integer [b:d05dc8f2d3]= 1[/b:d05dc8f2d3]): Integer;
Com isso a sua função vai entender que se vc não passar nenhum valor para o parametro Incremento ele vai jogar um valor default = 1;
Para usar, no evento AfterInsert do seu DataSet
modo antigo: edit.text := IntToStr(RetornaChave(NomeGen,1));
modo novo: edit.text := IntToStr(RetornaChave(NomeGen));
olá galera tenho esse codigo que queria saber como exibo o resultado na caixa de texto do meu dbedit, queria que quando clicasse no botão novo ele me desse o ultimo codigo e exibisse na caixa de texto!
Function RetornaChave(Indice: String;incremento:integer): Integer;
begin
dm.cdsId.Close;
dm.CdsId.CommandText:=´SELECT GEN_ID(´ + Indice +´,´+inttostr(incremento)+´) AS ID_RET FROM RDB$DATABASE´;
dm.CDsId.Open;
if dm.CdsId.IsEmpty then
raise Exception.Create(´Não foi criado nenhum valor.´)
else
result := dm.CdsId.FieldByName(´ID_RET´).AsInteger;
end;
ta aí a função, mais nau sei como usa-la! e queria intende -la tmb!
esperam q tenham intendido, abraços
GOSTEI 0
Thiagoangra2
28/08/2009
vlw galera conseguir usar o codigo! :wink:
GOSTEI 0