Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Base de Datos PDF
Base de Datos PDF
Especialización en .NET
Modulo 2: Tecnologías de acceso a
datos
DataSet DataTable
DataColumn
DataTable
DataRow
Relaciones
Esquema XML Restricciones
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 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
tablaClientes.Columns["NombreCompleto"].Expression =
"nombre + ‘ ’ + apellidos";
Serialización XML
WriteXML
Archivo
XML
Objeto
DataSet
ReadXML
Archivo
XML
Métodos para Serialización XML
– ReadXml(string ArchXML)
– ReadXmlSchema(string ArchXML)
– WriteXml(string ArchXSD)
– WriteXmlSchema(string ArchXSD)
Ejemplo
• 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
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
}
Busquedas en DataTable
if (info != null)
{
for (int i = 0; i < info.Length; i++ )
Console.WriteLine("{0} {1}",info[i]["numcta"], info[i]["nombre"]);
}
Buscar un DataRow
padreCol DataRelation
Tabla Padre
hijaCol
Tabla Hija
DataSet
Relaciones en DataSet
dsRecursosHumanos.Relations.Add(
"Departamento_Empleados",
dtDepartamentos.Columns["depID"],
dtEmpleados.Columns["empDepto"],
true
);
Relaciones en DataSet
ForeignKeyConstraint
• Esta regla establece cómo se propagan las
actualizaciones y eliminaciones a las tablas relacionadas.
Por ejemplo, si se actualiza o elimina el valor de una fila
de una tabla y el mismo valor también se utiliza en una o
varias tablas relacionadas, ForeignKeyConstraint
determinará qué sucede en las tablas relacionadas.
ForeignKeyConstraint fkEmpleadosDeparatamento =
new ForeignKeyConstraint(
“fkEmpleados_Departamentos",
dtDepartamentos.Columns["depID"],
dtEmpleados.Columns["empDepto"]);
fkEmpleadosDeparatamento.DeleteRule = Rule.None;
fkEmpleadosDeparatamento.UpdateRule = Rule.Cascade;
dtEmpleados.Constraints.Add(fkEmpleadosDepartamento);
Ejercicio
WriteXML
Archivo
DataAdapter XML
Objeto
Base de
DataSet
datos
SQL Server
MySQL
PostgreSQL
Oracle ReadXML
Access Archivo
XML
Acceso base de datos de SQL Server
• Uso de SqlConnection
• USE clientes;
• Uso de MySqlConnection
• USE clientes;
• Uso de OleDbConnection
Establecer los parámetros de la cadena de
conexión
– data source
– Provider
– Password
• Uso de OleDbConnection
Establecer los parámetros de la cadena de
conexión
– data source
– Provider
– Extended Properties
En SQL Server
create table cuentas (
numcta int IDENTITY(100,1) PRIMARY KEY,
nombre varchar(40)
);
// Crea DataSet
DataSet dsClientes = new DataSet("Clientes");
// Recupera información de la tabla cuentas desde la base de datos
daCuentas.FillSchema(dsClientes, SchemaType.Source, "Cuentas");
daCuentas.Fill(dsClientes, "Cuentas");