Ver Mensaje Individual
  #14 (permalink)  
Antiguo 23/08/2011, 10:18
Avatar de freemanworld
freemanworld
 
Fecha de Ingreso: agosto-2008
Mensajes: 191
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: VB.NET Problemas conexión Con clases

Esta es la Clase Que he creado y que es la que me dá un error:

Código:
Imports System.Data.Odbc
Imports System.Data.OleDb
Imports System.Data
Public Class CMenai
    Private conexionBD As OleDb.OleDbConnection
    Private sql As OleDb.OleDbCommand
    Private datos As OleDb.OleDbDataReader
    Public lista As String
    Public CONCESIONARIOMEN As String
    Public UsuarioMEN As String
    Public PassMEN
    Public PcMEN
    Public RAM_MEN
    Public Equipo_MEN
    Public MAIL_MEN
    Public APE_MEN
    Public IMP_MEN

    'Constructor de la clase
  
    Public Sub conectar()
        Dim ruta2 As String
       
        ruta2 = Application.StartupPath & "\bdDatabase.mdb;Jet OLEDB:Database Password=pass;"
        'conexionBD = New OdbcConnection("dsn=RedUtility;uid=root;pwd=pass;")
        conexionBD = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & ruta2)
        conexionBD.Open()
        sql = New OleDb.OleDbCommand
        sql.Connection = conexionBD
    End Sub

    Public Function Obtener_Usuario(ByVal UsuarioMEN As String)
        Dim user As String = ""
        sql.CommandText = String.Format("Select Usuario from MENAI where Nom_Usuario = '{0}'", UsuarioMEN)
        'On Error GoTo Usr_usuario
        datos = sql.ExecuteReader

        If datos.Read() Then
            user = datos("Usuario")
        End If
        datos.Close()
        Return user
        'Usr_usuario:
        '   user = ""
    End Function

    Public Function Obtener_Nequipo(ByVal PcMEN As String)
        Dim user As String = ""
        conexionBD.Open()
        sql.CommandText = String.Format("Select Nombre_PC from MENAI where Nom_Usuario = '{0}'", PcMEN)
        'On Error GoTo Err_NombreEquipo
        datos = sql.ExecuteReader
        If datos.Read() Then

            user = datos("Nombre_PC")
        End If

        datos.Close()
        Return user
        'Err_NombreEquipo:
        '      user = ""
        '     Resume Next
    End Function

    Public Function Obtener_Password(ByVal PassMEN As String)

        Dim user As String = ""

        sql.CommandText = String.Format("Select Password from MENAI where Nom_Usuario = '{0}'", PassMEN)
        On Error GoTo Usr_Password
        datos = sql.ExecuteReader

        If datos.Read() Then

            user = datos("Password")

        End If
        Resume Next
        datos.Close()
        Return user
Usr_Password:
        user = ""
    End Function

    Public Function Obtener_IP(ByVal IP_MEN As String)
        Dim user As String = ""
        sql.CommandText = String.Format("Select IP from MENAI where Nom_Usuario = '{0}'", IP_MEN)

        datos = sql.ExecuteReader
        If datos.Read() Then
            '  On Error GoTo Err_IP
            user = datos("IP")
        End If

        datos.Close()
        Return user
        'Err_IP:
        'user = ""
    End Function

    Public Function Obtener_InfoEquipo(ByVal Equipo_MEN As String)
        Dim user As String = ""
        sql.CommandText = String.Format("Select Equipo from MENAI where Nom_Usuario = '{0}'", Equipo_MEN)
        'On Error GoTo Usr_Equipo
        datos = sql.ExecuteReader
        If datos.Read() Then

            user = datos("Equipo")
        End If

        datos.Close()
        Return user
        'Usr_Equipo:
        'user = ""
    End Function
    Public Function Obtener_RAM(ByVal RAM_MEN As String)
        Dim user As String = ""
        sql.CommandText = String.Format("Select RAM from MENAI where Nom_Usuario = '{0}'", RAM_MEN)
        'On Error GoTo Usr_RAM
        datos = sql.ExecuteReader
        If datos.Read() Then

            user = datos("RAM")
        End If

        datos.Close()
        Return user
        'Usr_RAM:
        '   user = ""
    End Function
    Public Function Obtener_Mail(ByVal MAIL_MEN As String)
        Dim user As String = ""


        sql.CommandText = String.Format("Select mail from MENAI where Nom_Usuario = '{0}'", MAIL_MEN)
        On Error GoTo Usr_Mail
        datos = sql.ExecuteReader

        If datos.Read() Then
            user = datos("mail")
        End If
        datos.Close()
        Return user
Usr_Mail:
        user = ""

    End Function
    Public Function Obtener_Apellido(ByVal APE_MEN As String)
        Dim user As String = ""
        conectar()
        sql.CommandText = String.Format("Select Ape_Usu from MENAI where Nom_Usuario = '{0}'", APE_MEN)
        On Error GoTo Usr_err
        datos = sql.ExecuteReader

        If datos.Read() Then

            user = datos("Ape_Usu")
        End If

        datos.Close()
        Return user
