mi pagina https://es.slideshare.net/SILVA19_PAMELA/laboratorio-de-programacin-i-76411766
“AÑO INTERNACIONAL DEL TURISMO SOSTENIBLE PARA EL DESARROLLO”
TEMA: ADO.NET.
CURSO: LABORATORIO DE
PROGRAMACIÓN I
ESPECIALIDAD:
INGENIERIA DE SISTEMAS Y TELEMATICA.
NOMBRE: GILDA PAMELA
APELLIDO: SILVA FLORES
DOCENTE: MARCO
AURELIO PORRO CHULLI
CILCO: IV – A AULA: 501
BAGUA GRANDE– PERÚ
2017
1._CONTENIDO
·
DEFINICIÓN
ADO.NET es un conjunto de componentes
del software que
pueden ser usados por los programadores para acceder a datos y a servicios de
datos. Es una parte de la biblioteca de clases base que están incluidas en el
Microsoft .NET Framework. Es comúnmente usado por los programadores para acceder
y para modificar los datos almacenados en un Sistema Gestor
de Bases de Datos Relacionales,
aunque también puede ser usado para acceder a datos en fuentes no relacionales.
ADO.NET es a veces considerado como una evolución de la tecnología ActiveX Data Object (ADO), pero fue cambiado tan
extensivamente que puede ser concebido como un producto enteramente nuevo.
·
ARQUITECTURA
ADO.NET consiste en dos partes primarias:
Data provider
Estas clases proporcionan el acceso a una fuente de datos,
como Microsoft SQL Server y Oracle. Cada
fuente de datos tiene su propio conjunto de objetos del proveedor, pero cada
uno tienen un conjunto común de clases de utilidad:





