4-ado-1222145833836729-8

31
.NET .NET ADO .NET ADO .NET

Upload: lzapata27

Post on 24-Nov-2015

9 views

Category:

Documents


2 download

TRANSCRIPT

  • .NETADO .NET

  • TemarioIntroduccinLenguajes .NETASP .NETADO .NETProgramacin en componentesAplicaciones windowsXML y Web Services

  • IntroduccinADO.NET es la ms reciente en una larga lnea de tecnologas de acceso a bases de datos que empez con la interfaz de programacin de aplicaciones (API) de conectividad abierta para bases de datos (ODBC) .NET Framework incluye esta nueva tecnologa de acceso a datos, la cual es una mejora en la evolucin de Microsoft ActiveX Data Objects (ADO)

  • ADO.NET est diseada para aplicaciones distribuidas que puedan necesitar operar en el Web Como parte de .NET Framework, Microsoft ofrece una Biblioteca de clase del marco de trabajo, el cual cubre todas las APIs existentes de Windows y msEntre stas se encuentran los modelos de objeto XML y ADO que se han integrado en un grupo de clases llamado ADO.NET

  • ADO.NET no es una revisin de ADO sino una forma nueva de manipular datos que se basa en datos desconectados XMLADO no proporciona todas las funciones necesarias para desarrollar aplicaciones Web robustas y escalables cuando se usa desde Active Server Pages (ASP)Esto es porque el modelo de objetos ADO fomenta las operaciones orientadas a conexiones

  • Arquitectura ADO.NET

  • Datasets desconectadosADO.NET ha sido diseado para funcionar con Datasets desconectadosLas aplicaciones estn conectadas a la fuente de datos slo lo suficiente para recolectar y actualizar datosADO.NET proporciona una interfaz de acceso a datos para comunicarse con fuentes de datos que cumplen con OLE DBLas aplicaciones de uso compartido de datos pueden usar ADO.NET para conectarse a estas fuentes de datos y recuperar, manipular y actualizar datos

  • Un Dataset es una copia en la memoria de los datos de la base de datos. Un Dataset puede contener datos de cualquier cantidad de tablas o vistas de bases de datos. El Dataset constituye una vista desconectada de la base de datos porque existe en la memoria sin una conexin activa a una base de datos que contenga las tablas o vistas correspondientes

  • Un Dataset es como una base relacional miniatura dentro de la memoria. Contiene varias tablas, cada una de las cuales corresponde a una tabla o vistaEn aplicaciones con n niveles, normalmente los datos se pasan desde la BD a un objeto de negocios de nivel medio y luego a la interfazPara acomodar el intercambio de datos, ADO.NET usa persistencia y transmisin con base en XML

  • ADO vs ADO.NETADO.NET ofrece dos depsitos de datos, el DataReader y el DataSetDataReader es equivalente a un RecordSet en ADO de slo lectura y de slo hacia delanteLa analoga ms cercana de un DataSet es un RecordSet desconectado, aunque es mucho ms que esoADO.NET no tiene equivalente a RecordSets conectados y actualizables de ADO

  • La clase DataSet tiene una coleccin de tablas y una coleccin de relacionesCada tabla en la coleccin de tablas tiene una coleccin de columnas y una coleccin de filas que representan los datos que se mantienen en el DataSetEstos objetos representan el esquema del DataSetEl DataSet puede estar serializado o no hacia o desde XML.

  • Recorrido de datosLos mtodos que utiliza ADO.NET para leer o modificar datos difiere de los mtodos de programacin que usa ADOEn ADO, se explora de manera secuencial a travs de las filas del RecordSetEn ADO.NET, se emplea un paradigma de navegacin, movindose de una fila de una tabla de datos a la fila o filas correspondientes de otra tabla de datos siguiendo la relacin

  • XML como formato datos universalADO.NET usa XML para garantizar la interoperabilidad de plataformasCuando ocurre la transmisin a travs de XML, el receptor ya no tiene que ser un objeto COMEl componente receptor ya no tiene ninguna restriccin arquitectnicaCualquier componente de software puede compartir datos ADO.NET siempre y cuando use el mismo esquema XML

  • Modelo de objetos ADO.NETSin importar si escribe Web Forms, Windows Forms o servicios Web XML, si cuenta con una fuente de datos en su sistema, ADO.NET siempre presenta el mismo conjunto de clasesExisten dos partes principales del modelo ADO.NET: Los Proveedores de datos .NET y los objetos ADO.NET

  • Proveedores de datos .NETSe utiliza para conectarse a bases de datos, ejecutar comandos y recuperar resultados El Proveedor de datos .NET est diseado para ser ligero, creando una capa mnima entre la fuente de datos y su cdigo Cuatro objetos centrales componen un Proveedor de datos .NET: Conexin, Comando, Lector de datos y Adaptador de datos

  • Conexin Establece una conexin a una fuente especfica de datos. Comando Ejecuta un comando en una fuente de datos. Expone Parmetros y puede enumerar una Transaccin desde una Conexin. Lector de datos Lee un flujo slo hacia delante y slo de lectura de datos desde una fuente de datos. Adaptador de datos Llena un Conjunto de datos y resuelve actualizaciones con la fuente de datos

  • Microsoft SQL Server .NET Data Provider Utiliza su propio protocolo para comunicarse con SQL Server sin agregar un OLE DB o una capa de ODBCPara usarlo necesita incluir el espacio de nombre System.Data.SqlClient

    [Visual Basic] Imports System.Data.SqlClient [C#] using System.Data.SqlClient;

  • Proveedor de datos .NET de OLE DB Utiliza OLE DB nativo a travs de interoperacin COM

    [Visual Basic] Imports System.Data.OleDb

    [C#] using System.Data.OleDb ;

  • Objetos de ADO.NETTiene algunos de los mismos objetos que ADO (como Connection y Command)Introduce objetos nuevos, como DataSets, DataReaders y DataSetCommands

  • Objetos de conexin: SqlConnection y OleDBConnectionAgregue una referencia a System.Data.SqlClient:Imports System.Data.SqlClient Cree un objeto SqlConnection al pasar la fuente de datos, la informacin de seguridad y el catlogo inicial al constructor:Dim nwindConn As SqlConnection = New SqlConnection("Data Source=localhost;& Integrated Security=SSPI;" & "Initial Catalog=northwind") Abra la conexin:nwindConn.Open()

  • Objetos de comandoRepresentan un comando que se ejecutar contra una fuente de datos. Si el comando que se ejecuta devuelve filas de datos, puede utilizar DataReaderPara comandos SQL, usar SqlDataReader

  • Mtodos de comandoExecuteReader: Ejecuta una consulta SQL o un procedimiento almacenado y devuelve un objeto DataReader ExecuteNonQuery: Ejecuta una consulta SQL o un procedimiento almacenado y no regresa registros. ExecuteScalar: Recupera un valor nico desde una base de datos. nwindCmd.CommandText = "Select count(*) as " & "NumberOfRegions from region";Int count = (int) nwindCmd.ExecuteScalar();

  • Ejecucin de comandos SQLCree un objeto de tipo SqlCommand:

    Dim nwindCmd As SqlCommand = New SqlCommand("Select * from Customers", nwindConn)

    Ejecute el mtodo ExecuteReader y almacene el flujo de filas en un objeto SQLReader:

    Dim nwindReader As SqlDataReader = nwindCmd.ExecuteReader(CommandBehavior.CloseConnection)While nwindReader.Read()MsgBox(nwindReader.GetString(0))End WhilenwindReader.Close()nwindConn.Close()

  • Objetos DataReaderEst diseado para producir un flujo de slo lectura y slo hacia delante desde la base de datosEl DataReader recupera lotes de registros y los coloca en la memoria cach, recuperando ms registros segn los necesiteUn DataReader se devuelve despus de ejecutar un comandoTrabaja de manera similar a un Conjunto de registros en ADO, permitindole simplemente recorrer los registros

  • EjemploDim nwindReader As SqlDataReader = nwindCmd.ExecuteReader(CommandBehavior.CloseConnection)While nwindReader.Read()MsgBox(nwindReader.GetString(0))End WhilenwindReader.Close()

  • Objetos DataSetEs una representacin de datos que residen en la memoria que proporciona un modelo consistente de programacin relacional sin importar la fuente de datos. Como resultado, se puede utilizar con varias fuentes de datos y datos XML, o se puede utilizar para administrar datos locales de la aplicacin. El DataSet contiene una coleccin de uno o ms objetos DataTable conformados de filas y columnas de datosLos datos estn en las filas

  • Objetos DataAdapterEste objeto permite la recuperacin y guardado de datos entre un objeto DataSet y el almacn de datos fuenteEs responsable de jalar los datos desde el almacn fsico y colocarlos en las tablas y relaciones de datosEl objeto DataAdapter tambin es responsable de transmitir cualquier actualizacin, insercin o eliminacin de la base de datos fsica

  • SqlConnection nwindConn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"); SqlCommand selectCMD = new SqlCommand("SELECT CustomerID, CompanyName FROM Customers", nwindConn); selectCMD.CommandTimeout = 30; SqlDataAdapter custDA = new SqlDataAdapter();custDA.SelectCommand = selectCMD; nwindConn.Open(); DataSet custDS = new DataSet(); custDA.Fill(custDS, "Customers"); nwindConn.Close();

  • Objetos DataViewSe usan para mostrar los datos retenidos en un DataSetProporcionan una vista personalizada de tablas de datosSon el equivalente de RecordSets desconectados de ADOSe pueden usar para especificar criterios de filtrado y clasificacin y para buscar y editar un DataSet Se pueden crear cualquier nmero de DataViews para la misma tabla

  • Cada DataTable en un DataSet tiene una propiedad DefaultView

    Dim dv As DataViewdv = ds.Tables("Authors").DefaultView

    Tambin se pueden filtrar datos

    dv = New DataView (ds.Tables("Authors"))dv.RowFilter = "state = 'CA'"

    *