Pesquisar na Comunidade
Mostrando resultados para as tags ''committrans''.
Encontrado 1 registro
-
Bom dia. Estou com o seguinte problema. Quando faço um insert em uma tabela do banco de dados, utilizo o set nocount para buscar o valor do campo chave que foi inserido: Sql = "SET NOCOUNT ON INSERT INTO TBL_TEMP_COMMIT(TEXTO) VALUES('TESTE1234')SELECT @@IDENTITY AS CODIGO SET NOCOUNT OFF" O problema é que quando utilizo essa linha dentro de uma transação, quando vou fazer o commit, recebo um erro de que nenhuma transação está ativa. Segue o código detalhado: MsgBox "INICIANDO GRAVAÇÃO DB_SISFILIAL" Sql = "SET NOCOUNT ON INSERT INTO TBL_TEMP_COMMIT(TEXTO) VALUES('TESTE1234')SELECT @@IDENTITY AS CODIGO SET NOCOUNT OFF" MsgBox "INICIANDO TRANSAÇÃO" conexao.BeginTrans TBL.Open Sql, conexao, adOpenForwardOnly COD = TBL("CODIGO") conexao.CommitTrans MsgBox "COMMIT - " & COD TBL.Close Realizei um teste retirando o SET NOCOUNT, e o sistema consegue fazer o commit da transação. Mas o que ta me encucando mesmo, é que quando rodo o sistema pelo código fonte, funciona perfeitamente o nocount com o commit. Quando compilo e rodo o exe na mesma máquina, ele da o erro de nenhuma transação ativa, sendo que até segunda feira agora estava tudo ok. Desde já, agradeço a atenção. ******EDIT***************** Fiz mais alguns teste e descobri que se tirar o SELECT @@IDENTITY AS CODIGO o projeto compilado funciona, e consigo fazer o commit, porem não tenho o retorno do campo chave.