• Domingo 22 de Diciembre de 2024, 23:05

Autor Tema:  Re: retornar un recordset desde una clase  (Leído 943 veces)

juanweston

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: retornar un recordset desde una clase
« en: Viernes 5 de Septiembre de 2003, 12:12 »
0
mi problema es que quiero retornar un recordset ejecutando un metodo de una clase pero me queda cerrado y me dice que no puede abrirlo. el codigo resumido seria el siguiente:

Private Sub Form_Load()
  Dim rs As New ADODB.Recordset
  Dim Consulta As New cConsulta
 
  Set rs = Consulta.Ejecutar("SELECT * FROM clientes")
 
  // AQUI ESTA MI PROBLEMA. ya me dice que el recordset no se puede abrir
 
  Set rs = Nothing
  Set Consulta = Nothing
End Sub

Public Function Ejecutar(consulta as string) As ADODB.Recordset
  Dim cn As New cConexion
 
  cn.Inicializar App.path & "base de datos.mdb", ClaveBD
  cn.SQL consulta

  Set Ejecutar = cn.rs     // hasta aqui todo OK. el recordset devuelve registros
  Set cn = Nothing
End Function
:question:

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: retornar un recordset desde una clase
« Respuesta #1 en: Viernes 5 de Septiembre de 2003, 13:02 »
0
Creo que el problema lo tienes porque destruyes la referencia al objeto cConexion (set cn = Nothing) antes de tiempo. Si defines 'cn' a nivel de módulo y destruyes la referencia al objeto con el evento 'Terminate' de la clase en vez de al finalizar la función, tu problema debe quedar resuelto.

Suerte.

angelescj

  • Miembro MUY activo
  • ***
  • Mensajes: 154
    • Ver Perfil
retornar un recordset desde una clase
« Respuesta #2 en: Viernes 5 de Septiembre de 2003, 13:06 »
0
Te envío un código con lo que creo pretendes hacer, y que funciona, ya que como lo tienes todo en clases hay código del que sólo se puede suponer lo que hace.
Espero que te sirva
:suerte:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.