Foros del Web » Programación para mayores de 30 ;) » .NET »

Conexión abierta pero indica Cerrada

Estas en el tema de Conexión abierta pero indica Cerrada en el foro de .NET en Foros del Web. Hola amigos tengo el siguiente problema ojala me puedan ayudar, resulta que tengo la conexión abierta a la base de datos (postgres) pero me dice ...
  #1 (permalink)  
Antiguo 11/07/2014, 19:13
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años, 7 meses
Puntos: 2
Conexión abierta pero indica Cerrada

Hola amigos tengo el siguiente problema ojala me puedan ayudar, resulta que tengo la conexión abierta a la base de datos (postgres) pero me dice que está cerrada. Acá está el código.


Código vb:
Ver original
  1. conn.open()
  2. MsgBox(conn.State.ToString)
  3. Try
  4.     pgCommand = New NpgsqlCommand("SELECT columna1,columna2 FROM tabla WHERE campo3 = @dato;")
  5.     pgCommand.Parameters.AddWithValue("@dato", primero)
  6.     query_result = pgCommand.ExecuteReader()
  7.     If query_result.HasRows Then
  8.         MsgBox(conn.State.ToString)
  9.     End If
  10.     Do While query_result.Read
  11.         MsgBox(query_result.GetValue(0).ToString)
  12.     Loop
  13. Catch ex As Exception
  14.     MsgBox(ex.Message)
  15. End Try
  16. conn.Close()
  #2 (permalink)  
Antiguo 14/07/2014, 00:58
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 10 meses
Puntos: 606
Respuesta: Conexión abierta pero indica Cerrada

Estas creando un comando pero no le indicas en que conexión lo ha de ejecutar. Por eso aunque ya has abierto una, el comando no tiene ninguna conexión relacionada y por eso da ese error. La solución es muy sencilla, modifica esta linia:

Código:
  pgCommand = New NpgsqlCommand("SELECT columna1,columna2 FROM tabla WHERE campo3 = @dato;")
Por esta otra:

Código:
  pgCommand = New NpgsqlCommand("SELECT columna1,columna2 FROM tabla WHERE campo3 = @dato;", conn)
De esta forma al constructor le indicas que conexión ha de usar para trabajar ;)
__________________
Aviso: No se resuelven dudas por MP!

Etiquetas: abierta, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:30.