Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Cerrar conexion y recordset's

Estas en el tema de Cerrar conexion y recordset's en el foro de Visual Basic clásico en Foros del Web. Bueno me percate que cada vez que habria y utlizaba los recorset de mi programa.exe en el administrador de tareas de windows se creaba una ...
  #1 (permalink)  
Antiguo 01/10/2008, 10:20
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Cerrar conexion y recordset's

Bueno me percate que cada vez que habria y utlizaba los recorset de mi programa.exe en el administrador de tareas de windows se creaba una tarea(si habro 5 veces se crean 5 tareas y al cerrar el programa estas siguen activas) debido a q no cerre los recordset ni la conexion, intente con rsTabla1.close en el evento unload de cada form, pero el problema sigue, lo mismo hize con la conexion y nada como debo cerrar la conexion y los recorset correctamente.

Código:
'La conexion a la BD esta asi
Public Conex As New Connection

Public Sub Main()
    Conex.CursorLocation = adUseClient
    Conex.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DB_01.mdb;Password=;Persist Security Info=false"
    MDIForm1.Show
End Sub
saludos
  #2 (permalink)  
Antiguo 01/10/2008, 10:44
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Cerrar conexion y recordset's

Además de cerrar usando el método Close, debes llamar al destructor así:
Código vb:
Ver original
  1. Set Objeto = Nothing
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 01/10/2008, 11:45
 
Fecha de Ingreso: noviembre-2006
Mensajes: 227
Antigüedad: 17 años, 5 meses
Puntos: 6
Respuesta: Cerrar conexion y recordset's

El ejemplo de David el Grande es muy bueno en lo personal siempre creo una rutina que me cierra mis conexiones y mis registros a lo hora de salirme del programa asi:

Código:
Sub Desconectar()
    On Local Error Resume Next
    rs.Close
    Set rs = Nothing
    cnn.Close
    Set cnn = Nothing
End Sub
Espero te Sirva.
  #4 (permalink)  
Antiguo 02/10/2008, 13:07
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Cerrar conexion y recordset's

Bueno no me manda ningun error cuando lo ejecuto desde vb pero al crear el .exe y ejecutarlo desde este me sale este error:
Error 3704 en tiempo de ejecucion
la operacion no esta permitida si el objeto esta cerrado
Cierro los recordset de esta manera
Código:
Private Sub Form_Unload(Cancel As Integer)
'Cierra los recordset
If Not rsMedida Is Nothing Then
   rsMedida.Close
   Set rsMedida = Nothing
End If
End Sub
Tengo 10 recordset en diferentes formularios que se habren y cierran a cada rato, a veces me salta el error y otras no, el error se produce cuando cierro el programa y se queda activo en el admiistrador de tareas de windows, le doy finalizar programa y salta el error?
Por ultimo si no cierro los recordset que pasa, cual seria el problema por q el inicio del problema era este:
Cita:
Iniciado por franko1809 Ver Mensaje
Bueno me percate que cada vez que habria y utlizaba los recorset de mi programa.exe en el administrador de tareas de windows se creaba una tarea(si habro 5 veces se crean 5 tareas y al cerrar el programa estas siguen activas)
Ocurria por que dejaba una linea de codigo referenciada a otro form algo asi frmboleta.actualizar

Última edición por franko1809; 02/10/2008 a las 13:16
  #5 (permalink)  
Antiguo 02/10/2008, 13:20
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Cerrar conexion y recordset's

Prueba poniendo On Error Resume Next al inicio de la función .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 20/11/2008, 14:43
Avatar de theharder  
Fecha de Ingreso: junio-2008
Ubicación: Tuluá, Palmira, Cali (Colombia)
Mensajes: 18
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Cerrar conexion y recordset's

Hola buen día!!!! gracias de antemano a los que me puedan ayudar. Haber lo que sucede es que tengo un formulario al igual que la persona que inicio el foro con más de 1 recordset, tengo tres paneles y un MSHFlexgrid. En los paneles cargo la información de los clientes al estilo datacontrol, pero sin usar este control, lo hago con recordsets que reconozcan eventos. Aqui esta la dir de donde aprendi a hacerlo de tal forma: http://www.elguille.info/vb/cursos_vb/BASICO/basico41.htm#ADOsindatacontrol

He logrado abrir los recordset sobre la misma conexión, pero no puedo cerrarlos al cargar el formulario. PREGUNTA: SE PUEDEN CERRAR LOS RECORDSET AL CARGAR EL FORMULARIO? ¿DE QUE FORMA PUEDO HACER PARA QUE LA FUNCIÓN QUE DETALLAN EN LOS ANTERIORES POST PARA CERRAR LAS CONEXIONES Y LOS RECORDSET LA PUEDA INVOCAR AL HACER CLIC EN EL BOTON CERRAR (LA X ROJA QUE ESTA EN LA ESQUINA SUPERIOR DERECHA DEL FORMULARIO ) DEL FORM?

Salu2 y espero que me puedan ayudar expertos!!!!
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 01:41.