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 ???
Alguém pode me ajudar ???
Delphus
Curtir tópico
+ 0
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)::
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+
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
Clique aqui para fazer login e interagir na Comunidade :)