Hi, I have a problem reading a SqlDataReader in Vb .Net, it gives me the following message
Invalid attempt to call Read when the reader is closed
I have the following code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ClaseAyuda As New BDCommand
Dim Sql As String
Dim Resul As Boolean
Dim MyReader As SqlDataReader
'Sql = "Update TBLSALDOSDIARIOS Set PeSecuencia = 1 Where PeFactura = 1024173"
Sql = "select top 5 PeFactura from TBLSALDOSDIARIOS"
MyReader = ClaseAyuda.ObtenerData(Sql, My.Settings.SIGMA)
Try
While (MyReader.Read)
MessageBox.Show(MyReader("PeFactura"))
End While
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
MyReader.Close()
End Sub
And in my class Help
Public Function ObtenerData(ByVal Sql As String, ByVal Cnn As String) As SqlDataReader
Dim MyReader As SqlDataReader
Try
Dim ActiveCon As New SqlConnection(Cnn)
Using (ActiveCon)
ActiveCon.Open()
Dim cmd As New SqlCommand(Sql, ActiveCon)
Try
MyReader = cmd.ExecuteReader()
Catch ex As SqlException
MessageBox.Show("Error al Obtener Datos. " + ex.Message)
MyReader = Nothing
End Try
End Using
Catch ex As Exception
MessageBox.Show("Ha ocurrido un error al ejecutar comando." + ex.Message)
MyReader = Nothing
End Try
Return MyReader
End Function