Dll de conexion a datos

Tambien pueden postear temas relacionados con el antiguo Visual Basic

Dll de conexion a datos

Notapor Fany10 » Lun Ago 07, 2006 3:55 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
  1.   Private c As ADODB.Connection

  2.   Private rst As ADODB.Recordset

  3.  

  4. '********************propiedades del componente*************************

  5. Private gsConsulta As String

  6. Private mNumRegistro As Integer

  7.  

  8. Public Property Let consulta(ByVal sql As String)

  9.   gsConsulta = sql

  10. End Property

  11.  

  12. Public Property Get consulta() As String

  13.    consulta = gsConsulta

  14. End Property

  15.  

  16. Public Property Get numRegistro() As Integer

  17. On Error GoTo err_numRegistro

  18.  

  19.    numRegistro = mNumRegistro

  20.    

  21.    Exit Sub

  22.    

  23. err_numRegistro:

  24.    'MsgBox "Primero hay que ejecutar la consulta antes de acceder a esta propiedad"

  25.     MsgBox "Num registro :" & Err.Description

  26. End Property

  27.  

  28. '**********************metodos del componente**********************

  29.  

  30. Public Function ejecutarconsulta() As Variant

  31. On Error GoTo err_conexion

  32.  

  33.  Dim varRecords As Variant

  34.  If IsNull(consulta) Then

  35.      MsgBox "No se puede continuar, no especifico ninguna consulta"

  36.  Else

  37.     Set rst = New ADODB.Recordset

  38.     rst.CursorLocation = adUseClient

  39.     rst.Open gsConsulta, c, adOpenKeyset, , adCmdText

  40.     'Set varArray = recordset.GetRows(numrows)

  41.      mNumRegistro = rst.RecordCount

  42.      varRecords = rst.GetRows(rst.RecordCount)

  43.      ejecutarconsulta = varRecords

  44.   End If

  45.  

  46.   Exit Function

  47.  

  48. err_conexion:

  49.    MsgBox "Ejecutar :" & Err.Description

  50. End Function

  51.  

  52. '***************************eventos del componente******************************

  53. Private Sub class_Initialize()

  54. On Error GoTo err_class_Initialize

  55.  

  56.   Set c = New ADODB.Connection

  57.   c.ConnectionString = "Provider=SIBPROvider.2;Data Source=localhost:d:\gestionADC.gdb;Persist Security Info=False"

  58.   c.CursorLocation = adUseClient

  59.   c.Open

  60.  

  61.   Exit Sub

  62.  

  63. err_class_Initialize:

  64.   MsgBox "Inicializar :" & Err.Description

  65. End Sub

  66.  

  67. Private Sub class_Terminate()

  68. On Error GoTo err_terminate

  69.  

  70.    rst.Close

  71.    Set rst = Nothing

  72.    c.Close

  73.    Set c = Nothing

  74.   'MsgBox "termina"

  75.    

  76.    Exit Sub

  77.    

  78. err_terminate:

  79.    MsgBox Err.Description

  80. End Sub




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


    

Volver a Visual Basic .NET

¿Quién está conectado?

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

cron