none
Capa desconectada??? Definición RRS feed

  • Pregunta

  • Hola a todos. Se que puede parecer un poco tonto este tipo de preguntas pero estoy empezando y quiero saberlo todo de la manera mas sencilla. 
    No entiendo  a que realmente hace referencia capa desconectada en ADO.NET. Pues lo que se es que La capa conectada incluye todo lo necesario para la conexión al origen de datos(ejemplo SqlConnection), manejeo de comandos(ej SqlCommand), lectura del resultado de comandos (SqlDataReader), jejeje aunque no lo se implementar aun ya entiendo para que sirven. Ahora de la capa desconectada solo entiendo que se trabaja por ejemplo con Dataset.

    La pregunta es alguien me puede explicar en forma sencilla que es capa desconectada en ADO.NET? gracias a toda la comunidad por sus ayudas.

    Novato
    domingo, 25 de octubre de 2009 23:53

Respuestas

  •     En realidad el nombre de "capa desconectada" es engañoso, porque sí que requiere conectarse en algún momento.
        Básicamente, se abre la conexión durante un instante, y se traen los datos desde la base de datos hacia algún tipo de estructura que los almacene en memoria (frecuentemente, un DataSet). A continuación se cierra la conexión, y se trabaja todo el rato con los datos que hay en memoria. Terminados los cambios, se vuelve a abrir brevemente la conexión y los cambios se vuelcan de vuelta a la base de datos.
        Por eso se llama a este modelo de trabajo "desconectado", porque la mayor parte del tiempo se trabaja con una copia de los datos mientras la conexión a base de datos permanece cerrada.
    • Marcado como respuesta Felipe Sotelo S martes, 27 de octubre de 2009 1:58
    lunes, 26 de octubre de 2009 8:57

Todas las respuestas

  •     En realidad el nombre de "capa desconectada" es engañoso, porque sí que requiere conectarse en algún momento.
        Básicamente, se abre la conexión durante un instante, y se traen los datos desde la base de datos hacia algún tipo de estructura que los almacene en memoria (frecuentemente, un DataSet). A continuación se cierra la conexión, y se trabaja todo el rato con los datos que hay en memoria. Terminados los cambios, se vuelve a abrir brevemente la conexión y los cambios se vuelcan de vuelta a la base de datos.
        Por eso se llama a este modelo de trabajo "desconectado", porque la mayor parte del tiempo se trabaja con una copia de los datos mientras la conexión a base de datos permanece cerrada.
    • Marcado como respuesta Felipe Sotelo S martes, 27 de octubre de 2009 1:58
    lunes, 26 de octubre de 2009 8:57
  • Hola.

    Con ADO.NET los datos que lees desde la base de datos siempre deben de estar desconectados, todo el diseño de ADO.NET esta basado en esta arquitectura, nosotros como programadores debemos de respetar esta arquitectura al codificar nuestros programas.

    Te muestro el siguiente codigo como una de tantas alternativas de metodos de trabajo desconectado :

            Dim Ds As New DataSet
            
            Using Conn As New System.Data.SqlClient.SqlConnection
    
                Using Comm As New System.Data.SqlClient.SqlCommand
                
                    Dim Da As New System.Data.SqlClient.SqlDataAdapter(Comm)
                    Da.Fill(Ds)
                    
                End Using
    
            End Using
    
            ' En este punto del programa tienes todos los datos en el dataset y ya esta cerrada la conexion
    
        Using connection As New OdbcConnection(connectionString)
        
            Dim adapter As New OdbcDataAdapter()
            
            adapter.SelectCommand = New OdbcCommand(queryString, connection)
                
            Dim builder As OdbcCommandBuilder = New OdbcCommandBuilder(adapter)
    
            connection.Open()
    
    
            ' Tienes que usar OdbcCommandBuilder sino te dara error              
           'usas el datase anterior el cual no cierras
    
            adapter.Update(dataSet, tableName)
    
    
        End Using
    

    Programador en VB.NET 2008, SQL SERVER 2008, Crystal Report 2008 Si la respuesta es correcta, marcála como correcta. También puedes votar como útil si te sirvió.
    • Propuesto como respuesta Bitnius lunes, 2 de noviembre de 2009 4:04
    lunes, 2 de noviembre de 2009 4:01