Tema: ADO .NET
1. Contenido
·
DEFINICION
ADO.NET
es un conjunto de clases que exponen servicios de acceso a datos para
programadores de .NET Framework. ADO.NET ofrece abundancia de componentes para
la creación de aplicaciones de uso compartido de datos distribuidas. Constituye
una parte integral de .NET Framework y proporciona acceso a datos relacionales,
XML y de aplicaciones. ADO.NET satisface diversas necesidades de desarrollo,
como la creación de clientes de base de datos front-end y objetos empresariales
de nivel medio que utilizan aplicaciones, herramientas, lenguajes o
exploradores de Internet. ADO.NET es un conjunto de clases que exponen
servicios de acceso a datos para programadores de .NET Framework. ADO.NET
ofrece abundancia de componentes para la creación de aplicaciones de uso
compartido de datos distribuidas. Constituye una parte integral de .NET
Framework y proporciona acceso a datos relacionales, XML y de aplicaciones.
ADO.NET satisface diversas necesidades de desarrollo, como la creación de
clientes de base de datos front-end y objetos empresariales de nivel medio que
utilizan aplicaciones, herramientas, lenguajes o exploradores de Internet.
·
ARQUITECTURA
DE ADO.NET
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 tiene un conjunto común de clases de utilidad:
Connection:
Proporciona una conexión usada para comunicarse con la fuente de datos. También
actúa como Abstract Factory para los objetos
command.
Command: Usado para realizar
alguna acción en la fuente de datos, como lectura, actualización, o borrado de
datos relacionales.
Parameter:
Describe un simple parámetro para un command. Un ejemplo común es un
parámetro para ser usado en un procedimiento almacenado.
DataAdapter:
"Puente" utilizado para transferir data entre una fuente de datos y
un objeto DataSet (ver abajo).
DataReader: Es
una clase usada para procesar eficientemente una lista grande de resultados, un
registro a la vez.
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
Jerarquía de herencia
Sintaxis
public
class DataSet : MarshalByValueComponent, IListSource,
IXmlSerializable,
ISupportInitializeNotification, ISupportInitialize,
ISerializable
Constructores
|
Nombre
|
Descripción
|
|
|
|
Inicializa
una nueva instancia de la clase DataSet.
|
|
|
|
Esta
API admite la infraestructura producto y no está diseñada para usarse
directamente desde el código. Inicializa una nueva instancia de
un DataSet clase que tiene la información de serialización
especificado y el contexto.
|
|
|
|
Esta
API admite la infraestructura producto y no está diseñada para usarse
directamente desde el código. Inicializa una nueva instancia de la
clase DataSet.
|
|
|
|
Inicializa
una nueva instancia de un DataSet clase con el nombre especificado.
|
Propiedades
|
Nombre
|
Descripción
|
|
|
|
Obtiene
o establece un valor que indica si comparaciones dentro de cadenas DataTable objetos
distinguen mayúsculas de minúsculas.
|
|
|
|
|
|
|
|
Obtiene
o establece el nombre del actual DataSet.
|
|
|
|
Obtiene
una vista personalizada de los datos contenidos en el DataSet para
permitir filtrar, buscar y desplazarse mediante un personalizado DataViewManager.
|
|
|
|
Obtiene
un valor que indica si el componente está actualmente en modo de
diseño.(Heredado de MarshalByValueComponent).
|
|
|
|
Obtiene
o establece un valor que indica si se siguen las reglas de restricción al
intentar cualquier operación de actualización.
|
|
|
|
Obtiene
la lista de controladores de eventos que están asociados a este
componente.(Heredado de MarshalByValueComponent).
|
|
|
|
Obtiene
la colección de información personalizada del usuario asociada a
la DataSet.
|
|
|
|
Obtiene
un valor que indica si hay errores en cualquiera de los DataTable objetos
dentro de este DataSet.
|
|
|
|
Obtiene
un valor que indica si el DataSet se inicializa.
|
|
|
|
Obtiene
o establece la información de configuración regional utilizada para comparar
las cadenas de la tabla.
|
|
|
|
Obtiene
o establece el espacio de nombres de la DataSet.
|
|
|
|
Obtiene
o establece un prefijo XML que crea alias del espacio de nombres de
la DataSet.
|
|
|
|
Obtiene
la colección de relaciones que vincula las tablas y permitir la navegación de
primario tablas a las tablas secundarias.
|
|
|
|
Obtiene
o establece un SerializationFormat para
el DataSet utilizado durante la comunicación remota.
|
|
|
|
|
|
|
|
|
|
|
|
Obtiene
la colección de tablas contenidas en el DataSet.
|
Métodos
|
Nombre
|
Descripción
|
|
|
|
Confirma
todos los cambios realizados en esta DataSet desde que se cargó o
desde la última vez AcceptChanges se
llamó.
|
|
|
|
Activa
la inicialización de un objeto DataSet que se emplea en un
formulario o que utiliza otro componente. La inicialización se produce
en tiempo de ejecución.
|
|
|
|
Borra
la DataSet de los datos mediante la eliminación de todas las filas
de todas las tablas.
|
|
|
|
Copia
la estructura de la DataSet, todas las incluidas DataTable esquemas,
relaciones y restricciones. No copia los datos.
|
|
|
|
Copia
la estructura y los datos para este DataSet.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Finaliza
la inicialización de un objeto DataSet que se emplea en un
formulario o que utiliza otro componente. La inicialización se produce
en tiempo de ejecución.
|
|
|
|
Determina
si el objeto especificado es igual al objeto actual.(Heredado de Object).
|
|
|
|
Permite
que un objeto intente liberar recursos y realizar otras operaciones de
limpieza antes de ser reclamado por el recolector de basura. (Heredado
de MarshalByValueComponent).
|
|
|
|
Obtiene
una copia de la DataSet que contiene todos los cambios realizados
desde que se cargó o desde AcceptChanges por
última vez.
|
|
|
|
Obtiene
una copia de la DataSet que contiene todos los cambios realizados
desde que se cargó o desde AcceptChanges se
llama, filtrados por DataRowState.
|
|
|
|
Esta
API admite la infraestructura producto y no está diseñada para usarse
directamente desde el código. Obtiene una copia de XmlSchemaSet del
conjunto de datos.
|
|
|
|
Sirve
como la función hash predeterminada.(Heredado de Object).
|
|
|
|
Rellena
un objeto de información de serialización con los datos necesarios para
serializar el DataSet.
|
|
|
|
Esta
API admite la infraestructura producto y no está diseñada para usarse
directamente desde el código. Devuelve un serializable T:System.Xml.Schema.XMLSchema instancia.
|
|
|
|
Esta
API admite la infraestructura producto y no está diseñada para usarse
directamente desde el código. Deserializa los datos de la tabla de la
secuencia binaria o XML.
|
|
|
|
|
|
|
|
Obtiene
el Type de
la instancia actual.(Heredado de Object).
|
|
|
|
Devuelve
la representación XML de los datos almacenados en el DataSet.
|
|
|
|
Devuelve
el esquema XML para la representación XML de los datos almacenados en
el DataSet.
|
|
|
|
Obtiene
un valor que indica si la DataSet presenta cambios, incluidas filas
nuevas, eliminadas o modificadas.
|
|
|
|
Obtiene
un valor que indica si la DataSet presenta cambios, incluidas filas
nuevas, eliminadas o modificadas, filtrados por DataRowState.
|
|
|
|
Aplica
el esquema XML especificado Stream a
la DataSet.
|
|
|
|
Aplica
el esquema XML del archivo especificado a la DataSet.
|
|
|
|
Aplica
el esquema XML especificado TextReader a
la DataSet.
|
|
|
|
Aplica
el esquema XML especificado XmlReader a
la DataSet.
|
|
|
|
Esta
API admite la infraestructura producto y no está diseñada para usarse directamente
desde el código. La deserialización de todos los datos de tablas del
conjunto de datos de la secuencia binaria o XML.
|
|
|
|
Inspecciona
el formato de la representación serializada de la DataSet.
|
|
|
|
Rellena
un DataSet con los valores de un origen de datos con el IDataReader,
utilizando una matriz de DataTable instancias
para proporcionar la información de esquema y espacio de nombres.
|
|
|
|
Rellena
un DataSet con los valores de un origen de datos con el IDataReader,
utilizando una matriz de DataTable instancias
para proporcionar la información de esquema y espacio de nombres.
|
|
|
|
Rellena
un DataSet con los valores de un origen de datos con el IDataReader,
utilizando una matriz de cadenas para suministrar los nombres de las tablas
dentro de la DataSet.
|
|
|
|
Crea
una copia superficial del Object actual.(Heredado
de Object).
|
|
|
|
Combina
una matriz de DataRow objetos
en actual DataSet.
|
|
|
|
Combina
una matriz de DataRow objetos
en actual DataSet, conservando o descartando los cambios efectuados en
el DataSet y controlando un esquema incompatible de acuerdo con los
argumentos especificados.
|
|
|
|
Combina
un especificado DataSet y su esquema en el actual DataSet.
|
|
|
|
Combina
un especificado DataSet y su esquema en el actual DataSet,
conservando o descartando los cambios en esta DataSet según el
argumento especificado.
|
|
|
|
Combina
un especificado DataSet y su esquema con el actual DataSet,
conservando o descartando los cambios efectuados en este DataSet y
controlando un esquema incompatible de acuerdo con los argumentos
especificados.
|
|
|
|
Combina
un especificado DataTable y
su esquema en el actual DataSet.
|
|
|
|
Combina
un especificado DataTable y
su esquema en el actual DataSet, conservando o descartando los cambios
efectuados en el DataSet y controlando un esquema incompatible de
acuerdo con los argumentos especificados.
|
|
|
|
|
|
|
|
|
|
|
|
Se
produce cuando un DataTable se
quita de un DataSet.
|
|
|
|
Envía
una notificación de que el especificado DataSet propiedad que se va
a cambiar.
|
|
|
|
|
|
|
|
|
|
|
|
Lee
el esquema XML y los datos del DataSet utilizando el archivo
especificado.
|
|
|
|
Lee
el esquema XML y los datos del DataSet utilizando el archivo
especificado y XmlReadMode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Lee
el esquema XML especificado Stream en
la DataSet.
|
|
|
|
Lee el
esquema XML del archivo especificado en el DataSet.
|
|
|
|
Lee
el esquema XML especificado TextReader en
la DataSet.
|
|
|
|
Lee
el esquema XML especificado XmlReader en
la DataSet.
|
|
|
|
Esta
API admite la infraestructura producto y no está diseñada para usarse
directamente desde el código. Omite los atributos y devuelve un conjunto
de datos vacío.
|
|
|
|
Deshace
todos los cambios realizados en el DataSet desde que se creó o
desde la última vez DataSet.AcceptChanges se
llamó.
|
|
|
|
Borra
todas las tablas y quita todas las relaciones, restricciones externas y
tablas de la DataSet.Las subclases deben reemplazar Reset para
restaurar un DataSet a su estado original.
|
|
|
|
Obtiene
un valor que indica si Relations propiedad
debe persistir.
|
|
|
|
Obtiene
un valor que indica si Tables propiedad
debe persistir.
|
|
|
|
|
|
|
|
|
|
|
|
Escribe
los datos actuales y, opcionalmente, el esquema para
el DataSet usando el objeto System.IO.Stream y XmlWriteMode. Para
escribir el esquema, establezca el valor de
la modeparámetro WriteSchema.
|
|
|
|
Escribe
los datos actuales para el DataSet en el archivo especificado.
|
|
|
|
Escribe
los datos actuales y, opcionalmente, el esquema para el DataSet en
el archivo especificado utilizando el parámetro XmlWriteMode. Para
escribir el esquema, establezca el valor de la mode parámetro WriteSchema.
|
|
|
|
Escribe
los datos actuales para el DataSet usando el objeto TextWriter.
|
|
|
|
Escribe
los datos actuales y, opcionalmente, el esquema para
el DataSet usando el objeto TextWriter y XmlWriteMode. Para
escribir el esquema, establezca el valor de
la modeparámetro WriteSchema.
|
|
|
|
Escribe
los datos actuales para el DataSet especificado XmlWriter.
|
|
|
|
Escribe
los datos actuales y, opcionalmente, el esquema para
el DataSet usando el objeto XmlWriter y XmlWriteMode. Para
escribir el esquema, establezca el valor de
la mode parámetro WriteSchema.
|
|
|
|
Escribe
el DataSet estructura como un esquema XML especificado System.IO.Stream objeto.
|
|
|
|
Escribe
el DataSet estructura como un esquema XML especificado System.IO.Stream objeto.
|
|
|
|
Escribe
el DataSet estructura como un esquema XML a un archivo.
|
|
|
|
Escribe
el DataSet estructura como un esquema XML a un archivo.
|
|
|
|
Escribe
la estructura DataSet como un esquema XML al objeto TextWriter especificado.
|
|
|
|
Escribe
el DataSet estructura como un esquema XML especificado TextWriter.
|
|
|
|
Escribe
el DataSet estructura como un esquema XML a un XmlWriter objeto.
|
|
|
|
Escribe
el DataSet estructura como un esquema XML especificado XmlWriter.
|
Eventos
|
Nombre
|
Descripción
|
|
|
|
|
|
|
|
Se
produce después de la DataSet se inicializa.
|
|
|
|
Se
produce cuando un origen y destino DataRow tienen
el mismo valor de clave principal y EnforceConstraintsse
establece en true.
|
Implementaciones de interfaz explícitas
·
CLASES
DE ADO.NET
ADO.NET y Visual Studio .NET
En el
IDE Visual Studio .NET existe la funcionalidad
para crear las subclases especializadas de las clases del DataSet para un
esquema particular de base de datos, permitiendo el acceso conveniente a cada
campo a través de propiedades fuertemente tipadas. Esto ayuda a capturar más
errores de programación en tiempo de compilación y hace más útil la
característica Intellisense del IDE.
ADO.NET Entity Framework
El ADO.NET Entity Framework es un conjunto de APIs de acceso a datos para
el Microsoft .NET Framework, apuntando a la versión de ADO.NET que se incluye
con el .NET Framework 3.5. Fue lanzado como
actualización separada junto con el Service Pack 1 para el .NET Framework,
después del lanzamiento de tanto el .NET Framework 3.5 y el Visual Studio 2008.
Una nueva versión del Entity Framework (v 4.0) será liberada junto al Visual
Studio 2010 y el .NET Framework 4.0.
Una
entidad del Entity Framework es un objeto que tiene
una clave representando la clave primaria de una entidad lógica de datastore.
Un modelo conceptual Entity Data Model (modelo Entidad-Relación) es mapeado a
un modelo de esquema de datastore. Usando el Entity Data Model, el Framework
permite que los datos sean tratados como entidades independientemente de sus
representaciones del datastore subyacente.
El
Entity SQL es un lenguaje similar al SQL para consultar el Entity Data Model
(en vez del datastore subyacente). Similarmente, las extensiones del Linq,
Linq-to-Entities, proporcionan consultas tipeadas en el Entity Data Model. Las
consultas Entity SQL y Linq-to-Entities son convertidas internamente en un
Canonical Query Tree que entonces es convertido en una consulta comprensible al
datastore subyacente (ej. en SQL en el caso de una base de datos relacional).
Las entidades pueden utilizar sus relaciones, y sus cambios enviados de regreso
al datastore.
ADO.NET Data Services
También
conocido como WCF Data Services, su nombre clave es "Astoria".
Es una
plataforma para que Microsoft llame a los servicios de datos, es una
combinación del tiempo de ejecución y un servicio web a través del cual los
servicios se exponen. Además, también incluye el Data Services Toolkit que
permite a Astoria Data Services crearse desde dentro de ASP.NET. El
proyecto fue anunciado en Astoria MIX 2007, y la primera vista previa para
desarrolladores se puso a disposición el 30 de abril de 2007. El CTP primero se
hizo disponible como parte de la ASP.NET 3.5 Vista previa de extensiones. El
cambio de nombre de ADO.NET Data Services para WCF Data Services se anunció
en el 2009.
·
EJEMPLOS
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)]
·
RESUMEN
Contenido
·
DEFINICION
ADO.NET
es un conjunto de clases que exponen servicios de acceso a datos para
programadores de .NET Framework. ADO.NET ofrece abundancia de componentes para
la creación de aplicaciones de uso compartido de datos distribuidas. Constituye
una parte integral de .NET Framework y proporciona acceso a datos relacionales,
XML y de aplicaciones. ADO.NET satisface diversas necesidades de desarrollo,
como la creación de clientes de base de datos front-end y objetos empresariales
de nivel medio que utilizan aplicaciones, herramientas, lenguajes o
exploradores de Internet. ADO.NET es un conjunto de clases que exponen
servicios de acceso a datos para programadores de .NET Framework.
·
ARQUITECTURA
DE ADO.NET
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 tiene un conjunto común de clases de utilidad:
Connection:
Proporciona una conexión usada para comunicarse con la fuente de datos.
Command: Usado para realizar
alguna acción en la fuente de datos, como lectura, actualización, o borrado de
datos relacionales.
Parameter:
Describe un simple parámetro para un command.
DataAdapter:
"Puente" utilizado para transferir data entre una fuente de datos y
un objeto DataSet (ver abajo).
DataReader: Es
una clase usada para procesar eficientemente una lista grande de resultados, un
registro a la vez.
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.
DATASET
Jerarquía de herencia
Sintaxis
public
class DataSet : MarshalByValueComponent, IListSource,
IXmlSerializable,
ISupportInitializeNotification, ISupportInitialize,
ISerializable
Constructores
|
Nombre
|
Descripción
|
|
|
|
Inicializa
una nueva instancia de la clase DataSet.
|
|
|
|
Esta
API admite la infraestructura producto y no está diseñada para usarse
directamente desde el código. Inicializa una nueva instancia de
un DataSet clase que tiene la información de serialización
especificado y el contexto.
|
Propiedades
|
Nombre
|
Descripción
|
|
|
|
Obtiene
o establece un valor que indica si comparaciones dentro de cadenas DataTable objetos
distinguen mayúsculas de minúsculas.
|
|
|
|
|
|
|
|
Obtiene
o establece el nombre del actual DataSet.
|
|
|
|
Obtiene
una vista personalizada de los datos contenidos en el DataSet para
permitir filtrar, buscar y desplazarse mediante un personalizado DataViewManager.
|
Métodos
|
Nombre
|
Descripción
|
|
|
|
Confirma
todos los cambios realizados en esta DataSet desde que se cargó o
desde la última vez AcceptChanges se
llamó.
|
|
|
|
Activa
la inicialización de un objeto DataSet que se emplea en un
formulario o que utiliza otro componente. La inicialización se produce
en tiempo de ejecución.
|
|
|
|
Borra
la DataSet de los datos mediante la eliminación de todas las filas
de todas las tablas.
|
|
|
|
Copia
la estructura de la DataSet, todas las incluidas DataTable esquemas,
relaciones y restricciones. No copia los datos.
|
|
|
|
|
|
|
|
|
Lee
el esquema XML y los datos del DataSet utilizando el archivo
especificado.
|
|
|
Lee
el esquema XML y los datos del DataSet utilizando el archivo
especificado y XmlReadMode.
|
Eventos
|
Nombre
|
Descripción
|
|
|
|
|
|
|
|
Se
produce después de la DataSet se inicializa.
|
Implementaciones de interfaz explícitas
·
CLASES
DE ADO.NET
ADO.NET y Visual Studio .NET
En el
IDE Visual Studio .NET existe la funcionalidad
para crear las subclases especializadas de las clases del DataSet para un
esquema particular de base de datos, permitiendo el acceso conveniente a cada
campo a través de propiedades fuertemente tipadas.
ADO.NET Entity Framework
El ADO.NET Entity Framework es un conjunto de APIs de acceso a datos para
el Microsoft .NET Framework, apuntando a la versión de ADO.NET que se incluye
con el .NET Framework 3.5. Fue lanzado como
actualización separada junto con el Service Pack 1 para el .NET Framework
ADO.NET Data Services
También
conocido como WCF Data Services, su nombre clave es "Astoria".
Es una
plataforma para que Microsoft llame a los servicios de datos, es una
combinación del tiempo de ejecución y un servicio web a través del cual los
servicios se exponen. Además, también incluye el Data Services Toolkit que
permite a Astoria Data Services crearse desde dentro de ASP.NET
·
EJEMPLOS
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
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
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
·
SUMMARY
Content
• DEFINITION
ADO.NET is a set of classes that expose
data access services for .NET Framework programmers. ADO.NET offers an
abundance of components for creating distributed data sharing applications. It
is an integral part of the .NET Framework and provides access to relational,
XML, and application data. ADO.NET meets a variety of development needs, such
as creating front-end database clients and mid-level business objects that use
applications, tools, languages, or Internet browsers. ADO.NET is a set of
classes that expose data access services for .NET Framework programmers.
• ADO.NET ARCHITECTURE
ADO.NET consists of two primary parts:
Data provider
These classes provide access to a data
source, such as Microsoft SQL Server and Oracle. Each data source has its own
set of provider objects, but each has a common set of utility classes:
Connection: Provides a connection used
to communicate with the data source.
Command: Used to perform some action on
the data source, such as reading, updating, or deleting relational data.
Parameter: Describes a simple parameter
for a command.
DataAdapter: "Bridge" used to
transfer data between a data source and a DataSet object (see below).
DataReader: A class used to efficiently
process a large list of results, one record at a time.
DataSets
DataSets objects, a group of classes
that describe a simple relational database in memory, were the star of the show
at the initial launch (1.0) of the Microsoft .NET Framework.
DATASET
Hierarchy of inheritance
System.Object
System.ComponentModel.MarshalByValueComponent
System.Data.DataSet
Syntax
public class DataSet:
MarshalByValueComponent, IListSource,
IXmlSerializable,
ISupportInitializeNotification, ISupportInitialize,
ISerializable
Real estate management
Name Description
DataSet ()
Initializes a new instance of the
DataSet class.
DataSet (SerializationInfo,
StreamingContext)
This API supports the product
infrastructure and is not designed to be used directly from the code.
Initializes a new instance of a DataSet class that has the specified
serialization information and context.
Properties
Name Description
CaseSensitive
Gets or sets a value that indicates
whether comparisons within strings in DataTable objects are case sensitive.
Container
Gets the component container (inherited
from MarshalByValueComponent).
DataSetName
Gets or sets the name of the current
DataSet.
DefaultViewManager
Gets a custom view of the data contained
in the DataSet to allow filtering, searching, and scrolling through a custom
DataViewManager.
Methods
Name Description
AcceptChanges ()
Confirms any changes made to this
DataSet since it was loaded or from the last time AcceptChanges was called.
BeginInit ()
Enables the initialization of a DataSet
object that is used in a form or that uses another component. Initialization
occurs at runtime.
Clear ()
Deletes the DataSet from the data by
removing all rows from all tables.
Clone ()
Copies the structure of the DataSet,
including all DataTable schemas, relationships, and constraints. Does not copy
data.
ReadXml (Stream)
Reads the XML schema and DataSet data
using the System.IO.Stream object.
ReadXml (Stream, XmlReadMode)
Reads the XML schema and data in the
DataSet with System.IO.Stream and XmlReadMode.
ReadXml (String)
Reads the XML schema and DataSet data using
the specified file.
ReadXml (String, XmlReadMode)
Reads the XML schema and DataSet data
using the specified file and XmlReadMode.
Events
Name Description
Disposed
Adds an event handler to listen to the
Disposed event in the component. (Inherited from MarshalByValueComponent).
Initialized
Occurs after the DataSet is initialized.
Explicit interface implementations
Name Description
IListSource.GetList ()
For a description of this member, see
IListSource.GetList.
IXmlSerializable.GetSchema
()
For a description of this member, see
IXmlSerializable.GetSchema.
IXmlSerializable.ReadXml
(XmlReader)
For a description of this member, see
IXmlSerializable.ReadXml.
• ADO.NET CLASSES
ADO.NET and Visual Studio .NET
In Visual Studio .NET IDE there is the
functionality to create the specialized subclasses of the DataSet classes for a
particular database schema, allowing convenient access to each field through
strongly typed properties.
ADO.NET Entity Framework
The ADO.NET Entity Framework is a set of
data access APIs for the Microsoft .NET Framework, targeting the version of
ADO.NET that ships with the .NET Framework 3.5. It was released as update s
·
RECOMENDACIONES
ü En ADO.NET se supone que hay un modelo de acceso a datos en
el que se puede abrir una conexión, obtener datos o realizar una operación y
cerrar luego la conexión.
ü ADO.NET proporciona dos estrategias básicas de trabajo con
este modelo. Una de ellas consiste en almacenar datos en un conjunto de datos,
que es una caché almacenada en memoria de los registros con los que se puede
trabajar mientras se está desconectado del origen de datos. • Para usar un
conjunto de datos, se crea una instancia del mismo y, a continuación, se usa un
adaptador de datos para rellenarlo desde el origen de datos. Posteriormente, se
trabaja con los datos del conjunto de datos, por ejemplo, enlazando controles
con los miembros de dicho conjunto. Para obtener más información, vea
Información general sobre conjuntos de datos en Visual Studio.
• Una estrategia alternativa consiste en realizar
operaciones directamente en la base de datos. En este modelo, se usa una
consulta de TableAdapter o un comando de datos que incluye una instrucción SQL
o una referencia a un procedimiento almacenado. A continuación, se puede
ejecutar la consulta para realizar la operación. Para obtener más información,
vea Buscar datos en la aplicación.
·
CONCLUSIONES
ü
ADO
.NET ha permitido que el almacenaje y recuperación de información en bases de
datos ACCESS sea sencillo, de forma que se pueda acceder a esta información
previamente guardada sin necesidad de ejecutar la aplicación.
ü ADO .NET está diseñado para fundamentarse en la fuerza del
modelo de programación de ADO, mientras que provee una evolución en la
tecnología de acceso a datos para responder a las necesidades cambiantes del
desarrollador.
ü Está diseñado para fortalecer tus conocimientos de ADO,
mientras que provee un control más fino sobre los componentes, recursos y
comportamiento de tu aplicación cuando accede y trabaja con datos. Las
aplicaciones de desarrollo hoy, ya es normal que se conectará a una base de
datos, ejemplos comerciales que tenemos en nuestras narices, especialmente en
internet (Google, Facebook, correo electrónico, etc.), usan la base de datos de
gran volumen.
ü ADO.NET, es una base de datos versátil y eficiente de la
tecnología de acceso a gerente. NET, que facilitan y maximizar el desarrollo de
aplicaciones con acceso a bases de mucho más rápidamente y con mejor
rendimiento.
·
APRECIACIÒN DEL EQUIPO
ü Proporciona
acceso coherente a orígenes de datos como SQL Server y XML, así como a orígenes
de datos expuestos mediante OLE DB y ODBC. Las aplicaciones de consumidor que
comparten datos pueden utilizar ADO.NET para conectar a estos orígenes de datos
y recuperar, controlar y actualizar los datos contenidos.
ü ADO.NET
separa el acceso de la manipulacion de los datos en componentes discretos que
se pueden utilizar por separado o conjuntamente.
ü ADO.NET
incluye proveedores de datos .
ü NET
Framework para conectarse a una base de datos, ejecutar comandos y recuperar
resultados. Los resultados, o bien, se procesan directamente, o bien, se
colocan en un objeto DataSet de ADO.NET con el fin de exponerlos al usuario
para un propósito específico, combinados con datos de varios orígenes, o de
pasarlos entre niveles.
ü El
objeto DataSet de ADO.NET también puede utilizarse independientemente de un
proveedor de datos .NET Framework para administrar datos que son locales de la
aplicación o que proceden de un origen XML.
·
GLOSARIO
DE TÉRMINOS:
Framework: Marco de referencia.
Provider: proveedor.
DataSet: conjunto de datos.
Container: envase.
AcceptChanges: Aceptar Cambios
·
BIBLIOGRAFÍA O LINKOGRAFÍA