Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Retorno de ExecuteReader

Estas en el tema de Retorno de ExecuteReader en el foro de Visual Basic clásico en Foros del Web. Hola, estoy intentando lo siguiente: Código: Public Function Buscar(ByVal cadena As String, ByVal campo As String, ByVal tabla As String) As Boolean cmdStr = "SELECT ...
  #1 (permalink)  
Antiguo 30/01/2009, 12:19
 
Fecha de Ingreso: enero-2009
Mensajes: 24
Antigüedad: 15 años, 3 meses
Puntos: 0
Retorno de ExecuteReader

Hola, estoy intentando lo siguiente:


Código:
Public Function Buscar(ByVal cadena As String, ByVal campo As String, ByVal tabla As String) As Boolean

        cmdStr = "SELECT " + campo + " FROM " + tabla + " WHERE " + campo + " = '" + cadena + "';"

        cmd.CommandText = cmdStr
        cmd.Connection = con
        con.Open()

        dr = cmd.ExecuteReader()
        con.Close()

        If (dr.RecordsAffected = 0) Then
            Return False
        Else
            Return True
        End If
End Function

En teoría, la propiedad < RecordsAffected >, devuelve el numero de filas afectadas provenientes de la consulta efectuada anteriormente de < cmd.DataReader() >. Sin embargo, consulta que le haga me devuelve un -1, y yo se que la consulta esta bien efectuada, así que no es problema de consulta.

Alguien podría darme alguna pista de lo que le sucede a esta cosa ?

de antemano, gracias
  #2 (permalink)  
Antiguo 31/01/2009, 05:56
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Retorno de ExecuteReader

Cita:
Iniciado por nnelis Ver Mensaje
Hola, estoy intentando lo siguiente:

...

En teoría, la propiedad < RecordsAffected >, devuelve el numero de filas afectadas provenientes de la consulta efectuada anteriormente de < cmd.DataReader() >. Sin embargo, consulta que le haga me devuelve un -1, y yo se que la consulta esta bien efectuada, así que no es problema de consulta.

Alguien podría darme alguna pista de lo que le sucede a esta cosa ?

de antemano, gracias
Bueno, la propiedad RecordsAffected obtiene el nº de filas modificadas, eliminadas o añadidas por la ejecución de una instrucción Transact-SQL y aquí estás haciendo una consulta de selección.

Para conocer el número de registros que contiene un DataReader, podrías hacerlo así:

Dim i As Integer = 0
Do While dr.Read
i += 1
Loop
MsgBox(i)


Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:08.