ADO.NET - C# (1)

Embed Size (px)

Citation preview

  • 7/22/2019 ADO.NET - C# (1)

    1/19

  • 7/22/2019 ADO.NET - C# (1)

    2/19

    6 - 2 8:38

  • 7/22/2019 ADO.NET - C# (1)

    3/19

    6 - 3 8:38

    Objetivos

    Identificar los objetos principales queconstituyen Microsoft ADO.NET y cmointeractuar con ellos.

    Crear objetos Connection y DataAdapter

    utilizando el asistente de configuracin deadaptadores de datos.

    Generar automticamente un DataSet.

    Vincular las propiedades de un control a unDataSet.

    Cargar datos en un DataSet en tiempo deejecucin.

  • 7/22/2019 ADO.NET - C# (1)

    4/19

    6 - 4 8:38

    Introduccin

    ADO.NET es una tecnologa de acceso a datos

    que se basa en los objetos ADO (Objetos deDatos Act iveX) anteriores. Es una maneranuevade acceder a los datos construida sobreADO. ADO.NET puede coexis t i rcon ADO. Eneste captulo va a poder usar ADO.NET y ver

    con ejemplos, como conectarse a una Base deDatos.

    ADO.NET utiliza un modelo de accesopensado para entornos desconectados. Esto

    quiere decir que la apl icacin se conectaalor igen de datos, hace lo que tiene que hacer,po r ejemplo seleccionarregistro s, los cargaen memor iay se desconectadel or igen dedatos.

  • 7/22/2019 ADO.NET - C# (1)

    5/19

    6 - 5 8:38

    Introduccin

    ADO.NET es un conjuntode clases,

    estruc turas, inter faces y enumeracionesqueusted utiliza para acceder y manipularorgenes de datos como por ejemplo, unabase de datos enSQL Server, MySq l, Oracleo

    una planilla Excel. ADO.NET uti l iza XML como el formato para

    transmitir datos desde y hacia su base dedatos y su aplicacin Web.

  • 7/22/2019 ADO.NET - C# (1)

    6/19

    6 - 6 8:38

    Usando Espacio de Nombres (NameSpaces)

    Hay 4 espacios de nombres que se puede usar

    en un formulario si esta usando ADO.NET:

    System.Data. (General: DataTable, DataView, etc.)

    System.Data.SqlClient. (SQL Server)

    System.Data.OleDb. (MySQL, DB2, SQL Server, etc.)

    System.Data.OracleClient. (Oracle)

  • 7/22/2019 ADO.NET - C# (1)

    7/196 - 7 8:38

    El modelo de Objetos ADO.NET

    Proveedores de datos

    DataAdapter

    Command

    DataReader

    Connection

    WinForm

    WebForm

    Otros

    Consumidores

    de datos

    DataSet

  • 7/22/2019 ADO.NET - C# (1)

    8/196 - 8 8:38

    El modelo de Objetos ADO.NET

  • 7/22/2019 ADO.NET - C# (1)

    9/196 - 9 8:38

    El modelo de objetos de ADO.NET

    Data Table

    .NET Data

    Provider

    for OLE DB

    OleDbDataAdapter

    OleDbConnection

    .NET Data

    Provider

    for SQL Server

    SqlDataAdapter

    SqlConnection

    DataSet

    Data Table Data Table

    SQL Server

    7.0, 2000

    OLE DB sources(SQL Server 6.5 y

    bases de datos de

    terceros)

    SqlCommand OleDbCommand

  • 7/22/2019 ADO.NET - C# (1)

    10/196 - 10 8:38

    El modelo de Objetos ADO.NET

    Como se puede ver en el grfico anterior

    ADO.NET utiliza algunos objetos ADO, comoConnectiony Command, y tambin agregaobjetos nuevos. Algunos de los nuevosobjetos clave de ADO.NET son DataSet,

    DataReadery DataAdapter. El modelo de objetos ADO.NETprovee una

    estructura de acceso a distintos orgenes dedatos. Tiene 2 componentes principales: El

    Datasety el proveedorde Datos .NET (Porejemplo: System.Data.SqlClient).

  • 7/22/2019 ADO.NET - C# (1)

    11/196 - 11 8:38

    El modelo de Objetos ADO.NET

    La diferencia ms importante entre esta fase

    evolucionada de ADO.NET y las arquitecturasde datos anteriores es que existe un objeto,DataSet, que es independientey diferente delos almacenes de datos.

    El DataSetfunciona como una entidadindependiente. Se puede considerar el objetoDataSet como un conjunto de registrosquesiempre est desconectadoy que no sabe

    nada sobre el origeny el destinode los datosque contiene. Dentro de un objeto DataSet, dela misma manera que dentro de una base dedatos, hay tablas, columnas, relaciones,

    restricciones, vistas, etc.

  • 7/22/2019 ADO.NET - C# (1)

    12/196 - 12 8:38

    El modelo de Objetos ADO.NET

    El objeto DataAdapteres el objeto que se conectaa la

    base de datos para llenarel objeto DataSet. Acontinuacin, se vuelve a conectara la base de datospara actualizarlos datos de dicha base de datos apartir de las operaciones realizadasen los datoscontenidos en el objeto DataSet. En el pasado, el

    procesamiento de datos se basaba principalmente enla conexin. Ahora, con el fin de proporcionar a lasaplicaciones multinivel mayor eficacia, se estadoptando para el procesamiento de datos un enfoquebasado en mensajes que manipulan fragmentos de

    informacin. En el centro de este enfoque se sita elobjeto DataAdapter, que proporciona un puenteentreun objeto DataSety un almacn de datos (DB)deorigen para recuperar y guardar datos. Para ello, envasolicitudes con los comandos SQLapropiados que se

    ejecutan en el almacn de datos.

  • 7/22/2019 ADO.NET - C# (1)

    13/196 - 13 8:38

    El modelo de Objetos ADO.NET

    Los proveedores de datos OleDb, SqlClienty

    OracleClient que forman parte del .NetFramework proporcionan 5 objetos bsicos:Command, Connection, DataReader,DataAdapter, yDataSet.

    Objeto Connection. Para conectarse con unabase de datos y administrar las transaccionesen una base de datos.

    Objetos Command. Para emitir comandos SQLa una base de datos.

    Objetos DataReader. Proporcionan una formade leer una secuencia de registros de datosslo hacia delante desde un origen de datos.

  • 7/22/2019 ADO.NET - C# (1)

    14/196 - 14 8:38

    El modelo de Objetos ADO.NET

    Objetos DataAdapter. Para insertar datos en

    un objeto DataSet y reconciliar datos de labase de datos.

    Objetos DataSet. Para almacenar datos sinformato, datos XML y datos relacionales, ascomo para configurar el acceso remoto yprogramar sobre datos de este tipo.

  • 7/22/2019 ADO.NET - C# (1)

    15/196 - 15 8:38

    Los objetos Connectiony DataAdapter

    manejan la comunicacin fsica con elalmacn de datos (DB), pero tambin debecrear una representacin residente enmemoriade los datos reales que se vinculan

    al formulario. Puede vincular un controlprcticamente con

    cualquier estructura que contenga datos,incluyendo matricesy coleccionespero

    normalmente utilizar un objeto DataSet. Al igual que para los proveedores de datos,

    VS proporciona un mecanismo paraautomatizar este proceso, aunque no siempre

    ser totalmente funcional.

    Creacin de un objeto Dataset

  • 7/22/2019 ADO.NET - C# (1)

    16/196 - 16 8:39

    .NET Framework admite 2 tipos de vinculacin:simpley compleja.

    La vinculacin simplese da cuando un elementode datos, como una fecha (TextBox), se vinculaa un control.

    La vinculacin complejase da cuando uncontrol se enlaza a varios valores de datos, porejemplo, al vincular una lista (ListBox) a unobjeto DataSet que contiene una lista de

    nmeros de un pedido. Prcticamente cualquier propiedad de un control

    admite vinculacin simple, pero slo unsubconjunto de controles Windowsy WebForms(DataGrid, ListBox) admiten vinculacincompleja.

    Vinculacin simple de controles a unobjeto DataSet

  • 7/22/2019 ADO.NET - C# (1)

    17/196 - 17 8:39

    Hasta ahora tenemos todos los componentesen su lugar preparados para manipular losdatos de nuestro origen de datos (SQL Serverpor ejemplo), pero nos queda por realizar unatarea: debemos cargarrealmente los datos enel objeto DataSet.

    Como ya se menciono la arquitecturadeADO.NET se diseo para operar sin unaconexinpermanente a la base de datos. Enun entorno desconectado, es apropiado eincluso necesario, que se administre laconexin mediante cdigo.

    Cargar datos en el objeto DataSet

  • 7/22/2019 ADO.NET - C# (1)

    18/196 - 18 8:39

    Se utiliza el mtodo Filldel DataAdapterparacargarlos datos en el DataSet.

    El DataAdapter proporciona variasversionesdel mtodo Fill.

    La versin ms simple lleva como parmetroel nombrede un objeto DataSety es la queutilizaremos en el siguiente ejercicio.

    Cargar datos en el objeto DataSet

  • 7/22/2019 ADO.NET - C# (1)

    19/196 19 8:39