... Ya hay un DataReader abierto?

28/04/2006 - 03:47 por MalKaViAN_NeT | Informe spam
bueno primero ACLARAR que no hay ningún datareader que no cierre despues de
usarlo, en éste caso revisé el code varias veces para ver si se me había
olvidado alguno sin cerrar y no lo encontré, pero si tengo un
sqldataadapter que tengo abierto ligado a una consulta que hice a la misma
tabla que quiero abrirle otro datareader y es alli donde me sale el error.
miren el code:

[
Dim comando1 As New SqlClient.SqlCommand("select name,xtype,length
from syscolumns where id = " & intIdTabla, Me.Coneccion)
Dim MiAdaptador As New SqlClient.SqlDataAdapter(comando1)
Me.tmpTablaDatos = New Data.DataTable
MiAdaptador.Fill(Me.tmpTablaDatos)
]
ahora quiero abrir un nuevo datareader para hacerle una consulta a la misma
tabla y me sale el mismo error que cuando dejas abierto un datareader y lo
vuelves a abrir sin cerrarlo.
Supuse entonces que en el dataadapter queda abierto como el datareader(no
tengo mucho tiempo de migrar a .net) y traté llamando a su evento Disposed
pero sigue igual, si alguien puede guiarme se lo agradecería

Saludos
MaLkAvIAN_NeT
 

Leer las respuestas

#1 Alberto Poblacion
28/04/2006 - 08:25 | Informe spam
"MalKaViAN_NeT" wrote in message
news:
[
Dim comando1 As New SqlClient.SqlCommand("select name,xtype,length
from syscolumns where id = " & intIdTabla, Me.Coneccion)
Dim MiAdaptador As New SqlClient.SqlDataAdapter(comando1)
Me.tmpTablaDatos = New Data.DataTable
MiAdaptador.Fill(Me.tmpTablaDatos)
]
ahora quiero abrir un nuevo datareader para hacerle una consulta a la
misma
tabla y me sale el mismo error que cuando dejas abierto un datareader y lo
vuelves a abrir sin cerrarlo.
Supuse entonces que en el dataadapter queda abierto como el datareader(no
tengo mucho tiempo de migrar a .net) [...]



A ver si lo que pasa es que se ta ha olvidado abrir la conexión antes de
llamar al datareader. El dataadapter no tiene problema, porque si la
conexión se la encuentra cerrada, la abre, la usa, y la vuelve a cerrar.
Pero si después llamas a un datareader, tienes que hacer tú el Open, usar el
datareader, y luego hacer un Close de la conexión.

Preguntas similares