PDF de programación - Modulo 2: Tecnologías de acceso a datos - Diplomado de Especialización en .NET

Imágen de pdf Modulo 2: Tecnologías de acceso a datos - Diplomado de Especialización en .NET

Modulo 2: Tecnologías de acceso a datos - Diplomado de Especialización en .NETgráfica de visualizaciones

Publicado el 15 de Junio del 2018
661 visualizaciones desde el 15 de Junio del 2018
4,4 MB
65 paginas
Creado hace 11a (14/06/2012)
Diplomado de
Especialización en .NET

Modulo 2: Tecnologías de acceso a
datos


M.C. Gerardo Beltrán Gutiérrez

Introducción ADO .NET

Definición

• ADO.NET provee un acceso consistente entre

fuentes de datos, como MSSQL, OLEDB, XML, etc.

• ADO.NET provee mecanismos para ejecutar

comandos y obtener los resultados.


• Cada vez es más común codificar información en
XML para pasarla a trabes de conexiones de red.
Este modelo es muy diferente al modelo de la era
cliente/servidor donde se mantenía una conexión
abierta durante la ejecución de un programa.


• ADO.NET fue diseñado para las solucionar las

necesidades de este nuevo modelo, con una
arquitectura desconectada, integración con XML,
representación común de los datos y la posibilidad de
combinar datos de varias fuentes de datos.

Proveedores de datos

• Un proveedor de datos de .NET es usado para conectarse a una

base de datos, ejecutar comandos y obtener los resultados.



• NET Provee los siguientes proveedores de datos:

• Además de estos hay varios otros proveedores de datos para otros



– MSSQL Server 7.0 o superior.
– OLEDB
– ODBC
– ORACLE


manejadores de bases de datos, como:

– Npgsql para PostgreSQL
– IBM DB2
– SQL Lite
– Sybase
– Firebird e Interbase
– MySQL
– Db4objects
– Etc.



Proveedores de datos

• Es recomendable utilizar un proveedor de datos
especifico para el manejador de base de datos a
usar si esta está disponible, ya que este
aprovecha completamente las características de
este, mejorando el rendimiento y la funcionalidad
ofrecida.


• La nomenclatura de las clases de ADO.NET es
sencilla. Dependiendo de el proveedor de datos
el nombre de las clases cambia, la nomenclatura
usada es <Proveedor>Nombre de clase.


ADO .NET Modelo
Desconectado

Definición

ADO.NET permite el acceso desconectado a datos.
En este modelo se llena un DataSet a través de
un DataAdapter.


Cada proveedor de datos debe de brindar su

DataAdapter, el cual debe de ser el encargado
de llenar un DataSet y actualizar la base de
datos según los cambios en el DataSet.


El DataSet es una colección de DataTable, cada
una de ellas contiene DataRow y DataColumn.


DataSet

DataTable

DataColumn

DataRow

Restricciones

DataSet

DataTable

Relaciones

Esquema XML

XML

Clases del Modelo Desconectado

• DataSet



• DataTable



• DataColumn

• DataRow



Ejemplo

//Crea Dataset
Datos = new DataSet("CuentaBancaria");

