Home   Artículos   Recursos   Foros   
Artíclos recientes publicados en Latindevelopers:

Visual C++: NSDoubleEdit: Un control para el manejo de números decimales en Visual C++.
Visual C++: Implementando una Calculadora en Visual C++
Visual C++: CCommandLine: Una clase para el uso de la linea de comando
Visual C++: Una clase para el manejo del Registro


Dll de conexion a datos

Visual Formularios, MDI, Módulos, Class, DataReports, Rutime y mas..

Moderador: jAngel

Dll de conexion a datos

Notapor Fany10 el Lun Ago 07, 2006 3:54 am

Hola a todos,
Tengo el siguiente codigo en una dll en la cual quiero obtener los datos de una base de datos en interbase. Todo me funciona correctamente cuando establezco la propiedad de consulta a una consulta de sql que no tenga "where" (por ejemplo 'select * from empleados) , pero en cuanto hago una consulta del tipo ('select * from empleados where nombre="") entonces ya me salta un error "error en el metodo '~' del object '~'"
¿que puede estar pasando?


Código: Seleccionar todo
  Private c As ADODB.Connection
  Private rst As ADODB.Recordset
 
'********************propiedades del componente*************************
Private gsConsulta As String
Private mNumRegistro As Integer

Public Property Let consulta(ByVal sql As String)
   gsConsulta = sql
End Property

Public Property Get consulta() As String
    consulta = gsConsulta
End Property

Public Property Get numRegistro() As Integer
On Error GoTo err_numRegistro

    numRegistro = mNumRegistro
   
    Exit Sub
   
err_numRegistro:
    'MsgBox "Primero hay que ejecutar la consulta antes de acceder a esta propiedad"
    MsgBox "Num registro :" & Err.Description
End Property

'**********************metodos del componente**********************

Public Function ejecutarconsulta() As Variant
On Error GoTo err_conexion

  Dim varRecords As Variant
  If IsNull(consulta) Then
      MsgBox "No se puede continuar, no especifico ninguna consulta"
  Else
     Set rst = New ADODB.Recordset
     rst.CursorLocation = adUseClient
     rst.Open gsConsulta, c, adOpenKeyset, , adCmdText
     'Set varArray = recordset.GetRows(numrows)
     mNumRegistro = rst.RecordCount
     varRecords = rst.GetRows(rst.RecordCount)
     ejecutarconsulta = varRecords
  End If
 
  Exit Function
 
err_conexion:
   MsgBox "Ejecutar :" & Err.Description
End Function

'***************************eventos del componente******************************
Private Sub class_Initialize()
On Error GoTo err_class_Initialize

   Set c = New ADODB.Connection
   c.ConnectionString = "Provider=SIBPROvider.2;Data Source=localhost:d:\gestionADC.gdb;Persist Security Info=False"
   c.CursorLocation = adUseClient
   c.Open
   
   Exit Sub
   
err_class_Initialize:
   MsgBox "Inicializar :" & Err.Description
End Sub

Private Sub class_Terminate()
On Error GoTo err_terminate

    rst.Close
    Set rst = Nothing
    c.Close
    Set c = Nothing
   'MsgBox "termina"
   
   Exit Sub
   
err_terminate:
   MsgBox Err.Description
End Sub



Gracias a todos
Fany10
Novato
Novato
 
Mensajes: 7
Registrado: Lun Jun 26, 2006 2:57 am

Volver a Visual Basic / Visual Basic .NET

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados