Professional Documents
Culture Documents
NET
Daniel A. Seara
NDSoft
Objetivos
Introducir Microsoft ADO.NET
Mostrar la evolucin de
ADO a ADO.NET
Introducir los componentes
primarios de ADO.NET
ADO.NET y el Marco.NET
Microsoft .NET Framework
Web Services
Interfaz de usuario
Datos y XML
ADO.NET
XML
...
Clases base
Motor de ejecucin comn (CLR)
...
1/2
ADO
los datos
2/2
ADO.NET
Diseado para acceso desconectado
Se puede modelar la informacin por lgica!
El DataSet reemplaza al RecordSet
El DataSet puede contener mltiples tablas
No se requieren JOIN
Se preservan las relaciones: La navegacin es relacional
de XML
No se requieren conversiones de tipos de datos
XML, como HTML, es texto plano: Pasa las barreras
Beneficios de ADO.NET
Estndar abierto
Texto descifrable por Humanos
Los datos se describen a s mismos
Se usa en todas las transferencias de datos
en ADO.NET
largos
No se producen bloqueos en la base de
datos
Trabaja como la Web Toco y me voy
Facilidad en el Mantenimiento
Separacin de la lgica de datos y la interfaz
del usuario
Proveedores administrados
System.Data
.SQLTypes
.Sql
.Internal
.OleDb
El modelo de objetos de
ADO.NET
DataSet
Proveedores administrados
System.Data
1/2
datos
Permite la utilizacin de XML para ver,
compartir y almacenar datos
System.Data
System.Data
DataSet
2/2
DataTable
DataRow
DataColumn
DataRelation
DataSetView
System.Data y DataSet
DataSet
Tables
DataTable
DataRow(s)
Relations
DataRelation
DataRelation
DataColumn
Constraint(s)
DataTable
DataTable
DataView
System.Data - DataSet
1/3
System.Data - DataSet
2/3
System.Data - DataSet
3/3
System.Data - DataTable
Puede ser vinculado a una tabla fsica de una base
Y relacionarla con otras a travs de
DataRelations
Bloqueo concurrente optimista
Propiedades importantes:
Columns: Devuelve la coleccin de DataColumns
como ColumnsCollection
Rows: Devuelve objetos DataRow como una
RowsCollection
ParentRelations: Devuelve una RelationsCollection
Constraints: Devuelve la ConstraintsCollection de la
tabla
DataSet: Devuelve el conjunto de datos de la
DataTable
PrimaryKey: Obtiene los DataColumns que
conforman la clave primaria de la tabla
System.DataDataSet y DataTable
Crear una DataTable y agregarla al DataSet
DataSet ds = new DataSet();
// Crear el objeto Clientes.
DataTable dt= new DataTable( Clientes );
// Crear y agregar columnas
// 1. Explcitamente
DataColumn dc = new DataColumn( ID, Int16 );
dt.Columns.Add( dc );
// 2. Implcitamente.
dt.Columns.Add( Nombre, String );
dt.Columns.Add( Apellido, String );
// Agregar el objeto DataTabla al DataSet
ds.Tables.Add( dt );
System.Data - DataRelation
1/2
DataTable
El tipo de datos (DataType) de ambas
DataColumns debe ser el mismo
No es posible relacionar un Int32 con un String
Se le asigna un nombre (por el desarrollador!)
DataRelation dr=new DataRelation _
(miRelacion,...)
DataSet
System.Data - DataRelation
2/2
columnas
Agregar la relacin al DataSet
usando XML
System.Data - DataView
Crea mltiples vistas de los objetos DataTable
Vinculable a controles
Propiedades importantes:
Item: Obtiene una fila de una tabla determinada
Table: Obtiene o asigna el objeto DataTable
Sort: obtiene o asigna la/s columna/s y el
ordenamiento
RowFilter: Obtiene o asigna la expresin para filtrar
la vista
RowStateFilter: Indica o asigna el estado del filtro
None, Unchanged, New, Deleted, ModifiedCurrent, y
otros
System.Data - DataView
Creando objetos DataView
DataView vista1 = new DataView( miTabla );
DataView vista2 = new DataView( miTabla );
// La vista ordenada por Apellido
vista1.Sort = Apellido ASC;
// Filtrar para ver slo los modificados
vista2.RowStateFilter= DataViewRowState.ModifiedOriginal;
// Vincular a un control de usuario...
DataGrid myGrid = new DataGrid();
myGrid.SetDataBinding( view1, Clientes);
//...
Tables
DataTable
DataRow(s)
DataColumn
Relations
Constraint(s)
DataRelation
DataRelation
DataTable
DataTable
DataView
y MSDE
Otros proveedores OLEDB
Por ejemplo: Oracle
Proveedores administrados
System.Data
.Sql
SqlCommand
SqlConnection
SqlDataReader
SqlDataSetCommand
.OleDb
OleDbCommand
OleDbConnection
OleDbDataReader
OleDbDataSetCommand
Dependen de
System.Data.InternalDataCollection
Base para varias clases heredadas
OleDbConnection y
SqlConnection
Representa una nica sesin con un origen
de datos
Exponen funcionalidad de transacciones
Ejemplo de Conexin OleDbConnection:
String conStr="Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=NWIND_RW.MDB";
OleDbConnection aConn = new OleDbConnection(conStr);
aConn.Open();
// Execute Queries using OleDbDataSetCommand Class
aConn.Close();
OleDbDataAdapter
1/2
DataAdapter
DataSet
OleDbDataAdapter
2/2
Propiedades de Inters:
DeleteCommand:
InsertCommand:
SelectCommand:
UpdateCommand:
OleDbCommand
Representa una consulta a ejecutar en la
base de datos
Propiedades:
Connection: Conexin utilizada (Objeto
OleDbConnection)
CommandText: Sentencia a ejecutar
CommandType: Tipo de sentencia asignada
Texto, Procedimiento Almacenado, o Nombre
de la tabla
CommandTimeout: Cantidad de segundos para
que se considere fuera de tiempo la ejecucin
de una sentencia
OleDbDataReader
1/2
OleDbDataAdapter
OleDbDataReader
2/2
Propiedades Importantes:
FieldCount: Cantidad de Columnas del
conjunto de datos
IsClosed: Indica el estado del Conjunto
de datos
RecordsAffected: La cuenta de
registros obtenidos
Resumen
ADO.NET es la evolucin de ADO
Es desconectado, para acompaar el
modelo basado en Web
Muy flexible para trabajar con Datos
Aumenta las capacidades de organizar
lgicamente los datos
Amplio soporte para XML
Lo que permite mayores habilidades para