slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
ADO .NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina PowerPoint Presentation
Download Presentation
ADO .NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina

Loading in 2 Seconds...

play fullscreen
1 / 57

ADO .NET Diego Casali SE Región Córdoba y NOA Microsoft de Argentina - PowerPoint PPT Presentation


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


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