ado.net diego casali se región córdoba y noa microsoft de argentina
TRANSCRIPT
![Page 1: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/1.jpg)
ADO .NET
Diego CasaliSERegión Córdoba y NOAMicrosoft de Argentina
![Page 2: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/2.jpg)
Lo que vamos a cubrir
• Entender la diferencia entre ADO y ADO.NET
• Cómo integrar ADO.NET con .NET utilizando Visual Studio.NET
• Cómo utilizar las capacidades avanzadas de ADO.NET
• Cómo aprovechar el soporte XML con ADO.NET
![Page 3: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/3.jpg)
Prerrequisitos de la sesión
• Diseño y programación de la base de datos relacional
• Programación de Visual Basic 6.0
• ADO de Microsoft
• Entendimiento de XML
![Page 4: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/4.jpg)
Agenda
• Introducción a ADO.NET
• Programación con ADO.NET
• Soporte XML
• Funciones avanzadas
• ¿Cuándo utilizar qué?
![Page 5: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/5.jpg)
Introducción a ADO.NET¿Qué es ADO.NET?
• Evolución natural de ADO• Interoperabilidad
– Basado en estándares como XML, XSD• Escalabilidad
– Objetivos distribuidos, escenarios web desconectados
• Modelo– Arquitectura distribuida que reemplaza al
cliente / servidor– Integración de datos de
diferentes recursos heterogéneos
![Page 6: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/6.jpg)
Introducción a ADO.NET¿Por qué ADO.NET?
• Para acomodar un modelo de aplicación Web– Unido de manera flexible– Mantiene el estado entre solicitudes– Utiliza HTTP
![Page 7: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/7.jpg)
Introducción a ADO.NETComparación entre ADO y ADO.NET
Función ADO ADO.NET
Representación de datos residentes en la memoria
RecordSet puede contener una tabla
DataSet puede contener una o más tablas representadas por Objeto DataTable
Relación entre múltiples tablas
Requiere la consulta JOIN (UNIRSE)
Soporta el objeto DataRelation
Visita de datos Escanea de manera secuencial la filas RecordSet
Utiliza un paradigma de exploración para acceso no secuencial
Acceso desconectado
Proporcionado por RecordSet pero generalmente soporta el acceso conectado
Se comunica con llamadas estandarizadas al DataAdapter
![Page 8: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/8.jpg)
Introducción a ADO.NETComparación entre ADO y ADO.NET
Función ADO ADO.NET
Programabilidad Utiliza el objeto de conexión para transmitir comandos
Utiliza características de programación de XML escritas de manera sólida
Uso compartido de datos desconectados entre niveles y componentes
Utiliza la clasificación COM para transmitir el conjunto de registros desconectados
Transmite un DataSet con un archivo XML
Transmisión de datos a traves de Firewalls
Problemático ya que los firewall generalmente se configuran para evitar solicitudes a nivel sistema
Los objetos DataSet soportados utilizan XML, los cuales pueden atravezar firewalls
Escalabilidad Seguros de base de datos y conexiones activas de base de datos para largas duraciones
Acceso desconectado a la base de datos sin retener los seguros de la base de datos
![Page 9: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/9.jpg)
Introducción a ADO.NETObjetos de datos .NET
.NET Data Provider.NET Data Provider
DataReaderDataReader
CommandCommandConnectionConnection
SyncSync
Controls,Controls,Designers,Designers,
Code-gen, etcCode-gen, etc
DataSetDataSet
XmlReaderXmlReader
XmlText-XmlText-ReaderReader
XmlNode-XmlNode-ReaderReader
XSL/T, X-Path,XSL/T, X-Path,Validation, etcValidation, etc
XmlData-XmlData-DocumentDocument
DataAdapterDataAdapter
![Page 10: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/10.jpg)
Introducción a ADO.NETObjetos de datos .NET
![Page 11: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/11.jpg)
Agenda
• Introducción a ADO.NET
• Programación con ADO.NET
• Soporte XML
• Funciones avanzadas
• ¿Cuándo utilizar qué?
![Page 12: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/12.jpg)
Programación con ADO.NET..NET Data Provider
• Administra la interacción a una fuente de datos – Administrado equivalente a capa OLE DB
– Expone directamente las interfaces del consumidor
– Específico para (optimizada para) DataSource
• Modelo de objeto de .NET Data Provider– Conexión
– Comando
– DataReader
– DataAdapter
![Page 13: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/13.jpg)
• SQL Server .NET Data Provider
• OLE DB .NET Data Provider – Microsoft OLE DB Provider for SQL Server– Microsoft OLE DB Provider for Oracle– Microsoft OLE DB Provider for Microsoft Jet
• ODBC .NET Data Provider
Programación con ADO.NET..NET Data Provider
![Page 14: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/14.jpg)
Programación con ADO.NETConexión
• Representa una conexión a la Fuente de datos
• En una conexión, usted puede…– Personalizar la conexión a la base de datos– Iniciar, comprometer y abortar transacciones
• Equivalente al objeto ADODB.Connection
![Page 15: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/15.jpg)
// Ejemplo en C#// Ejemplo en C#
//Especificar el //Especificar el NamespaceNamespace System.Data.SQLSystem.Data.SQLUsing System.Data.SqlClient;Using System.Data.SqlClient;
// Crear una instancia del objeto SQLConnection// Crear una instancia del objeto SQLConnectionSQLConnection cnn = new SQLConnection();SQLConnection cnn = new SQLConnection();
// Definir la cadena de conexión// Definir la cadena de conexióncnn.ConnectionString = cnn.ConnectionString = "server=localhost;uid=sa;database=pubs";"server=localhost;uid=sa;database=pubs";
//Abrir la conexión//Abrir la conexióncnn.Open();cnn.Open();
Programación con ADO.NETConexión
![Page 16: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/16.jpg)
• Representa un comando que se va a ejecutar– No necesariamente SQL
• Con un comando ADO usted puede:– Definir un enunciado para que se ejecute en el servidor– Establecer información de parámetros para ese
comando– Recuperar valores de retorno de la ejecución del
comando
• Corresponde al objeto ADODB.Command• Puede contener parámetros
– Valores que se van a utilizar cuando se ejecute el enunciado
Programación con ADO.NETComando
![Page 17: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/17.jpg)
• ExecuteNonQuery
• ExecuteReader
• ExecuteScalar
• ExecuteXmlReader (únicamente para el objeto SqlCommand)
Programación con ADO.NETComando
![Page 18: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/18.jpg)
• Acceso a datos rápido, únicamente hacia delante, únicamente de lectura
• Funciona como un socket
• Permite un acceso escrito de manera sólida
• Debe ser cerrado
Programación con ADO.NETDataReader
![Page 19: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/19.jpg)
• Almacén en memoria para datos del cliente• Vista relacional de datos
– Tablas, columnas, filas, restriciones, relaciones
• Persisten los datos y el esquema como XML• Modelo desconectado explícito
– Objeto remoto, desconectado– Índice en forma de arreglo
• No hay conocimiento de Fuente de datos o Propiedades– Modelo común sobre datos heterogéneos– Características de rendimiento predecibles
Programación con ADO.NETDataSet
![Page 20: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/20.jpg)
DataSetDataSet
DataTableDataTable
DataTableDataTable
DataRowDataRow
DataColumnDataColumn
RelationesRelationes
RestriccionesRestriccionesEsquema XML Esquema XML
Programación con ADO.NETDataSet
![Page 21: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/21.jpg)
• ¿Qué es DataRelation?– Se utiliza para relacionar dos objetos
DataTable– Las relaciones se crean entre columnas
equivalentes en las tablas padre e hijo– Las relaciones también pueden presentar en
cascada varios cambios de la fila padre hacia las filas hijo
Programación con ADO.NETDataRelation
![Page 22: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/22.jpg)
• Clase generada al momento del diseño– Hereda de DataSet– Esquema codificado en la clase
• Beneficios– IntelliSense– Verificación de tipos en tiempo de compilación– Código legible, conciso
Programación con ADO.NETTyped DataSet
![Page 23: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/23.jpg)
• Administra el Intercambio de datos entre DataSet y la Fuente de datos– Llenar (DataSet o DataTable)– Actualizar (DataSet o DataTable)
• Ofrece Cruces de información entre tablas y columnas
• El usuario puede anular los comandos Insertar / actualizar / eliminar– Componente de autogeneración disponible
• Permite que un único DataSet se llene de varios Orígenes de datos diferentes
Programación con ADO.NETDataAdapter
![Page 24: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/24.jpg)
DataAdapterDataAdapter
SelectCommandSelectCommand
InsertCommandInsertCommand
UpdateCommandUpdateCommand
DeleteCommandDeleteCommand
TableMappingsTableMappings
Base de datosBase de datos
DataSetDataSet
Programación con ADO.NETDataAdapter
![Page 25: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/25.jpg)
// Ejemplo en C#// Ejemplo en C#
// Crear un DataAdapter// Crear un DataAdapter
SQLDataAdapter objDataAdapter = new SQLDataAdapter(SQLDataAdapter objDataAdapter = new SQLDataAdapter(
"Select * from authors",cnn);"Select * from authors",cnn);
// Cargar los datos en el DataSet// Cargar los datos en el DataSet
objDataAdapter.Fill(pubs, "Authors");objDataAdapter.Fill(pubs, "Authors");
// hacer cambios de datos de clientes en el dataset// hacer cambios de datos de clientes en el dataset
pubs.Tables["Authors"].Rows[0]["au_lname"]="smith";pubs.Tables["Authors"].Rows[0]["au_lname"]="smith";
objDataAdapter.Update(pubs, "Authors");objDataAdapter.Update(pubs, "Authors");
Programación con ADO.NETDataAdapter
![Page 26: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/26.jpg)
Programación con ADO.NETRecursos para DataBinding
• DataReader
• DataTable
• DataView
• DataSet
• Arreglo
• Colección
• IList
![Page 27: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/27.jpg)
Programación con ADO.NETDataBinding
• DataView– Concibe a ésta como una vista en DataTable– Permite establecer una solicitud de clasificación y Filtro
en una vista de la tabla– Puede crear cualquier número de DataViews en una
tabla para permitir diferentes vistas de la misma tabla
![Page 28: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/28.jpg)
Demostración 1DataSet, DataAdapter y
DataReader
![Page 29: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/29.jpg)
Agenda
• Introducción a ADO.NET
• Programación con ADO.NET
• Soporte XML
• Funciones avanzadas
• ¿Cuándo utilizar qué?
![Page 30: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/30.jpg)
Soporte XMLADO.NET y XML
• DataSet– Carga / guarda datos XML dentro / fuera de DataSet– El esquema se puede cargar / guardar como XSD– El esquema se puede inferir de datos XML
• XmlDataDocument– Expone una vista relacional sobre XML estructurado– Permite una escritura, unión de control, acceso
relacional sólidos de datos XML– Permite herramientas XML (validación de esquemas,
XSL/T, consultas Xpath) contra datos relacionales– Preserva una fidelidad total de documentos XML
![Page 31: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/31.jpg)
Soporte XMLADO.NET y XML
// Ejemplo en C#// Ejemplo en C#
// Asociar un XmlDataDocument con el DataSet// Asociar un XmlDataDocument con el DataSetXmlDataDocument xmlDocument = new XmlDataDocument(pubs);XmlDataDocument xmlDocument = new XmlDataDocument(pubs);
// Obtener un XmlNavigator para el XmlDataDocument// Obtener un XmlNavigator para el XmlDataDocumentDataDocumentNavigator xmlNavigator = new DataDocumentNavigator xmlNavigator = new
DataDocumentNavigator(xmlDocument);DataDocumentNavigator(xmlDocument);
// Obtener todos los autores de CA// Obtener todos los autores de CAxmlNavigator.Select("//Authors[state='CA']/au_lname");xmlNavigator.Select("//Authors[state='CA']/au_lname");
// Mostrar todos los apellidos de autores// Mostrar todos los apellidos de autoreswhile(xmlNavigator.MoveToNextSelected())while(xmlNavigator.MoveToNextSelected()){{
Console.WriteLine("Name = " + xmlNavigator.InnerText);Console.WriteLine("Name = " + xmlNavigator.InnerText);}}
![Page 32: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/32.jpg)
• DataSet ofrece manejo directo de documentos y esquemas XML– ReadXml()– ReadXmlSchema()– WriteXml()– WriteXmlSchema()
Soporte XMLADO.NET y XML
![Page 33: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/33.jpg)
Soporte XMLSQLXML
• SQLXML Managed Classes 3.0– SqlXmlCommand– SqlXmlParameter– SqlXmlAdapter
![Page 34: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/34.jpg)
Demontración 2Soporte XML
![Page 35: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/35.jpg)
Agenda
• Introducción a ADO.NET
• Programación con ADO.NET
• Soporte XML
• Funciones avanzadas
• ¿Cuándo utilizar qué?
![Page 36: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/36.jpg)
Funciones avanzadasConnectionPooling
• El proveedor OLE DB utiliza agrupación de sesiones tradicional OLEDB
• El proveedor de clientes SQL utiliza agrupación de sesiones basada en COM+
![Page 37: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/37.jpg)
// Ejemplo en C#// Ejemplo en C#SqlConnection conn = new SqlConnection();SqlConnection conn = new SqlConnection();conn.ConnectionString = “Integrated Security=SSPI; Initial conn.ConnectionString = “Integrated Security=SSPI; Initial
Catalog=Northwind”Catalog=Northwind”conn.Open();conn.Open(); // Se crea el Pool A;// Se crea el Pool A;
SqlConnection conn = new SqlConnection();SqlConnection conn = new SqlConnection();conn.ConnectionString = “Integrated Security=SSPI; Initial conn.ConnectionString = “Integrated Security=SSPI; Initial
Catalog=pubs”Catalog=pubs”conn.Open();conn.Open(); // Se crea el Pool B ya que la cadena de // Se crea el Pool B ya que la cadena de
conexión es diferenteconexión es diferente
SqlConnection conn = new SqlConnection();SqlConnection conn = new SqlConnection();conn.ConnectionString = “Integrated Security=SSPI; Initial conn.ConnectionString = “Integrated Security=SSPI; Initial
Catalog=Northwind”Catalog=Northwind”conn.Open();conn.Open(); // Se usa el Pool A// Se usa el Pool A
Funciones avanzadasConnectionPooling
![Page 38: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/38.jpg)
Funciones avanzadasTransacciones distribuidas
• Para utilizar las transacciones distribuidas:– Utilice System.EnterpriseServices– Cree un ServicedComponent para ofrecer
soporte para transacciones automático– Agregue funciones al ServicedComponents– Ejecute transacciones en el
ServicedComponents
![Page 39: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/39.jpg)
Funciones avanzadasManejo de errores
• ADO.NET permite a los desarrolladores agregar mensajes de error a cada fila de datos en un DataSet
• Usted puede filtrar para filas en error
• El error persiste con DataSet aún cuando haya sido transferido utilizando XML O Servicios Web
![Page 40: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/40.jpg)
Demostración 3Funciones avanzadas
![Page 41: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/41.jpg)
Agenda
• Introducción a ADO.NET
• Programación con ADO.NET
• Soporte XML
• Funciones avanzadas
• ¿Cuándo utilizar qué?
![Page 42: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/42.jpg)
¿Cuándo utilizar qué?Consideraciones
• Acceso a datos conectados
• Acceso a datos desconectados
• Vista XML de datos relacionales
![Page 43: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/43.jpg)
¿Cuándo utilizar qué?Acceso a datos conectados
• Proveedores administrados– Conexión, operación
• Conectar a DataSource• Iniciar / terminar transacciones
– Comando, parámetros• Actualizaciones de Base de datos, selecciones, DDL
– DataReader• Cursor de servidor (FO/RO)
– DataAdapter• Empujar los datos dentro de un Dataset• Leer los cambios fuera de DataSet
![Page 44: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/44.jpg)
¿Cuándo utilizar qué?Acceso a datos desconectados
• DataSet– Datos de aplicación– Resultados remotos
• SOAP, WebMethods, Remoting– Resultados de memoria caché
• Caché ASP.NET– Resultados persistentes
• Guardar datos como XML, esquema como XSD– Interacción del usuario
• Desplazar, clasificar, filtrar– DataView, DataViewManager
• Unir controles Windows
![Page 45: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/45.jpg)
¿Cuándo utilizar qué?Acceso de datos XML
• XML– XmlDocument
• XmlDataDocument• Implementa el núcleo de nivel 1 y 2 del W3C DOM
– XPathNavigator• Ofrece acceso aleatorio de sólo lectura
– XslTransform• Soporta sintaxis XSLT 1.0
![Page 46: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/46.jpg)
Resumen de la sesión
• Una evolución natural de ADO
• Diseñado para trabajar con XML
• Integrado estrechamente con el marco .NET
• Ofrece mecanismos rápidos y eficientes para acceso a datos conectados y desconectados
![Page 47: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/47.jpg)
Para mayor información…
• MSDN Web site at – msdn.microsoft.com
• .NET Framework at– www.microsoft.com/net
• Visual Studio .NET at– www.microsoft.com/vstudio
• ADO– www.microsoft.com/data
![Page 48: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/48.jpg)
MS PressRecursos esenciales para desarrolladores
Ahora puede Ahora puede crear sus propios libros personalizados crear sus propios libros personalizados MS Press books enMS Press books en
mspress.microsoft.com/custombookmspress.microsoft.com/custombookEscoja entre Windows 2000, SQL Server 200, Exchange 2000, Office 2000 Escoja entre Windows 2000, SQL Server 200, Exchange 2000, Office 2000
y XMLy XML
Créelo y después pídalo en versión MS Reader, PDF o impresaCréelo y después pídalo en versión MS Reader, PDF o impresa
![Page 49: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/49.jpg)
Capacitación Capacitación & Eventos& Eventos
MSDN Training, Tech-Ed, PDC, MSDN Training, Tech-Ed, PDC, Developer Days, MSDN/Eventos en el Developer Days, MSDN/Eventos en el sitiositio
MSDNRecursos esenciales para desarrolladores
Servicios de Servicios de suscripciónsuscripción
Información Información en líneaen línea
Programas de Programas de membresíamembresía
Publicaciones Publicaciones impresasimpresas
Biblioteca, Profesional, UniversalBiblioteca, Profesional, UniversalProporcionado vía CD-ROM, DVD, WebProporcionado vía CD-ROM, DVD, Web
MSDN Online, MSDN FlashMSDN Online, MSDN Flash
Grupos de usuarios MSDN Grupos de usuarios MSDN
MSDN MagazineMSDN MagazineMSDN NewsMSDN News
![Page 50: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/50.jpg)
¿Dónde puedo obtener MSDN?
• Visite MSDN en línea en msdn.microsoft.com
• Regístrese para el Boletín de noticias por correo electrónico MSDN Flash en msdn.microsoft.com/resources/msdnflash.asp
• Conviértase en un suscriptor del CD de MSDN en msdn.microsoft.com/subscriptions
• Asista a más eventos de MSDN
![Page 51: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/51.jpg)
![Page 52: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/52.jpg)
ANEXO
![Page 53: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/53.jpg)
• Application Blocks– Data Access
– Exception Management
![Page 54: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/54.jpg)
Data Access Application Block• Simplifies calling ADO.NET SqlClient
• Stored procedure parameter management– Caches s. proc. parameter definitions– Cache can be loaded manually (enforcing type
manually) or automatically ‘on the fly’
• Simplifies returning many formats– Get DataSets, DataReaders, Scalars, XmlReaders –
all in one line of code
• Simplifies calling with many sources– Connections, Conn. Strings, SQL Transactions– Plays well with COM+
dr = SqlHelper.ExecuteReader( CONN_STRING,“spSaveCustomer", “John” , “Doe” );
![Page 55: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/55.jpg)
Data Access Application Block
Data Access Application Block
SqlHelper
ExecuteNonQuery
ExecuteDataset
ExecuteReader
ExecuteScalar
ExecuteXmlReader
SqlHelperParameterCache
CacheParameterSet
GetCachedParameterSet
GetSpParameterSet
Data Access Client
T-SQL Statement orStored Procedure
int
DataSet
SqlDataReader
object
XmlReader
SqlParameter Array
Data Access Application Block
SqlHelper
ExecuteNonQuery
ExecuteDataset
ExecuteReader
ExecuteScalar
ExecuteXmlReader
SqlHelperParameterCache
CacheParameterSet
GetCachedParameterSet
GetSpParameterSet
Data Access Client
T-SQL Statement orStored Procedure
int
DataSet
SqlDataReader
object
XmlReader
SqlParameter Array
![Page 56: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/56.jpg)
• SqlHelper class has the following overloaded static methods:– ExecuteNonQuery - execute Transact-SQL
statements or stored procedures that do not return rows
– ExecuteDataset - retrieve a DataSet object that contains the resultset of a Transact-SQL statement or stored procedure
– ExecuteReader - return a DataReader object that contains the resultset of a Transact-SQL statement or stored procedure
– ExecuteScalar - retrieve a single value resultset from a Transact-SQL statement or stored procedure
– ExecuteXMLReader - retrieve XML data
Data Access Application Block
![Page 57: ADO.NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina](https://reader036.vdocuments.site/reader036/viewer/2022081414/54d006ce497959a0198b458e/html5/thumbnails/57.jpg)
Demostración 4DAAB
Usando el “Data Access Application Block”