PDF de programación - Unidad 6.- Acceso a datos desde CSharp .NET - Programación Orientada a Objetos en C#

Imágen de pdf Unidad 6.- Acceso a datos desde CSharp .NET - Programación Orientada a Objetos en C#

Unidad 6.- Acceso a datos desde CSharp .NET - Programación Orientada a Objetos en C#gráfica de visualizaciones

Publicado el 8 de Abril del 2018
675 visualizaciones desde el 8 de Abril del 2018
1,2 MB
25 paginas
Creado hace 5a (20/11/2014)
Unidad 6.- Acceso a datos desde C# .NET

Autor:
Dr. Ramón Roque Hernández
http://ramonroque.com/Materias/POOTec.htm
ramonroque@yahoo.com
Colaborador:
Ing. Bruno López Takeyas, M.C.
www.itnuevolaredo.edu.mx/takeyas
takeyas@itnuevolaredo.edu.mx

Arquitectura Programas - Datos

20/11/2014

1

20/11/2014

ADO.NET
(ActiveX Data Objects .NET)
Componente de la plataforma .NET que permite

acceder a datos desde un programa

Es un conjunto de clases,

interfaces, estructuras y
enumeraciones que permiten trabajar de manera
conectada o desconectada con los datos

ADO.NET puede

ser utilizado desde

cualquier

lenguaje .NET

ADO.NET es la nueva versión de ADO, creada

totalmente a partir de cero.

Las clases de ADO.NET
ADO.NET es un conjunto de clases pertenecientes al

espacio de nombres System.Data:
System.Data
System.Data.Common
System.Data.OleDB
System.Data.SqlClient

Conjunto de

componentes para

distribuidas de uso compartido de datos.

crear

aplicaciones

Los componentes están diseñados para separar el acceso a

los datos de la manipulación de los mismos.

2

Arquitectura Framework .NET

Evolución histórica
ODBC (Open DataBase Connectivity)

Interoperatibilidad con amplio rango de SGBD
API acceso ampliamente aceptada
Usa SQL como lenguaje de acceso de datos

DAO (Data Access Objects)

Interfase de programación para bases de datos

JET/ISAM (p. ejem. Access)

20/11/2014

3

Evolución histórica
RDO (Remote Data Objects)

Estrechamente ligado a ODBC
Orientada a aplicaciones cliente/servidor

OLE DB (Object Linking and Embedding for Databases)

No restringido a acceso de datos relacionales
No limitado a SQL como lenguaje de recuperación de datos
Tecnología desarrollada por Microsoft
Construido sobre COM (Component Object Model)
Proporciona una interfase a bajo nivel en C++

Evolución histórica
ADO (ActiveX Data Objects)

Ofrece una interfase orientada a objetos
Proporciona un modelo de programación para OLE DB

accesible desde lenguajes diferentes a C++

Diseñado como modelo conectado, altamente acoplado
Indicado para arquitecturas cliente/servidor

20/11/2014

4

Proveedores de acceso a datos

Proveedores de acceso a datos

Conjunto de clases que implementan una serie de interfaces comunes
ADO.NET
OLE DB

Acceso vía protocolo OLE DB a cualquier fuente de datos que lo soporte
System.Data.OleDb

ODBC

Acceso vía protocolo ODBC a cualquier fuente de datos que lo soporte
System.Data.Odbc

SQL Server

Acceso nativo a MS SQL Server 7.0 ó superior y MS Access
System.Data.SqlClient

Oracle

Acceso nativo a Oracle Server
System.Data.OracleClient

Otros provistos por terceros
MySQL, PostgreeSQL, DB2, etc.

20/11/2014

5

Proveedores de acceso a datos

Componentes de ADO.NET
Connection (conexión)
Command (órdenes)
DataReader (lector de datos)
DataAdapter (adaptador de datos)

20/11/2014

6

Datos conectados

Objetos del modelo conectado
Connection (conexión)

Representa una conexión a la BD
Permite abrir y cerrar la conexión a la BD

Command (comando)

Representa una vía para representar sentencias SQL a la

BD

Ejemplo: Select, Insert, Delete, Update

DataReader (lector de datos)

Almacén temporal de datos, de sólo lectura y sólo hacia

adelante

20/11/2014

7

Modelo conectado

Datos desconectados

20/11/2014

8

Objetos del modelo desconectado
DataAdapter (adaptador de datos)

Conecta el programa con la BD, realiza consultas, llena

los DataSet y sincroniza los cambios en la BD

Es un mediador entre el DataSet y la BD

DataSet (conjunto de datos)

Es una estructura para almacenar datos
Es una “copia en memoria local” de una porción de la BD
Se encuentra en la memoria del cliente
Compatible con las BD relacionales (almacena datos en

forma de tablas)

Modelo desconectado

20/11/2014

9

ADO.NET
No depende de conexiones continuamente activas, esto
es, las aplicaciones se conectan a la BD sólo durante el
tiempo necesario para consultar o actualizar datos.

Las interacciones con la BD se realizan mediante

órdenes para acceso a los datos.

Los datos requeridos normalmente se almacenan en
memoria caché en conjunto de datos, lo que permite
trabajar sin conexión sobre una copia temporal de los
datos.

XML
En ADO.NET, el formato de transferencia es XML.
La

representación de datos XML no utiliza

información binaria, sino se basa en texto.

Muchos servidores bloquean la información binaria.
Cuando se manejan datos en formato de texto, se
pueden enviar mediante cualquier protocolo, como
HTTP.

20/11/2014

10

ADO.NET y XML

20/11/2014

