Está correto, o generator corre direto no banco, fora da transação. Das duas uma, ou você roda essa consulta uma linha antes do post (mesmo assim se der erro no post, o generator já vai ter rodado) ou crie uma trigger direto no banco.
[] Andrei 2009/10/14 Alisson Yahoo <[email protected]> > Faço uma consulta que busca e incrementa o generator no BD: > > Select Gen_Id(Gen_PedVenda, 1) as Ultimo From Rdb$Database; > > Esse código está dentro uma transação juntamente com uma rotina de > inserção > em BD. Se der erro na inserção a mesma é cancelada, mas o incremento do > generator não. Isso é normal? O que pode estar acontecendo? > > > [As partes desta mensagem que não continham texto foram removidas]

