none
error REFERENCIA A OBJETO NO ESTABLECIDA COMO INSTANCIA DE UN OBJETO RRS feed

  • Pregunta

  •  hola espero me puedan ayudar

     mi código esta mandanado error 

    REFERENCIA A OBJETO NO ESTABLECIDA COMO INSTANCIA DE UN OBJETO

     en la siguiente linea 

    Dim registro As Byte

     registro = ods1.Tables("Login").Rows.Count

    ya intente agregar new pero no funciona 

    ya compile a 64 y a 32 

    ayuda porfavor

    lunes, 30 de septiembre de 2019 15:30

Todas las respuestas

  • Hola! podrias probar con

    if (ds.Tables["Login"].Columns != null && ds.Tables["Login"].Rows != null)

    (en vb seria algo asi If ds.Tables("Login").Columns IsNot Nothing AndAlso ds.Tables("Login").Rows IsNot Nothing Then...)

    De todas maneras verifica que el nombre de la columna sea el correcto, me suena mas a eso, ya que sino no deberia devolver null, sino vacio..

    Saludos!



    lunes, 30 de septiembre de 2019 15:47
  • ¿Dónde y cómo defines ods1?
    ¿Cómo lo inicializas?

    Pon un punto de interrupción en esa línea y comprueba si el objeto ods1 está inicializado.


    Saludos, Javier J

    • Propuesto como respuesta Pablo Rubio miércoles, 2 de octubre de 2019 18:15
    lunes, 30 de septiembre de 2019 16:03
  • ¿Dónde y cómo defines ods1?
    ¿Cómo lo inicializas?

    Pon un punto de interrupción en esa línea y comprueba si el objeto ods1 está inicializado.


    Saludos, Javier J

         Dim consulta As String
            Dim ods1 As DataSet
            Dim adaptador1 As OleDbDataAdapter
            Dim registro As New Byte
            Dim cadena2 As New OleDbConnection With {
                .ConnectionString = " Provider = Microsoft.ACE.OLEDB.12.0;Data Source =F:\Sems\Sems\Database41.accdb;Persist Security Info=False; "
            }
            cadena2.Open()


            If idBox1.Text <> "" Then

                consulta = "SELECT *FROM Login WHERE Id = ' " & idBox1.Text & " '"
                adaptador1 = New OleDbDataAdapter(consulta, cadena2)
                ods1 = New DataSet
                adaptador1.Fill(ods1, "Login ")
                registro = ods1.Tables("Login").Rows.Count
    • Propuesto como respuesta Pablo Rubio miércoles, 2 de octubre de 2019 18:15
    lunes, 30 de septiembre de 2019 16:12
  • En la cadena consulta te falta un espacio entre el asterisco y el From. También debes quitar el espacio en los apóstrofes:

    If idBox1.Text <> "" Then

            consulta = "SELECT * FROM Login WHERE Id = '" & idBox1.Text & "'"
            adaptador1 = New OleDbDataAdapter(consulta, cadena2)
            ods1 = New DataSet
            adaptador1.Fill(ods1, "Select * From Login")
            Dim registro as Long = ods1.Tables("Login").Rows.Count



    Saludos, Javier J

    • Propuesto como respuesta Pablo Rubio miércoles, 2 de octubre de 2019 18:15
    lunes, 30 de septiembre de 2019 16:32