Programación General > Visual Basic 6.0 e inferiores
Dll Conexion A Datos
(1/1)
Fany10:
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: Text --- Private c As ADODB.Connection Private rst As ADODB.Recordset '********************propiedades del componente*************************Private gsConsulta As StringPrivate mNumRegistro As Integer Public Property Let consulta(ByVal sql As String) gsConsulta = sqlEnd Property Public Property Get consulta() As String consulta = gsConsultaEnd Property Public Property Get numRegistro() As IntegerOn 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.DescriptionEnd Property '**********************metodos del componente********************** Public Function ejecutarconsulta() As VariantOn 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.DescriptionEnd 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.DescriptionEnd 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.DescriptionEnd Sub
Gracias a todos
Navegación
Ir a la versión completa