TRANSACTION ODBC ADO.NET

MAXCIM 07/12/2011 14:38:38
#390789
Olá amigos...

como faço para trabalhar com Transação com ado.net?


no ADODB do VB6 eu abria a conexão aplicaca o conex.begintrans
fazia varias consultas.. fazia diversos inserts e updates
e por fim chamava o conex.comit.

e agora no vbnet? como fica essa parada?

tentei usar :

try
Dim Tra As OdbcTransaction
Tra = Conn3.BeginTransaction
myCommand.Transaction = Tran

[ô][ô]-->>CODIGO

Tra.Commit()
Catch ex As Exception
Tra.Rollback()
end try



o Problema esta em fazer varias consultas...
gero a 1ª query e faço um LOOP
desse LOOP eu vou fazendo novas consultas e de acordo com resultado faço um INSERT ou UPDATE.
me gera erro ao executar a 2ª query dizendo que [Ô]JÁ EXISTE UM DATAREADER ABERTO ASSOCIADO A ESTE COMANDO QUE DEVE SER FECHADO PRIMEIRO[Ô]

se algum poder me ajudar...

desde ja agradeço.
JABA 07/12/2011 18:04:17
#390801
O erro pelo visto nao tem nada haver com transação. O erro esta no datareader. Voce tem que fazer uma depuração de codigo e verificar se ele esta realmente fechando o datareader. Force o fechamento do datareader e veja se o restante do codigo funciona assim.
MAXCIM 07/12/2011 18:08:12
#390803
Olá Jaba, mas como fechar o 1º reader? se ainda o estou lendo em LOOP?

le reader
loop
abre 2º reader [ô] o erro esta aqi
codigos....
end loop
JABA 07/12/2011 18:20:31
#390805
coloca toda a rotina ai pra gente poder analisar.
Tópico encerrado , respostas não são mais permitidas