conceptos fundamentales de ado.net leonardo diez dolinski servicios profesionales danysoft

24
Conceptos Conceptos fundamentales de fundamentales de ADO.NET ADO.NET Leonardo Diez Dolinski Leonardo Diez Dolinski Servicios Profesionales Servicios Profesionales Danysoft Danysoft

Upload: benito-grijalva

Post on 16-Feb-2015

12 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Conceptos Conceptos fundamentales de fundamentales de ADO.NETADO.NETLeonardo Diez DolinskiLeonardo Diez DolinskiServicios ProfesionalesServicios ProfesionalesDanysoftDanysoft

Page 2: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

OrdenOrden deldel díadía

ConceptosConceptos

Objetos básicosObjetos básicos

Trabajo desconectadoTrabajo desconectado

Page 3: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

ADOADO

Aplicaciones cliente/servidorAplicaciones cliente/servidorConexión permanenteConexión permanente

Desarrollo rápidoDesarrollo rápidoModelo de objetos versátilModelo de objetos versátil

Conjunto de datos muy funcionalConjunto de datos muy funcionalTipo y ubicación de cursorTipo y ubicación de cursor

Actualización automática de BDActualización automática de BD

web distribuidas

datos desconectados

Trabajo extra implícito

Funcionalidad de acceso a datos separada

.net

GenéricoGenérico

PersonalizablPersonalizablee

Page 4: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Trabajo con datosTrabajo con datos

DesconectadosDesconectadosForma de trabajar de ADO.NETForma de trabajar de ADO.NET

Uso de XMLUso de XML

ConectadosConectadosT-SQL: Cursores en el servidorT-SQL: Cursores en el servidor

Uso de ADO: afecta el rendimientoUso de ADO: afecta el rendimiento

Page 5: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

DesarrolloDesarrollo

Más difícil de aprenderMás difícil de aprenderCambio de forma de pensarCambio de forma de pensar

Más objetos y funcionalidadesMás objetos y funcionalidades

Uso un poco más complejoUso un poco más complejoModelo de objetos estrictoModelo de objetos estricto

Visual Studio .NET lo simplificaVisual Studio .NET lo simplifica

Mayor rendimientoMayor rendimiento

Mayor potencialMayor potencial

Page 6: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Separación datos-origenSeparación datos-origen

Funcionalidad de acceso a datosFuncionalidad de acceso a datosEspecífica para el origen de datos a utilizarEspecífica para el origen de datos a utilizar

Conjunto de datosConjunto de datosSin funcionalidad de acceso a datosSin funcionalidad de acceso a datos

Mayor versatilidadMayor versatilidad

Posibilidad de almacenar más datos y Posibilidad de almacenar más datos y metadatosmetadatos

Page 7: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Proveedores de datosProveedores de datos

Conjunto de objetos creados y optimizados para acceso a un Conjunto de objetos creados y optimizados para acceso a un orígen de datos específicoorígen de datos específico

InterfacesInterfacesSystem.DataSystem.Data

Clases comunesClases comunesSystem.Data.CommonSystem.Data.Common

Bases de datosBases de datosSQL Server: System.Data.SqlClientSQL Server: System.Data.SqlClient

Oracle: System.Data.OracleOracle: System.Data.Oracle

Tecnologías estándar:Tecnologías estándar:OLE-DB: System.Data.OleDbOLE-DB: System.Data.OleDb

ODBC: System.Data.OdbcODBC: System.Data.Odbc

Page 8: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Contenedores de datosContenedores de datos

Dentro de la librería de clases de la Dentro de la librería de clases de la plataformaplataforma

System.DataSystem.Data

System.XmlSystem.Xml

Utilizan XML de forma nativaUtilizan XML de forma nativaPotentePotente

Fácil persistenciaFácil persistencia

LegibleLegible

Page 9: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

OrdenOrden deldel díadía

ConceptosConceptos

Objetos básicosObjetos básicos

Trabajo desconectadoTrabajo desconectado

Page 10: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Objetos de ADO.NETObjetos de ADO.NET

AplicaciónVínculo con la BDVínculo con la BD

Pooling automáticoPooling automático

Inicia transaccionesInicia transacciones

TiposTiposIDbConnectionIDbConnection

SqlConnectionSqlConnection

OleDbConnectionOleDbConnectionconexión

ConexiónConexión

Page 11: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Aplicación

Objetos de ADO.NETObjetos de ADO.NET

conexión

comando

Envío de sentencias Envío de sentencias Transact-SQLTransact-SQL

ParámetrosParámetros

Puede devolverPuede devolverNúmero de filas afectadasNúmero de filas afectadasUn valor escalarUn valor escalarUn lector de datosUn lector de datos

TiposTiposIDbCommandIDbCommandSqlCommandSqlCommandOleDbCommandOleDbCommand

ComandoComando

Page 12: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

datosdatosdatos

Objetos de ADO.NETObjetos de ADO.NET

conexión

Aplicación

lectorcomando

Lectura secuencial de Lectura secuencial de datosdatos

Por filaPor filaPor bytesPor bytes

Sólo lecturaSólo lecturaMáximo rendimientoMáximo rendimiento

Única funcionalidadÚnica funcionalidadFoward-onlyFoward-only

Puede manejar varios Puede manejar varios conjuntos de resultadosconjuntos de resultadosTiposTipos

IDataReaderIDataReaderSqlDataReaderSqlDataReaderOleDbDataReaderOleDbDataReader

Lector de datosLector de datos

Page 13: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Demo 1Demo 1

Acceso secuencial a datosAcceso secuencial a datos

Page 14: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

OrdenOrden deldel díadía

ConceptosConceptos

Objetos básicosObjetos básicos

Trabajo desconectadoTrabajo desconectado

Page 15: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Aplicación

data table

Objetos de ADO.NETObjetos de ADO.NET

data table

data table

Contenedor de datosContenedor de datos

Cualquier orígen de datosCualquier orígen de datosIndependiente de esteIndependiente de este

Contiene objetos tablaContiene objetos tablaContienen objetos fila y Contienen objetos fila y columnacolumna

Integridad de los datosIntegridad de los datosRestriccionesRestricciones

TiposTiposSystem.Data.DataSetSystem.Data.DataSet

System.Data.DataTableSystem.Data.DataTable

System.Data.DataViewSystem.Data.DataView

Conjunto de datosConjunto de datos

XML ...

unique foreign key

data set

Page 16: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Objetos de ADO.NETObjetos de ADO.NET

DataSet preparado para contener datos DataSet preparado para contener datos determinados en tiempo de diseñodeterminados en tiempo de diseño

Agiliza desarrolloAgiliza desarrollo

Mejora rendimientoMejora rendimiento

Evita erroresEvita errores

Diseño visual: esquema XSDDiseño visual: esquema XSD

DataSet tipadoDataSet tipado

Page 17: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Aplicación

cambios

datos

Objetos de ADO.NETObjetos de ADO.NET

conexión

Orquestador del acceso Orquestador del acceso a datosa datosCreado para trabajar con Creado para trabajar con un DataSetun DataSetContiene un comando Contiene un comando de selección y un lector de selección y un lector de datosde datosContiene 3 comandos Contiene 3 comandos para persistir cambios para persistir cambios en la BDen la BDTiposTipos

DbDataAdapterDbDataAdapterIDbDataAdapterIDbDataAdapterSqlDataAdapterSqlDataAdapterOleDbDataAdapterOleDbDataAdapter

Adaptador de datosAdaptador de datos

selectdeleteupdateinsert

lectordata adapter

data set

cambioscambios

Page 18: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Objetos de ADO.NETObjetos de ADO.NET

TiposTiposSqlCommandBuilderSqlCommandBuilderOleDbCommandBuilderOleDbCommandBuilder

Se vincula con un DataAdapterSe vincula con un DataAdapterGenera sentencias de actualización de DB Genera sentencias de actualización de DB basado en el SELECTbasado en el SELECTNecesita metadatos de la BDNecesita metadatos de la BD

Menor rendimientoMenor rendimientoUso no recomendadoUso no recomendadoUsar para sentencias Ad-hocUsar para sentencias Ad-hoc

Constructor de comandosConstructor de comandos

Page 19: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Objetos de ADO.NETObjetos de ADO.NET

TransaccionesTransaccionesIDbTransactionIDbTransaction

SqlTransactionSqlTransaction

OleDbTransactionOleDbTransaction

Manejo de excepcionesManejo de excepcionesSqlException y SqlErrorSqlException y SqlError

OleDbException y OleDbErrorOleDbException y OleDbError

Más objetosMás objetos

Page 20: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Demo 2Demo 2

Uso de los conjuntos de datosUso de los conjuntos de datos

Page 21: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Preguntas y respuestasPreguntas y respuestas

Page 22: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Links de utilidadLinks de utilidad

MSDNMSDNmsdn.microsoft.commsdn.microsoft.com

.NET 247.NET 247www.dotnet247.comwww.dotnet247.com

Page 23: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

ParaPara obtenerobtener másmás informacióninformación

eRevista DanysofteRevista Danysoft

Webs DanysoftWebs Danysoft

Area Formación yArea Formación yS.ProfesionalesS.Profesionales

DVD DanysoftDVD Danysoft

Libros DanypressLibros Danypress

[email protected]@danysoft.com

Page 24: Conceptos fundamentales de ADO.NET Leonardo Diez Dolinski Servicios Profesionales Danysoft

Gracias por su asistenciaGracias por su asistencia