//Crea un DataTable
DataTable tablaClientes = new DataTable("clientes");
DataColumn colNumcta = new DataColumn("numcta", typeof(int));
DataColumn colNombre = new DataColumn("nombre", typeof(string));
DataColumn colApellidos = new DataColumn(“apellidos", typeof(string));
/ DataColumn colSaldo = new DataColumn("saldo", typeof(double));
// Crea las columnas para el DataTable
tablaClientes.Columns.Add(colNumcta);
tablaClientes.Columns.Add(colNombre);
tablaClientes.Columns.Add(colApellidos);
tablaClientes.Columns.Add(colSaldo);
// Agrega la Tabla al DataSet
Datos.Tables.Add(tablaClientes);

Ejemplo…

// Crea nuevo Cliente
DataRow nuevoCliente = Datos.Tables["clientes"].NewRow();

// Asigna datos al nuevo cliente
nuevoCliente["numcta"] = 123;
nuevoCliente["nombre"] = "Claudia";
nuevoCliente[“apellidos"] = "Lopez";
nuevoCliente["saldo"] = 1500.55;

// Agrega nuevo cliente a tabla de clientes
Datos.Tables["clientes"].Rows.Add(nuevoCliente);

Ejemplo

//Crea Dataset
Datos = new DataSet("CuentaBancaria");
//Crea un DataTable
DataTable tablaClientes = new DataTable("clientes");
// Crea las columnas para el DataTable
tablaClientes.Columns.Add(new DataColumn("numcta", typeof(int)));
tablaClientes.Columns.Add(new DataColumn("nombre", typeof(string)));
tablaClientes.Columns.Add(new DataColumn(“apellidos”, typeof(string)));
tablaClientes.Columns.Add(new DataColumn("saldo", typeof(double)));
// Agrega la Tabla al DataSet
Datos.Tables.Add(tablaClientes);
// Crea nuevo Cliente
DataRow nuevoCliente = Datos.Tables["clientes"].NewRow();
// Asigna datos al nuevo cliente
nuevoCliente["numcta"] = 123;
nuevoCliente["nombre"] = "Claudia";
nuevoCliente[“apellidos"] = “Lopez";
nuevoCliente["saldo"] = 1500.55;

Propiedades de Columna

• Datatype. Establece el tipo de dato a almacenar, el valor prestablecido

• Unique . Permite la existencia de valores repetidos, el valor

• AutoIncrementStep. Establece el incremento para un campo

incremental, el valor prestablecido es 1.



es string


prestablecido es false


prestablecido es true.


en el constructor.


prestablecido es n.


prestablecido es 0.


• AllowDBNull. Permite que no tenga información la columna, el valor

• Caption. Es el nombre de la columna por default es el valor establecido

• AutoIncrement. Establece si el campo es de auto incremento, el valor

• AutoIncrementSeed. Establece el valor inicial de la columna, el valor

Columna como llave primaria

• Generalmente, una tabla de base de datos tiene una columna o
grupo de columnas que identifican de manera exclusiva cada fila
de la tabla. Esta columna o grupo de columnas de identificación
se denomina llave primaria.


• Al identificar una única DataColumn como la PrimaryKey para

una DataTable, la tabla establece automáticamente la
propiedad AllowDBNull de la columna como false y la
propiedad Unique como true. Para las llaves primarias de
varias columnas sólo se establece de forma automática la
propiedad AllowDBNull en false.


• La propiedad PrimaryKey de una DataTable recibe como valor
una matriz de uno o varios objetos DataColumn, como se
muestra en los ejemplos siguientes. En el ejemplo se define una
sola columna como llave primaria.


tablaClientes.PrimaryKey = new DataColumn[] {


tablaClientes.Columns["numcta"] };



Columnas Calculadas

• En ocasiones es necesario contar con columnas

con información generada a partir de otras
columnas.



tablaClientes.Columns["NombreCompleto"].Expression =



"nombre + ‘ ’ + apellidos";



Serialización XML

WriteXML

Archivo

XML

Objeto
DataSet

ReadXML

Archivo
XML

Métodos para Serialización XML

• DataSet ofrece manejo directo de documentos y

esquemas XML


– ReadXml(string ArchXML)



– ReadXmlSchema(string ArchXML)

– WriteXml(string ArchXSD)

– WriteXmlSchema(string ArchXSD)

Ejemplo

Datos = new DataSet();

// Guarda el esquema del DataSet
Datos.WriteXmlSchema(@"c:\users\gerardo\datos.xsd");
// Guarda ls Datos en formato xml
Datos.WriteXml(@"c:\users\gerardo\datos.xml");

// Recupera el esquema del DataSet
Datos.ReadXmlSchema(@"c:\users\gerardo\datos.xsd");
// Recupera los Datos en formato xml
Datos.ReadXml(@"c:\users\gerardo\datos.xml");

Eliminación de DataRow

• Delete (). Elimina un DataRow





Datos.Tables["clientes"].Rows[0].Delete();

Cambiar un DataRow

Datos.Tables["clientes"].Rows[0][“cuenta”]=890;

Datos.Tables["clientes"].Rows[0][“nombre”]=“Jose”;

Datos.Tables["clientes"].Rows[0][“apellidos”]=“Lopez”;


Control de Cambios

• Mientras se están realizando cambios en un
conjunto de datos mediante la actualización,
inserción y eliminación de registros, el conjunto
de datos mantiene las versiones original y actual
de los registros.


• Se puede realiza el seguimiento de la propiedad

RowState de cada fila para indicar si los
registros están en su estado original o si se han
modificado, agregado o eliminado.


Control de Cambios

• Se puede confirmar los cambios llamando al método
AcceptChanges de DataSet, DataTable o DataRow.


• Cada fila de datos contiene información sobre la

propiedad RowState ( Added, Modified, Deleted,
Unchanged).


• Al llamar a AcceptChanges, cualquier objeto

DataRow que aún esté en el modo de edición finaliza
correctamente el proceso de edición. La propiedad
RowState de cada DataRow también cambia; las
filas en estado Added y Modified se convierten en
Unchanged, y se quitan las filas Deleted.


Control de Cambios

• Al llamar a AcceptChanges, cualquier objeto
DataRow que aún esté en el modo de edición
finaliza correctamente el proceso de edición. La
propiedad RowState de cada DataRow también
cambia; las filas en estado Added y Modified se
convierten en Unchanged, y se quitan las filas
Deleted.



• Al invocar al método RejectChanges se cancelar

cualquier edición, la fila vuelve a sus valores
anteriores y la propiedad RowState permanece
sin cambios.


Busquedas en DataTable

• Select(). Obtiene una vector de todos los objetos

DataRow



DataRow []info =null;

info = Datos.Tables["clientes"].Select();
if (info != null)
{
for (int i = 0; i < info.Length;i++ )
Console.WriteLine("{0} {1}",info[i]["numcta"], info[i]["nombre"]);
}

Busquedas en DataTable

– Select (string criterio). Obtiene una vector de

todos los objetos DataRow que coinciden con los
criterios de filtro por orden de clave principal (o si
ésta no existe, por orden de adición).



info = Datos.Tables["clientes"].Select("nombre = 'claudia‘ ");
if (info != null)
{
for (int i = 0; i < info.Length; i++ )
Console.WriteLine("{0} {1}",info[i]["numcta"], info[i]["nombre"]);

}


Busquedas en DataTable

• Select(string criterio, string ordenar). Obtiene

una matriz de todos los objetos DataRow que
coinciden con los criterios de filtro, en el criterio
de ordenación especificado.

info = Datos.Tables["clientes"]. Select("numcta< 10020", "nombre ASC");

if (info != null)
{
for (int i = 0; i < info.Length; i++ )
Console.WriteLine("{0} {1}",info[i]["numcta"],
  • Links de descarga
http://lwp-l.com/pdf11901

Comentarios de: Modulo 2: Tecnologías de acceso a datos - Diplomado de Especialización en .NET (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad