He vuelto a retomar el programa que empecé a realizar hace un par de meses.
Voy paso a paso pero me he encontrado con que me vuelve a aparecer este error.
Facilto el código que estoy usando en la Clase que he creado:
Cita:
El error me lo dá en:Imports System.Data.OleDb
Imports System.Data.Odbc
Imports System.Data
Imports System
Imports System.Data.SqlClient
Public Class CAkotei
Private conexionBD As New OleDb.OleDbConnection
Private sql As New OleDb.OleDbCommand
Private datos As OleDb.OleDbDataReader
Public lista
Public Usuario
Public Nombre
Public Apellido
Public NombreDeEquipo
Public Ram
Public IP
Public tfn
Public Ext
Public eMail
Public Impresora
'Constructor de la clase
Public Sub conectar()
Dim ruta As String
Try
sql = New OleDb.OleDbCommand
sql.Connection = conexionBD
ruta = Application.StartupPath & "\bdDatabase.mdb"
conexionBD = New OleDb.OleDbConnection("Provider=Microsoft.JET.OLED B.4.0;" & _
"Data Source=" & System.Environment.CurrentDirectory & "\bdDatabase.mdb")
conexionBD.Open()
Catch ex As Exception
MsgBox("No se ha podido conectar a la base de datos")
End
End Try
End Sub
Private Sub CerrarConexion()
conexionBD.Close()
'UPGRADE_NOTE: El objeto conexion no se puede destruir hasta que no se realice la recolección de los elementos no utilizados. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6E35BFF6-CD74-4B09-9689-3E1A43DF8969"'
conexionBD = Nothing
'UPGRADE_NOTE: El objeto datos no se puede destruir hasta que no se realice la recolección de los elementos no utilizados. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6E35BFF6-CD74-4B09-9689-3E1A43DF8969"'
datos = Nothing
End Sub
Public Sub Listar()
Dim sql As Object
'Obtenemos todos los contactos actuales:
sql.CommandText = String.Format("Select Nom_Usuario from AKOTEI")
datos = sql.ExecuteReader()
End Sub
Public Function Obtener_Nequipo(ByVal PcMEN As String)
Dim user As String = ""
conexionBD.Open()
sql.CommandText = String.Format("Select Nombre_PC from AKOTEI where Nom_Usuario = '{0}'", PcMEN)
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_IP(ByVal IP_MEN As String)
Dim user As String = ""
sql.CommandText = String.Format("Select IP from AKOTEI where Nom_Usuario = '{0}'", IP_MEN)
datos = sql.ExecuteReader
If datos.Read() Then
user = datos("IP")
End If
datos.Close()
Return user
End Function
Public Function Obtener_InfoEquipo(ByVal Equipo_MEN As String)
Dim user As String = ""
sql.CommandText = String.Format("Select Equipo from AKOTEI where Nom_Usuario = '{0}'", Equipo_MEN)
datos = sql.ExecuteReader
If datos.Read() Then
user = datos("Equipo")
End If
datos.Close()
Return user
End Function
Public Function Obtener_RAM(ByVal RAM_MEN As String)
Dim user As String = ""
sql.CommandText = String.Format("Select RAM from AKOTEI where Nom_Usuario = '{0}'", RAM_MEN)
datos = sql.ExecuteReader
If datos.Read() Then
user = datos("RAM")
End If
datos.Close()
Return user
End Function
Public Function Obtener_Mail(ByVal MAIL_MEN As String)
Dim user As String = ""
sql.CommandText = String.Format("Select mail from AKOTEI 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 AKOTEI 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 AKOTEI 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 Alta(ByVal CONCESIONARIO As String, ByVal DNS As String, ByVal NombreDNS As String)
Dim sqlAlta As String
sqlAlta = "Insert into AKOTEI (CONCESIONARIO) values ('{0}')"
sql.CommandText = String.Format(sqlAlta, CONCESIONARIO)
sql.ExecuteNonQuery()
End Sub
Public Sub ListarUsuarios()
sql.CommandText = "Select Nom_Usuario from AKOTEI ORDER BY Nom_Usuario"
datos = sql.ExecuteReader()
End Sub
Public Function ListarCombo() As Boolean
If datos.Read Then
Usuario = datos("Nom_Usuario")
ListarCombo = True
Else
datos.Close()
ListarCombo = False
End If
End Function
End Class
Imports System.Data.Odbc
Imports System.Data
Imports System
Imports System.Data.SqlClient
Public Class CAkotei
Private conexionBD As New OleDb.OleDbConnection
Private sql As New OleDb.OleDbCommand
Private datos As OleDb.OleDbDataReader
Public lista
Public Usuario
Public Nombre
Public Apellido
Public NombreDeEquipo
Public Ram
Public IP
Public tfn
Public Ext
Public eMail
Public Impresora
'Constructor de la clase
Public Sub conectar()
Dim ruta As String
Try
sql = New OleDb.OleDbCommand
sql.Connection = conexionBD
ruta = Application.StartupPath & "\bdDatabase.mdb"
conexionBD = New OleDb.OleDbConnection("Provider=Microsoft.JET.OLED B.4.0;" & _
"Data Source=" & System.Environment.CurrentDirectory & "\bdDatabase.mdb")
conexionBD.Open()
Catch ex As Exception
MsgBox("No se ha podido conectar a la base de datos")
End
End Try
End Sub
Private Sub CerrarConexion()
conexionBD.Close()
'UPGRADE_NOTE: El objeto conexion no se puede destruir hasta que no se realice la recolección de los elementos no utilizados. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6E35BFF6-CD74-4B09-9689-3E1A43DF8969"'
conexionBD = Nothing
'UPGRADE_NOTE: El objeto datos no se puede destruir hasta que no se realice la recolección de los elementos no utilizados. Haga clic aquí para obtener más información: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6E35BFF6-CD74-4B09-9689-3E1A43DF8969"'
datos = Nothing
End Sub
Public Sub Listar()
Dim sql As Object
'Obtenemos todos los contactos actuales:
sql.CommandText = String.Format("Select Nom_Usuario from AKOTEI")
datos = sql.ExecuteReader()
End Sub
Public Function Obtener_Nequipo(ByVal PcMEN As String)
Dim user As String = ""
conexionBD.Open()
sql.CommandText = String.Format("Select Nombre_PC from AKOTEI where Nom_Usuario = '{0}'", PcMEN)
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_IP(ByVal IP_MEN As String)
Dim user As String = ""
sql.CommandText = String.Format("Select IP from AKOTEI where Nom_Usuario = '{0}'", IP_MEN)
datos = sql.ExecuteReader
If datos.Read() Then
user = datos("IP")
End If
datos.Close()
Return user
End Function
Public Function Obtener_InfoEquipo(ByVal Equipo_MEN As String)
Dim user As String = ""
sql.CommandText = String.Format("Select Equipo from AKOTEI where Nom_Usuario = '{0}'", Equipo_MEN)
datos = sql.ExecuteReader
If datos.Read() Then
user = datos("Equipo")
End If
datos.Close()
Return user
End Function
Public Function Obtener_RAM(ByVal RAM_MEN As String)
Dim user As String = ""
sql.CommandText = String.Format("Select RAM from AKOTEI where Nom_Usuario = '{0}'", RAM_MEN)
datos = sql.ExecuteReader
If datos.Read() Then
user = datos("RAM")
End If
datos.Close()
Return user
End Function
Public Function Obtener_Mail(ByVal MAIL_MEN As String)
Dim user As String = ""
sql.CommandText = String.Format("Select mail from AKOTEI 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 AKOTEI 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 AKOTEI 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 Alta(ByVal CONCESIONARIO As String, ByVal DNS As String, ByVal NombreDNS As String)
Dim sqlAlta As String
sqlAlta = "Insert into AKOTEI (CONCESIONARIO) values ('{0}')"
sql.CommandText = String.Format(sqlAlta, CONCESIONARIO)
sql.ExecuteNonQuery()
End Sub
Public Sub ListarUsuarios()
sql.CommandText = "Select Nom_Usuario from AKOTEI ORDER BY Nom_Usuario"
datos = sql.ExecuteReader()
End Sub
Public Function ListarCombo() As Boolean
If datos.Read Then
Usuario = datos("Nom_Usuario")
ListarCombo = True
Else
datos.Close()
ListarCombo = False
End If
End Function
End Class
Cita:
Me indica: No se controló InvalidOperationException Public Sub ListarUsuarios()
sql.CommandText = "Select Nom_Usuario from AKOTEI ORDER BY Nom_Usuario"
datos = sql.ExecuteReader()
sql.CommandText = "Select Nom_Usuario from AKOTEI ORDER BY Nom_Usuario"
datos = sql.ExecuteReader()
¿Alguna idea?
Gracias