11

Arquitectura

20/11/2014

12

SQL (Structured Query Language)
1. Lenguaje que permite manipular datos mediante el

DML (Data Manipulation Language):
Obtener datos almacenados en las tablas
Insertar, borrar o actualizar datos de las tablas

2. Definir elementos mediante el DDL (Data Definition

Language):
Crear, borrar, modificar tablas, relaciones, restricciones,

etc.

Sentencias de SQL
Permiten consultar datos de las tablas.
Típicamente consisten de 3 partes:

SELECT [Nombres de los campos]
FROM [Nombre de la(s) tabla(s)]
WHERE [Condición(es) de filtrado de

datos]

20/11/2014

13

Ejemplo de SQL

20/11/2014

14

Videos consultas SQL
Consultas simples SQL - La sentencia SELECT

(http://www.youtube.com/watch?v=IbafcdsR1YA&feat
ure=related)

Consultas simples SQL - La clausula WHERE

(http://www.youtube.com/watch?v=htajN9wZFYk&fe
ature=related)

El objeto Connection

Para conectarse a una BD, ADO.NET proporciona el

objeto Connection.
Métodos más usados:
Open().- Abre la conexión. Requiere una cadena de

tipo string que describa:
El tipo de la BD
La ubicación
Autenticación (si requiere)

Close().- Cierra la conexión previamente abierta.

20/11/2014

15

Connection

Tipo de base de datos Objeto Connection
SQL Server
OLE DB
ODBC
Oracle

SqlConnection
OleDbConnection
OdbcConnection
OracleConnection

Ejemplo:
using System.Data.OleDb;
OledbConnection Conexión = new OleDbConnection(CadenaConexión);

Crear una BD en Microsoft Access

Crear la BDAlumnos.accdb en Microsoft Access y la

tabla TablaAlumnos con los siguientes campos:

Campo

Tipo

Clave

Texto(9)

Nombre

Texto

Semestre

Número (entero)

Promedio Número (real con 2 decimales)

Insértele algunos registros

20/11/2014

16

Ejemplo de una conexión con una
BD de Microsoft Access
using System.Data.OleDb; // Para uso de

la base de datos en Access

private OleDbConnection Conexion; //

Declaración de la conexión

// Declaración de la cadena de conexión
string CadenaConexion =
@"Provider=Microsoft.ACE.OLEDB.12.0;

Data Source=C:\DATOS\BDAlumnos.accdb";

Conexion = new OleDbConnection(CadenaConexion);

El objeto Comand
Después de establecer la conexión con la BD, se usa el
objeto Command para ejecutar sentencias SQL y devolver
los resultados.

OleDbCommand.- Datos compatibles con OleDb
OdbcCommand.- Datos compatibles con Odbc
SqlCommand.- Datos compatibles con SQL Server
OracleCommand.- Datos compatibles con Oracle

Ejemplo:
OleDbCommand Comando = new

OleDbCommand(“SELECT NoCtrl, Nombre FROM
TablaAlumnos WHERE Semestre=8”,Conexión);

20/11/2014

17

Ejemplo de uso del objeto
Command

// Declaración de la consulta

string Consulta = "SELECT * FROM

TablaAlumnos";

// Declaración del comando de consulta en

la conexión con la BD

Comando = new OleDbCommand(Consulta,

Conexion);

El objeto DataReader

Se usa solamente para leer datos de una BD.

OleDbDataReader.- Datos compatibles con OleDb
SqlDataReader.- Datos compatibles con SQL Server

20/11/2014

18

Ejemplo de uso del DataReader

// Abrir la BD
Conexion.Open();

// Ejecutar el comando
OleDbDataReader Lector = Comando.ExecuteReader();

while (Lector.Read())
{

Console.WriteLine(Lector.GetString(0) + " " +

Lector.GetString(1)+" "+Lector.GetValue(2).ToString());
}

// Cerrar la lectura
Lector.Close();
Lector = null;

class BaseDatosAlumnos

{

private OleDbConnection Conexion; // Declaración de la conexión con la BD

private OleDbCommand Comando; // Declaración del comando con sentencias SQL

private OleDbDataReader Lector; // Declaración del lector de datos

public void LeerDeBaseDeDatos()

{

}

// Declaración de la cadena de conexión

string CadenaConexion = @"Provider=Microsoft.ACE.OLEDB.12.0;

Data Source=G:\DATOS\takeyas\Apuntes\POO\Programas\06.- Bases de datos\BD\BDAlumnos.accdb";

Conexion = new OleDbConnection(CadenaConexion); // Crear la conexión con la BD

string Consulta = "SELECT * FROM TablaAlumnos"; // Declaración de la consulta

Comando = new OleDbCommand(Consulta, Conexion); // Declaración del comando de consulta en la conexión con la BD

Conexion.Open(); // Abrir la BD

Lector = Comando.ExecuteReader(); // Ejecutar el comando lector de datos

while (Lector.Read())

{

}

Console.WriteLine(Lector.GetString(0) + " " + Lector.GetString(1)+" "+Lector.GetValue(2).ToString());

Lector.Close(); // Cerrar el lector de datos

Lector = null;

public void CerrarConexion()

{

}

}

// Verifica si está activa la lectura

if (Lector != null)

Lector.Close();

// Verifica si está abierta la conexión con la BD

if (Conexion != null)

Conexion.Close();

20/11/2014

19

El a
  • Links de descarga
http://lwp-l.com/pdf10266

Comentarios de: Unidad 6.- Acceso a datos desde CSharp .NET - Programación Orientada a Objetos en C# (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad