¿Trabaja DataReader en un ambiente conectado realmente?

http://blog3wilber.blogdiario.com/img/Wilber.jpg Pese a todo esto, ¿que ocurre si trabajando en un ambiente conectado se desconecta el servidor de acceso a datos?.
Imaginemos por un instante, que la conexión con SQL Server se establece correctamente y que en un momento dado se detiene el servicio del servidor de base de datos.
Esto es lo que veremos en el siguiente ejemplo.

 Desenchunfando la fuente de datos usando DataReader

Inicie un nuevo proyecto, inserte en el formulario de la aplicación un control TextBox y un control Button, y escriba el código que se detalla a continuación:

 

Imports System.Data
Imports System.Data.SqlClient
Imports System.Xml

Public Class Form1

   Private Conexion As String = "server=.;uid=sa;password=VisualBasic;database=MSDNVideo"
   Private strSQL As String = "SELECT TITULO FROM ALQUILERES, PELICULAS WHERE PELICULACODBARRAS = CODBARRAS AND SOCIONIF = '111111'"
   Private MiConexion As New SqlConnection(Conexion)
   Private MiDataReader As SqlDataReader
   Private Contador As Long = 0
   Private Posicion As Long = 0

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      ' Establecemos la Conexión con la base de datos
      Establecer_Conexion(True)
      ' Si hay datos los mostramos, sino deshabilitamos
      ' la opción (botón) para recorrerlos
      If Not MiDataReader.HasRows Then
         Button1.Enabled = False
      Else
         Button1_Click(sender, e)
      End If
   End Sub

   Private Sub Establecer_Conexion(ByVal bolAccion As Boolean)
      Dim Comando As SqlCommand
      If bolAccion Then
         ' True => Establecemos la conexión
         Comando = New SqlCommand(strSQL, MiConexion)
         ' Abrimos la Conexión
         MiConexion.Open()
         ' Ejecutamos la sentencia SQL
         MiDataReader = Comando.ExecuteReader()
         ' Obtenemos la cantidad de registros obtenidos
         Contador = MiDataReader.VisibleFieldCount() + 1
      Else
         ' False => Finalizamos la conexión
         Button1.Enabled = False
         ' Cerramos la Conexión
         Comando = Nothing
         MiConexion.Close()
      End If
   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      ' Recorremos los registros y los mostramos
      Posicion += 1
      MiDataReader.Read()
      TextBox1.Text = MiDataReader("TITULO")
      ' Si hemos recorrido el objeto por completo,
      ' finalizamos la Conexión y deshabilitamos el control
      ' Button que nos permite recuperar los registros
      If Posicion = Contador Then
         Establecer_Conexion(False)
      End If
   End Sub
End Class

Comentarios

Me parece interesante este acapite de conexion


Añadir un Comentario:



Inserta aquí el código de verificación que ves en la imagen.

Acerca de blog3wilber

datareader conectado

Archivo

Categorías


Datareader

Suscríbete

RSS | Atom

Contacto

Contactar

Albergado en:blogdiario.com

Noticias: Noticias

Un servicio de HispaVista