CLR: .Net / Mono / Boo / Otros CLR > VB .NET
HasRows no es miembro 'System.Data.SqlClient.SqlDataReader
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
[#] Página Siguiente
Ir a la versión completa