Saber si Read() encuentra registros

27/09/2007 - 12:05 por mediocad | Informe spam
Hola,

Resueltos otros problemas, me surge el siguiente. Hago una consulta y deseo
saber si ha encontrado algún registro. datosProyecto.Read me devuelve true o
false si encuentra o no. Si no encuentra, FALSE, perfecto, pero si encuntra,
el primer registro se lo salta. ¿Es que al usar la primer vez Read() para que
me devuelva true o false ya ha leído el primero y por eso pasa al segundo?

Dim cmd As New SqlCommand(sb.ToString(), Me.conn)
Me.conn.Open()
Dim datosProyecto As SqlDataReader = cmd.ExecuteReader()

Dim bool As Boolean = datosProyecto.Read
If bool = False Then
Exit Sub
End If

While datosProyecto.Read()


End While

Muchas gracias y un saludo
 

Leer las respuestas

#1 AngelGarza
27/10/2007 - 02:11 | Informe spam
mediocard, que tal?

Cual es la intencion de la condicion previa al WHILE??

Te pregunto porque con el ciclo como lo tienes, si no trae nada el reader
no ejecutara nada de lo que hay en While. Tienes codigo posterior al While
que no quieres que se ejecute o por que la condicion??

Saludos

"mediocad" wrote:

Hola,

Resueltos otros problemas, me surge el siguiente. Hago una consulta y deseo
saber si ha encontrado algún registro. datosProyecto.Read me devuelve true o
false si encuentra o no. Si no encuentra, FALSE, perfecto, pero si encuntra,
el primer registro se lo salta. ¿Es que al usar la primer vez Read() para que
me devuelva true o false ya ha leído el primero y por eso pasa al segundo?

Dim cmd As New SqlCommand(sb.ToString(), Me.conn)
Me.conn.Open()
Dim datosProyecto As SqlDataReader = cmd.ExecuteReader()

Dim bool As Boolean = datosProyecto.Read
If bool = False Then
Exit Sub
End If

While datosProyecto.Read()


End While

Muchas gracias y un saludo

Preguntas similares