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

Leer valor de Base de datos

Estas en el tema de Leer valor de Base de datos en el foro de Visual Basic clásico en Foros del Web. Hola, utilizo VB 2005, y mi problema es que quiero crear una función del tipo "Dlookup" de VB Access, en la que con tres variables: ...
  #1 (permalink)  
Antiguo 29/04/2008, 15:43
 
Fecha de Ingreso: marzo-2008
Mensajes: 127
Antigüedad: 16 años, 1 mes
Puntos: 1
Leer valor de Base de datos

Hola, utilizo VB 2005, y mi problema es que quiero crear una función del tipo "Dlookup" de VB Access, en la que con tres variables: "Nombre Campo", "Tabla" ,"Condicion Where", me devuelva el valor del primero.
El código que utilizo es este, pero no funciona. Un cable "plis"
Código:
    Function LeerDato(ByVal sCampo As String, ByVal sTabla As String, ByVal sWhere As String) As String
        Dim MiConexion As String
        MiConexion = "Dsn=MiDsn;uid=admin;pwd=1234"
        Dim cxn As Odbc.OdbcConnection
        cxn = New OdbcConnection
        cxn.ConnectionString = MiConexion
        cxn.Open()
        Dim sSql As OdbcCommand
        sSql = New OdbcCommand
        sSql.CommandText = "select " & sCampo & " from " & sTabla & " where " & sWhere
        sSql.Connection.CreateCommand()
        LeerDato = sSql.ExecuteReader.ToString
    End Function
La conexión está bien, solo que en la última línea me dice que la conexión no está inicializada.
Tal vez exista alguna otra función que haga esto.
Gracias anticipadas
  #2 (permalink)  
Antiguo 01/05/2008, 11:05
 
Fecha de Ingreso: marzo-2008
Mensajes: 127
Antigüedad: 16 años, 1 mes
Puntos: 1
Re: Leer valor de Base de datos

Bueno, me ha costado, pero lo he resuelto. Lo dejo ahí por si a alguien le interesa.
Código:
   Public Function LeerDato(ByVal sCampo As String, ByVal sTabla As String, ByVal sWhere As String) As Object
        Dim MiConexion As String

        MiConexion = "Dsn=MiDsn;uid=user;pwd=1234"
        Dim cxn As Odbc.OdbcConnection = New OdbcConnection
        cxn.ConnectionString = MiConexion

        Dim sSql As String = "select " & sCampo & " from " & sTabla & " where " & sWhere
        Dim Adapter As OdbcDataAdapter = New OdbcDataAdapter(sSql, cxn)
        Dim MiDataSet As DataSet = New DataSet
        Adapter.Fill(MiDataSet, sTabla)
        LeerDato = MiDataSet.Tables(0).Rows(0)(0)
    End Function
En este caso utilizo una conexión ODBC, habría que adaptarlo para otro tipo de conexiones.
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 18:14.