- DataSets
Los objetos DataSets, son un
grupo de clases que describen una simple base de datos relacional en memoria, fueron la estrella del show en el
lanzamiento inicial (1.0) del Microsoft .NET Framework. Las clases forman una
jerarquía de contención:
- Un objeto DataSet representa un esquema (o una base de datos entera o un subconjunto de una). Puede contener las tablas y las relaciones entre esas tablas.
- Un objeto DataTable representa una sola tabla en la base de datos. Tiene un nombre, filas, y columnas.
- Un objeto DataView "se sienta sobre" un DataTable y ordena los datos (como una cláusula "order by" de SQL) y, si se activa un filtro, filtra los registros (como una cláusula "where" del SQL). Para facilitar estas operaciones se usa un índice en memoria. Todas las DataTables tienen un filtro por defecto, mientras que pueden ser definidos cualquier número de DataViews adicionales, reduciendo la interacción con la base de datos subyacente y mejorando así el desempeño.
- Un DataColumn representa una columna de la tabla, incluyendo su nombre y tipo.
- Un objeto DataRow representa una sola fila en la tabla, y permite leer y actualizar los valores en esa fila, así como la recuperación de cualquier fila que esté relacionada con ella a través de una relación de clave primaria - clave extranjera.
- Un DataRowView representa una sola fila de un DataView, la diferencia entre un DataRow y el DataRowView es importante cuando se está interactuando sobre un resultset.
- Un DataRelation es una relación entre las tablas, tales como una relación de clave primaria - clave ajena. Esto es útil para permitir la funcionalidad del DataRow de recuperar filas relacionadas.
- Un Constraint describe una propiedad de la base de datos que se debe cumplir, como que los valores en una columna de clave primaria deben ser únicos. A medida que los datos son modificados cualquier violación que se presente causará excepciones.
Un DataSet es llenado desde una
base de datos por un DataAdapter cuyas propiedades Connection y Command que han
sido iniciados. Sin embargo, un DataSet puede guardar su contenido a XML
(opcionalmente con un esquema XSD), o llenarse a sí mismo desde un XML,
haciendo esto excepcionalmente útil para los servicios web, computación
distribuida, y aplicaciones ocasionalmente conectadas desconectados.
·
DATASET
El API de ADO .NET proporciona una
superclase que encapsula lo que sería la base de datos a un nivel lógico:
tablas, vistas, relaciones, su integridad, etc, pero siempre con independencia del
tipo de fabricante que la diseñó. Aquí se tiene el mejor concepto de
datos desconectados: una copia en el cliente de la
arquitectura de la base de datos basada en un esquema XML que la independiza
del fabricante, proporcionando al desarrollador la libertad de
trabajo independiente de la plataforma. En la Figura 1 se puede ver un esquema
de un DataSet.
Figura 1
Esta clase se
compone a su vez de subclases que representan cada una, los elementos la base
de datos: Tablas, las columnas, las filas, sus reglas de comprobacion, sus
relaciones, las vistas asociadas a la tabla,
etc.
·
CLASES DE ADO.NET
·
System.Data: clases genéricas de datos de ADO .NET,
integra la gran mayoría de clases que habilitan el acceso a los datos de la
arquitectura .NET.
·
System.Data.SqlClient: clases del proveedor de datos
de SQL Server, permiten el acceso a proveedores
SQL Server en su versión 7.0 y superior.
·
System.Data.OleDb: clases del proveedor de datos de
OleDB, permiten el acceso a
·
proveedores .NET que trabajan directamente contra
controladores basados en los ActiveX de Microsoft.
·
System.Data.SqlTypes: definición de los tipos de
datos de SQL Server, proporciona la encapsulación en clases de
todos los tipos de datos nativos de SQL Server y sus funciones de
manejo de errores, ajuste y conversión de tipos, etc.
·
System.Data.Common: clases base, reutilizables de ADO
.NET, proporcionan la colección de clases necesarias para acceder a una fuente
de datos (como por ejemplo una Base de Datos).
·
System.Data.Internal: integra el conjunto de clases
internas de las que se componen los proveedores de datos.
·
Dentro del espacio de nombres System.Data encontramos
las clases compartidas que constituyen el eje central de ADO.NET, y son las
siguientes:
·
DataSet: almacén de datos por excelencia en ADO .NET.
Representa una base de datos desconectada del proveedor de datos. Almacena
tablas y sus relaciones.
·
DataTable: un contenedor de datos. Estructurado como
un conjunto de filas (DataRow) y columnas
·
(DataColumn).
·
DataRow: registro que almacena n valores.
Representación en ADO .NET de una fila de una tabla de la base de datos.
·
DataColumn: contiene la definición de una columna.
Metadatos y datos asociados a su dominio.
·
DataRelation: enlace entre dos o más columnas iguales
de dos o más tablas.
·
Constraint: reglas de validación de las columnas de
una tabla.
·
DataColumnMapping: vínculo lógico existente entre una
columna de un objeto del DataSet y la columna física de la
tabla de la base de datos.
·
DataTableMapping: vínculo lógico existente entre una
tabla del DataSet y la tabla física de la base de datos.
·
Además de estas clases, existe otro grupo de
clases, las clases específicas de un proveedor de datos.
Estas clases forman
parte de lo específico de un fabricante de proveedores de datos .NET. Tienen
una sintaxis de la forma XxxClase donde "Xxx" es un prefijo que
determina el tipo de plataforma de conexión a datos. Se definen en dos
NameSpaces: System.Data.SqlClient y System.Data.OleDb.
·
En la siguiente tabla se ofrece una descripción de
las clases que podemos encontrar en estos espacios de nombres.
· Clase Descripción SqlConnection Clase que
representa la etapa de conexión a un proveedor OleDbConnection de datos.
Encapsula la seguridad, pooling
de conexiones,
·
etc.
·
SqlCommand Clases que representan un comando SQL
contra un
·
OleDbCommand sistema gestor de datos.
·
OleDbCommandBuilder borrado desde una consulta SQL
de selección de
datos.
·
SqlDataReader Un lector de datos de sólo avance,
conectado a la base de
·
OleDbDataReader datos.
· SqlDataAdapter
Clase adaptadora entre un objeto
DataSet y sus OleDbDataAdapter operaciones físicas
en la base de datos (select,insert,update y delete).
· SqlParameter
Define los parámetros empleados en la
llamada a OleDbParameter procedimientos almacenados.
·
SqlTransaction
Gestión de
las transacciones a realizar en la base de datos.
OleDbTransaction
·
Para aquellos conocedores de ADO en alguna de sus versiones anteriores podemos hacer una analogía o comparación entre las antiguas clases de ADO y las nuevas de ADO .NET, en la Figura 3 se puede ver esta aproximación.
Para aquellos conocedores de ADO en alguna de sus versiones anteriores podemos hacer una analogía o comparación entre las antiguas clases de ADO y las nuevas de ADO .NET, en la Figura 3 se puede ver esta aproximación.
Figura 3
·
EJEMPLOS
Los listados de código de este tema muestran cómo recuperar
datos de una base de datos utilizando las tecnologías ADO.NET siguientes:
- ü Proveedores de datos ADO.NET:
SqlClient (System.Data.SqlClient)
OleDb (System.Data.OleDb)
Odbc (System.Data.Odbc)
OracleClient (System.Data.OracleClient)
- ü ADO.NET Entity Framework:
LINQ to
Entities
ObjectQuery
con tipo
EntityClient (System.Data.EntityClient)
LINQ to SQL
Ejemplos del proveedor de datos
ADO.NET
En los listados de código
siguientes se muestra cómo recuperar datos de una base de datos usando
proveedores de datos ADO.NET. Los datos se devuelven en DataReader. Para
obtener más información, consulte recuperar datos mediante DataReader.
SqlClient
En el código de este ejemplo se
supone que puede conectarse a la base de datos de
ejemplo Northwind en Microsoft SQL Server. El código crea un SqlCommand para
seleccionar las filas de la tabla Products, agregar un SqlParameter para
restringir los resultados a las filas con un UnitPrice mayor que el valor de
parámetro especificado, en este caso 5. El SqlConnection se
abre dentro de un using bloque, lo que garantiza que los recursos se
cierran y se eliminan cuando el código sale. El código ejecuta el comando
mediante una SqlDataReadery muestra
los resultados en la ventana de consola.
[DataWorks,SampleApp.SqlClient#1](../CodeSnippet/VS_Snippets_ADO.NET/DataWorks
SampleApp.SqlClient#1)]
OleDb
En el código de este ejemplo se
asume que puede conectarse a la base de datos de ejemplo Northwind de Microsoft
Access. El código crea un OleDbCommand para
seleccionar las filas de la tabla Products, agregar un OleDbParameter para
restringir los resultados a las filas con un UnitPrice mayor que el valor de
parámetro especificado, en este caso 5. El OleDbConnection se
abre dentro de un using bloque, lo que garantiza que los recursos se
cierran y se eliminan cuando el código sale. El código ejecuta el comando
mediante una OleDbDataReadery muestra
los resultados en la ventana de consola.
[DataWorks
SampleApp.OleDb#1](../CodeSnippet/VS_Snippets_ADO.NET/DataWorks
SampleApp.OleDb#1)]
Odbc
En el código de este ejemplo se
asume que puede conectarse a la base de datos de ejemplo Northwind de Microsoft
Access. El código crea un OdbcCommand para
seleccionar las filas de la tabla Products, agregar un OdbcParameter para
restringir los resultados a las filas con un UnitPrice mayor que el valor de
parámetro especificado, en este caso 5. El OdbcConnection se
abre dentro de un using bloque, lo que garantiza que los recursos se
cierran y se eliminan cuando el código sale. La ejecuta el comando mediante
una OdbcDataReadery muestra
los resultados en la ventana de consola.
OracleClient
En el código de este ejemplo se
presupone una conexión a DEMO.CUSTOMER en un servidor Oracle. También debe
agregarse una referencia a System.Data.OracleClient.dll. El código devuelve los
datos en un OracleDataReader.
[DataWorks
SampleApp.Oracle#1](../CodeSnippet/VS_Snippets_ADO.NET/DataWorks
SampleApp.Oracle#1)]
Ejemplos de Entity Framework
En los listados de código
siguientes se muestra cómo recuperar los datos de un origen de datos
consultando las entidades de un Entity Data Model (EDM). Estos ejemplos
utilizan la modelo de Northwind. Para
obtener más información, consulte Introducción a Entity Framework.
LINQ to Entities
El código de este ejemplo usa una consulta LINQ para devolver los datos como objetos Categories, que se proyectan como un tipo anónimo que contiene solo las propiedades CategoryID y CategoryName. Para obtener más información, consulte LINQ to Entities información general sobre.
ObjectQuery con establecimiento de tipos
El código de este ejemplo utiliza un ObjectQuery para devolver datos como objetos Categories. Para obtener más información, consulte consultas de objeto.
EntityClient |
El código de este ejemplo utiliza un EntityCommand para ejecutar una consulta de Entity SQL. Esta consulta devuelve una lista de registros que representan instancias del tipo de entidad Categories. Un EntityDataReader se utiliza para tener acceso a registros de datos en el conjunto de resultados. Para obtener más información, consulte proveedor de EntityClient para Entity Framework.
LINQ to SQL
El código de este ejemplo usa una consulta LINQ para devolver
los datos como objetos Categories, que se proyectan como un tipo anónimo que
contiene solo las propiedades CategoryID y CategoryName. Este ejemplo se basa
en el contexto de datos Northwind. Para obtener más información, consulte Introducción.
No hay comentarios:
Publicar un comentario