Usr_err:
        user = ""
    End Function

    Public Function Obtener_Impresora(ByVal IMP_MEN As String)
        Dim user As String = ""
        sql.CommandText = String.Format("Select Impresora from MENAI where Nom_Usuario = '{0}'", IMP_MEN)
        On Error GoTo Usr_Impresora
        datos = sql.ExecuteReader
        If datos.Read() Then

            user = datos("Impresora")
        End If

        datos.Close()
        Return user
Usr_Impresora:
        user = ""
    End Function
    Public Sub desconectar()
        conexionBD.Close()
    End Sub
    Public Sub Listar()
        Try

            sql.CommandText = String.Format("Select * from MENAI")
            datos = sql.ExecuteReader()


        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Sub

    Public Sub Alta(ByVal CONCESIONARIO As String, ByVal DNS As String, ByVal NombreDNS As String)

        Dim sqlAlta As String


        sqlAlta = "Insert into MENAI (CONCESIONARIO) values ('{0}')"
        sql.CommandText = String.Format(sqlAlta, CONCESIONARIO)
        sql.ExecuteNonQuery()

    End Sub

    Public Sub ListarUsuarios()
        sql.CommandText = "Select Nom_Usuario from MENAI ORDER BY Nom_Usuario"
        datos = sql.ExecuteReader()
    End Sub

    Public Function ListarCombo() As Boolean
        If datos.Read Then
            UsuarioMEN = datos("Nom_Usuario")
            ListarCombo = True
        Else
            datos.Close()
            ListarCombo = False
        End If
    End Function
End Class
Y la llamo desde el Formulario Principal:

Código:
Imports System.Net
Imports System.Net.Sockets
Imports System.Runtime.InteropServices
Imports System.Text
Imports System.Data.OleDb
Imports System.Data
Imports System.Data.Odbc


Public Class FrmAplicacion
    Dim seleccionconcesion
    Dim ValorConcesion
    Dim ResultadoUsuario
   '----------------
    'Declaramos las Variables para las concesiones (todas igual)
    Public Concesion As CConcesion
    Public UsuarioConcesion As CConcesion
    'Declaramos las Variables para VASA
    Public Vasa As Cvasa
    
    'Declaramos las Variables para AKOTEI
    Public Akotei As CAkotei
    Public UsuarioAko As CAkotei
    
    Private Sub FrmAplicacion_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Para cargar las clases:
        Concesion = New CConcesion

        Vasa = New Cvasa
        UsuarioVAS = New Cvasa
        PassVAS = New Cvasa
        PcVAS = New Cvasa
        IP_VAS = New Cvasa
        RAM_VAS = New Cvasa
        Equipo_VAS = New Cvasa
        MAIL_VAS = New Cvasa
        APE_VAS = New Cvasa
        IMP_VAS = New Cvasa


        ' Para listar los concesionarios en su combobox una vez arranque el programa


        Concesion.ListarCONCESIONARIO()
        While Concesion.ListarCombo = True
            cmbconcesion.Items.Add(Concesion.CONCESIONARIO)
        End While
    End Sub

    Private Sub cmbconcesion_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbconcesion.SelectedIndexChanged
   

        If cmbconcesion.SelectedItem.ToString = "VASA" Then
            'Para realizar limpìeza y que no queden restos de usuarios (o se repitan datos)
            cmbnombreusuario.Items.Clear()

            ' Llamamos a la Clase CVASA para buscar en la tabla de VASA
            UsuarioVAS.ListarUsuarios()
            While UsuarioVAS.ListarCombo = True
                cmbnombreusuario.Items.Add(UsuarioVAS.UsuarioVAS)
            End While
            ValorConcesion = 1


        End If
        If cmbconcesion.SelectedItem.ToString = "AKOTEI" Then
            cmbnombreusuario.Items.Clear()

            UsuarioAko.ListarUsuarios()
            While UsuarioAko.ListarCombo = True
                cmbnombreusuario.Items.Add(UsuarioAko.UsuarioAKO)
            End While

            ValorConcesion = 2
        End If
        If cmbconcesion.SelectedItem.ToString = "ALCIBAR-AZKOITIA" Then
          End Sub

    Private Sub cmbnombreusuario_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbnombreusuario.SelectedIndexChanged
        If ValorConcesion = 1 Then
            TxtUsuario.Text = ""
            TxtUsuario.Text = UsuarioVAS.Obtener_Usuario(cmbnombreusuario.SelectedItem)
            TxtApellidos.Text = APE_VAS.Obtener_Apellido(cmbnombreusuario.SelectedItem)
            TxtPassword.Text = PassVAS.Obtener_Password(cmbnombreusuario.SelectedItem)
            TxtNombreEquipo.Text = PcVAS.Obtener_Nequipo(cmbnombreusuario.SelectedItem)
            TxtIp.Text = IP_VAS.Obtener_IP(cmbnombreusuario.SelectedItem)
            TxtInfoEquipo.Text = Equipo_VAS.Obtener_InfoEquipo(cmbnombreusuario.SelectedItem)
            TxtRam.Text = RAM_VAS.Obtener_RAM(cmbnombreusuario.SelectedItem)
            TxtMail.Text = MAIL_VAS.Obtener_Mail(cmbnombreusuario.SelectedItem)
            TxtImpresora.Text = IMP_VAS.Obtener_Impresora(cmbnombreusuario.SelectedItem)
                 End If
    End Sub
End Class