Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/11/2011, 05:41
Avatar de freemanworld
freemanworld
 
Fecha de Ingreso: agosto-2008
Mensajes: 191
Antigüedad: 15 años, 8 meses
Puntos: 0
Execute Reader: la propiedad Connection no se ha inicializado

Buenas a todos nuevamente.

Hice hace un par de meses un programa en VB con Acces y he tenido que formatear el equipo (Con una copia de seguridad vieja) en la que no tenia los archivos necesarios de un programa que habia creado.

La cosa está en que estoy haciendola nuevamente desde 0 y estoy teniendo problemas.

Estoy utilizando VB.NET 2008 Express con una base de datos en Acces a la cual estoy accediendo correctamente.

Después de hacer la conexión a la base de datos y al intentar listar el contenido de la misma me da el siguiente error:
Cita:
Execute Reader: la propiedad Connection no se ha inicializado
Pongo el código que tengo en la Clase:
Cita:
Imports System.Data.Odbc
Imports System.Data.OleDb
Imports System.Data
Imports System
Public Class CAkotei
Private conexionBD As OleDb.OleDbConnection
Private sql As OleDb.OleDbCommand
Private datos As OleDb.OleDbDataReader
Public lista As String

Public UsuariosAKO
Public PassAKO
Public PcAKO
Public RAMAKO
Public EquipoAKO
Public MAILAKO
Public APEAKO
Public IMPAKO

'Constructor de la clase

Public Sub conectar()
Dim ruta As String
Try
sql = New OleDb.OleDbCommand
sql.Connection = conexionBD

ruta = Application.StartupPath & "\bdDatabase.mdb"
'MsgBox(ruta)
'conexionBD = New OdbcConnection("dsn=RedUtility;uid=root;pwd=pass;" )

conexionBD = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLED B.4.0; Data Source=" & ruta)
conexionBD.Open()
MsgBox("Conexión establecida correctamente con Akotei")

Catch ex As Exception
MsgBox("No se ha podido conectar a la base de datos")
End
'MsgBox(ex.Message)
'End

End Try

End Sub


Public Sub Listar()
MsgBox("LISTAR")
Try
sql.CommandText = String.Format("Select * from AKOTEI")
datos = sql.ExecuteReader()
Catch ex As Exception
MsgBox(ex.Message)
End
End Try

End Sub
Public Function ListarCombo() As Boolean
MsgBox("ListarCombo")
sql.CommandText = String.Format("Select * from AKOTEI")
datos = sql.ExecuteReader()
If datos.Read Then
UsuariosAKO = datos("Nom_Usuario")
ListarCombo = True
Else
datos.Close()
ListarCombo = False
End If
End Function

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


End Class
El código del Form:
Cita:
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 Form1
'Declaramos las Variables para Akotei
Public akotei As CAkotei
Public usuariosAKO As CAkotei

Private Sub lblresul_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lblresul.TextChanged
If lblresul.Text = 1 Then

Akotei = New CAkotei
usuariosAKO = New CAkotei


MDIParent1.Text = "Contactos"

akotei.conectar()
akotei.Listar()

While Akotei.ListarCombo = True
cmbnombreusuario.Items.Add(usuariosAKO.UsuariosAKO )
End While

txtusuario.Text = ""
txtusuario.Text = usuariosAKO.Obtener_Usuario(cmbnombreusuario.Selec tedItem)
End If
End Sub
End Class
Alguna sugerencia? Gracias