CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 HasRows no es miembro 'System.Data.SqlClient.SqlDataReader

(1/2) > >>

denigrado:
Hola, amigos.

HAce unos dias empece a elaborar una aplicacion en vb.net, pero al intentar utilizar el DataReader, me arroja el siguiente mensaje:
'HasRows'  no es miembro de 'System.Data.SqlClient.SqlDataReader'.

He intentado muchas pruebas (incluyendo CopyPaste de ejemplos completos que incluyan HasRows) y no consigo resolver el problema.

Como dato adicional, estoy importando
System.Data y System.Data.SqlClient.

Espero me puedan ayudar.

SAludos!

gerloxxx:
Yo creo que el error esta en otro lado, muestranos algo de tu codigo para ayudarte...


saludos

denigrado:
Hola gerloxx, gracias por contestar....
Aqui te paso el codigo para que lo veas y me des tu opinion:

***********************************************
 oConexion = New SqlConnection()
        oConexion.ConnectionString = ("cadena de conexion")

        Dim sql As String = "select * from pruebas where codigo='" & txtCodigo.Text & "'"
        Dim command As New SqlCommand(sql, oConexion)
        Try
            oConexion.Open()
            Dim dr As SqlDataReader = command.ExecuteReader()

            If dr.HasRows Then
                   'argumentos .....
            End If

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
            oConexion.Close()
        End Try
****************************************************
Como dato adicional, la cadena de conexion funciona bien, porque la uso en otros formularios dentro de la misma aplicacion, y responde de manera correcta (insertando, actualizando, eliminando).
El "if" no tiene argumentos porque igual no haria nada, ya que es alli donde se presenta el problema, de que no reconoce a "HasRows" como miembro de "System.Data.SqlClient.SqlDataReader".

Estoy utilizando: MySql.Data.MySqlClient, el cual agregue como referencia (MySql.Data.dll), que lo extraje de "mysql-connector-net-1.0.10.1.exe"

Gracias por tu apoyo.
Saludos!

gerloxxx:
Hola hice la prueba conectando tu codigo a sql server, lamentablemente no tengo mysql, y no me arroja ningun error (devuelve true o false según si obtiene o no el resultado), imagino que lo que intentas es preguntar si el la consulta arrojo algo antes de intentar trabajar con ese resultado, vdd?
Lo que podrias hacer en lugar de preguntar por:

--- Código: vb.net ---             If dr.HasRows Then                'argumentos .....            End If  mejor pregunta si puedes leer del sqlDataReader:

--- Código: vb.net ---             If dr.Read() Then                MsgBox(dr.Item("nom_campo"))             End If            ' o bien un ciclo            while dr.Read() Then            ...  
espero te sirva esta sugerencia
saludos

denigrado:
Hola gerloxxx

Tu sugerencia es bienvenida.
La verdad es que lo que deseo es que la aplicacion me recorra toda la tabla en busca de el parametro. Pero solo me valida la primera linea de la base de datos... si ingreso otro valor que no sea el primero de la tabla, no me lo valida.

Te paso el codigo para que lo revises.

            While myreader.Read()
            Try
                If Trim(myreader.Item("clave")) = txtPassword.Text Then
                    'realiza una accion
                End If

                If Trim(myreader.Item("clave")) <> txtPassword.Text Then
                   'realiza otra accion
                   MessageBox.Show("Datos Incorrectos")
                End If
 
             Catch ex As Exception
                LabelInfo.Text = "Error: " & ex.Message
            End Try
        End While

Saludos!

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa