Fórum Generator no DBEXPRESS / FIREBIRD #45915

09/08/2004

0

Tenho um generator em uma trigger criada em um banco de dados firebird. No IBX era facinho colocar o generator mas troquei para SQLdataset(Dbexpress) e naum sei como faço para colocar o generator.
Alguém pode me ajudar ???


Delphus

Delphus

Responder

Posts

10/08/2004

Afarias

Não entendi o lance da Trigger --- ou vc gera o valor no banco (trigger) *OU* na aplicação!!

na aplicação é simples (dê um desconto no código pq não conheço DBX)::

function NovoID(const NomeGenerator: string): Integer;
const
  sqlText = ´SELECT GEN_ID(¬s, 1) FROM RDB$DATABASE´;
begin
  with SQLQuery do
  begin
    { abre a transação }
    try
      SQL.Text := Format(sqlText, [NomeGenerator]);
      ExecSQL;
      Result := Fields[0].AsInteger;
    finally
      { fecha a transação }
    end;
  end;
end;


dai é só usar o código acima onde desejar... como num evento OnNewRecord ou BeforePost de um DataSet... ou no BeforeUpdateRecords de um DataSetProvider... ou onde for melhor!

ex::

DataSetTal.FieldByName(´CODIGO´).AsInteger := NovoID(´gerador1´);



T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar