slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
PowerPoint Presentation
Download Presentation

Loading in 2 Seconds...

play fullscreen
1 / 57

- PowerPoint PPT Presentation


  • 277 Views
  • Uploaded on

ADO .NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina. 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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '' - Mia_John


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

ADO .NET

Diego Casali

SE

Región Córdoba y NOA

Microsoft de Argentina

lo que vamos a cubrir
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
prerrequisitos de la sesi n
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
agenda
Agenda
  • Introducción a ADO.NET
  • Programación con ADO.NET
  • Soporte XML
  • Funciones avanzadas
  • ¿Cuándo utilizar qué?
introducci n a ado net qu es ado net
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 dediferentes recursos heterogéneos
introducci n a ado net por qu ado net
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
introducci n a ado net objetos de datos net
Introducción a ADO.NETObjetos de datos .NET

Controls,Designers,Code-gen, etc

XSL/T, X-Path,Validation, etc

XmlData-Document

DataSet

Sync

XmlReader

XmlText-

Reader

XmlNode-

Reader

DataAdapter

DataReader

Command

Connection

.NET Data Provider

agenda11
Agenda
  • Introducción a ADO.NET
  • Programación con ADO.NET
  • Soporte XML
  • Funciones avanzadas
  • ¿Cuándo utilizar qué?
programaci n con ado net net data provider
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
programaci n con ado net net data provider13
Programación con ADO.NET.NET Data Provider
  • 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 conexi n
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
programaci n con ado net conexi n15
Programación con ADO.NETConexión

// Ejemplo en C#

//Especificar el NamespaceSystem.Data.SQL

Using System.Data.SqlClient;

// Crear una instancia del objeto SQLConnection

SQLConnection cnn = new SQLConnection();

// Definir la cadena de conexión

cnn.ConnectionString = "server=localhost;uid=sa;database=pubs";

//Abrir la conexión

cnn.Open();

programaci n con ado net comando
Programación con ADO.NETComando
  • 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 net comando17
Programación con ADO.NETComando
  • ExecuteNonQuery
  • ExecuteReader
  • ExecuteScalar
  • ExecuteXmlReader (únicamente para el objeto SqlCommand)
programaci n con ado net datareader
Programación con ADO.NETDataReader
  • 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 net dataset
Programación con ADO.NETDataSet
  • 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 net dataset20
Programación con ADO.NETDataSet

DataRow

DataColumn

DataTable

DataTable

DataSet

Relationes

Restricciones

Esquema XML

programaci n con ado net datarelation
Programación con ADO.NETDataRelation
  • ¿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 net typed dataset
Programación con ADO.NETTyped DataSet
  • 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 net dataadapter
Programación con ADO.NETDataAdapter
  • 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 net dataadapter24
Programación con ADO.NETDataAdapter

SelectCommand

InsertCommand

UpdateCommand

DeleteCommand

Base de datos

DataAdapter

DataSet

TableMappings

programaci n con ado net dataadapter25
Programación con ADO.NETDataAdapter

// Ejemplo en C#

// Crear un DataAdapter

SQLDataAdapter objDataAdapter = new SQLDataAdapter(

"Select * from authors",cnn);

// Cargar los datos en el DataSet

objDataAdapter.Fill(pubs, "Authors");

// hacer cambios de datos de clientes en el dataset

pubs.Tables["Authors"].Rows[0]["au_lname"]="smith";

objDataAdapter.Update(pubs, "Authors");

programaci n con ado net recursos para databinding
Programación con ADO.NETRecursos para DataBinding
  • DataReader
  • DataTable
  • DataView
  • DataSet
  • Arreglo
  • Colección
  • IList
programaci n con ado net databinding
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
agenda29
Agenda
  • Introducción a ADO.NET
  • Programación con ADO.NET
  • Soporte XML
  • Funciones avanzadas
  • ¿Cuándo utilizar qué?
soporte xml ado net y xml
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
soporte xml ado net y xml31
Soporte XMLADO.NET y XML

// Ejemplo en C#

// Asociar un XmlDataDocument con el DataSet

XmlDataDocument xmlDocument = new XmlDataDocument(pubs);

// Obtener un XmlNavigator para el XmlDataDocument

DataDocumentNavigator xmlNavigator = new DataDocumentNavigator(xmlDocument);

// Obtener todos los autores de CA

xmlNavigator.Select("//Authors[state='CA']/au_lname");

// Mostrar todos los apellidos de autores

while(xmlNavigator.MoveToNextSelected())

{

Console.WriteLine("Name = " + xmlNavigator.InnerText);

}

soporte xml ado net y xml32
Soporte XMLADO.NET y XML
  • DataSet ofrece manejo directo de documentos y esquemas XML
    • ReadXml()
    • ReadXmlSchema()
    • WriteXml()
    • WriteXmlSchema()
soporte xml sqlxml
Soporte XMLSQLXML
  • SQLXML Managed Classes 3.0
    • SqlXmlCommand
    • SqlXmlParameter
    • SqlXmlAdapter
agenda35
Agenda
  • Introducción a ADO.NET
  • Programación con ADO.NET
  • Soporte XML
  • Funciones avanzadas
  • ¿Cuándo utilizar qué?
funciones avanzadas connectionpooling
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+
funciones avanzadas connectionpooling37
Funciones avanzadasConnectionPooling

// Ejemplo en C#

SqlConnection conn = new SqlConnection();

conn.ConnectionString = “Integrated Security=SSPI; Initial Catalog=Northwind”

conn.Open(); // Se crea el Pool A;

SqlConnection conn = new SqlConnection();

conn.ConnectionString = “Integrated Security=SSPI; Initial Catalog=pubs”

conn.Open(); // Se crea el Pool B ya que la cadena de conexión es diferente

SqlConnection conn = new SqlConnection();

conn.ConnectionString = “Integrated Security=SSPI; Initial Catalog=Northwind”

conn.Open(); // Se usa el Pool A

funciones avanzadas transacciones distribuidas
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
funciones avanzadas manejo de errores
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
agenda41
Agenda
  • Introducción a ADO.NET
  • Programación con ADO.NET
  • Soporte XML
  • Funciones avanzadas
  • ¿Cuándo utilizar qué?
cu ndo utilizar qu consideraciones
¿Cuándo utilizar qué?Consideraciones
  • Acceso a datos conectados
  • Acceso a datos desconectados
  • Vista XML de datos relacionales
cu ndo utilizar qu acceso a datos conectados
¿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
cu ndo utilizar qu acceso a datos desconectados
¿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
cu ndo utilizar qu acceso de datos xml
¿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
resumen de la sesi n
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
para mayor informaci n
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
ms press recursos esenciales para desarrolladores
MS PressRecursos esenciales para desarrolladores

Ahora puede crear sus propios libros personalizados MS Press books en

mspress.microsoft.com/custombook

Escoja entre Windows 2000, SQL Server 200, Exchange 2000, Office 2000 y XML

Créelo y después pídalo en versión MS Reader, PDF o impresa

msdn recursos esenciales para desarrolladores
MSDNRecursos esenciales para desarrolladores

Servicios de suscripción

Biblioteca, Profesional, Universal

Proporcionado vía CD-ROM, DVD, Web

Información en línea

MSDN Online, MSDN Flash

Capacitación & Eventos

MSDN Training, Tech-Ed, PDC,

Developer Days, MSDN/Eventos en el sitio

Publicaciones impresas

MSDN Magazine

MSDN News

Programas de membresía

Grupos de usuarios MSDN

d nde puedo obtener msdn
¿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
slide53
Application Blocks
    • Data Access
    • Exception Management
data access application block
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” );

data access application block56
Data Access Application Block
  • 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