You are on page 1of 11

En un documento en Word realice un informe acadmico con las

caractersticas principales de la datatablecollection. Enva tu


archivo a travs de este medio.
DATASET ADO.NET
DATATABLECOLLECTION
Un DataSet pertenece a la arquitectura de ADO.NET, y es uno de los
componentes principales que es utilizado en la manipulacin de datos, tambin
llamado Conjunto de datos. Los mtodos y objetos en un DataSet son
coherentes con los modelos de datos relacionales. Y el DataTableCollection es
una clase DataSet que contiene objetos DataTable de un DataSet.
INTRODUCCIN
La Clase DataTableCollection, que viene hacer una coleccin de objetos
DataTable de un DataSet. Podemos decir que este se encarga de administrar
los objetos DataTable del DataSet, por supuesto, dentro del DataTable, hay
otras subclases que realizan acciones, por ejemplo el DataRow, que especifica
las filas de la tabla, as tambin tenemos para las columnas DataTableColumn.
Adems en un DataTable hay cero ms tablas que estn relacionadas entre s,
estos tiene sus relaciones, para ello la clase DataRelationCollection, que
sencillamente relaciona los objetos DataTable del DataSet. Dentro del DataSet
podemos decir que se hace de la manipulacin de datos, y todas las acciones
que de alguna manera afecta a los datos de la base de datos.
El DataSet a diferencia del DataReader realiza operaciones de datos
guardados en memoria, o sea desconectado (guardado en memoria los datos),

que hace posible trabajar como si estuviera en lnea, se puede realizar las
mismas operaciones como visualizar informacin, realizar algunas acciones
requeridas, entre ellas dentro del DataTable y su subclase DataRow, podemos
realizar los valores de insertar, modificar, eliminar, seleccionar datos.
Cuando nos referimos a DataTableCollection estamos refirindonos al conjunto
de objetos DataTable de un DataSet, que grficamente lo podemos ver sin
duda, de cmo funciona la estructura de ADO.NET, que como sabemos separa
los datos de la conexin entre el programa y la base de datos y la manipulacin
de datos, esto es en el proveedor de datos y el DataSet.

En el siguiente grafico vemos como se llena un DataSet, a travs de un


Adaptador de datos, en el DataSet, se guardaran los datos en memoria en
formato XML, que desde luego estarn disponibles para ser utilizados
cuando se est desconectado de la base de datos.
DATASET ADO.NET
DATATABLECOLLECTION
DATASET:
Es un componente central de la arquitectura de datos sin conexin de
ADO.NET, es una clase de objetos perteneciente al espacio de nombres
System.Data, que se pueden utilizar con mltiples y distintos orgenes de
datos, con XML o para administrar datos locales de la aplicacin.
Un DataSet como conjunto de datos, incluye tablas, de origen de la base de
datos, cuya informacin de una o varias tablas, las relaciones entre ellas, y las
restricciones de los datos, que pueden contener las tablas, estn en el DataSet.
El

DataSet

internamente

se

compone

de

una

coleccin

DataTable

(DataTableCollection), que estn formadas por filas (DataRowCollection) y


columnas (DataColumnCollection), junto con la informacin propia de la tabla
(identificador, nombre, claves primarias, claves ajenas, etc.

Grafica que nos muestra la estructura de una clase DataSet, como se


puede observar se divide en dos clases principales:
La coleccin DataTableCollection de objetos DataTable (Tabla de datos):
Un DataSet contiene cero o ms tablas representadas en objetos DataTable. La
DataTableCollection contiene todo los objetos DataTable de un DataSet.
Un DataTable se define en el espacio de nombres System.Data y representa
una nica tabla de datos residentes en memoria. Contiene una coleccin de
columnas

representados

por

una

DataColumnCollection

restricciones representadas por una ConstraintCollection que, juntas definen el


esquema de la tabla. Un DataTable tambin contiene una coleccin de filas
representadas por la DataRowCollection, que contienen los datos de la tabla.
Junto con su estado actual, un DataRowCollection conserva tanto la versin
original como la actual para identificar los cambios realizados en los valores
almacenados en la fila.

En el DataTableCollection podemos encontrar los siguientes miembros:

Propiedades
Nombre
COUNT

Descripcin
Obtiene el nmero total de elementos de una
coleccin.

IsReadOnly

(Se

hereda

InternalDataCollectionBase).
Obtiene
un
valor
que
InternalDataCollectionBase
lectura.

IsSynchronized

(Se

de

indica

es

de

si
solo

hereda

de

InternalDataCollectionBase).
Obtiene un valor que indica si el objeto
InternalDataCollectionBase esta sincronizado.

Item [Int32]

(Se hereda de InternalDataCollectionBase).


Obtiene el objeto DataTable en el ndice

Intem [String]

especificado.
Obtiene el DataTable

Item [String, String]

especificado.
Obtiene el objeto DataTable con el nombre

con

el

nombre

especificado en el espacio de nombres


Syncroot

especificado.
Obtiene un objeto que se puede utilizar para
sincronizar la coleccin. (Se hereda de
InternalDataCollectionBase).

Mtodos
Nombre
Add()

Descripcin
Crea un nuevo objeto DataTable utilizando un
nombre predeterminado y lo agrega a la

Add (DataTable)

coleccin.
Agrega el objeto DataTable especificado a la

Add (String)

coleccin.
Crea un objeto DataTable

utilizando

el

nombre especificado y lo agrega a la


Add (String, String)

coleccin.
Crea un objeto DataTable

utilizando

el

nombre especificado y lo agrega a la


AddRange

coleccin.
Copia los elementos de la matriz DataTable

CanRemove

especificada al final de la coleccin.


Comprueba
si
el
objeto
DataTable

Clear

especificado se puede quitar de la coleccin.


Borra todo los objetos DataTable de la

Contains (String)

coleccin.
Obtiene un valor que indica si en la coleccin
existe un objeto DataTable con el nombre

Contains (String, String)

especificado.
Obtiene un valor que indica si existe en la
coleccin un objeto DataTable con el nombre

CopyTo (Array, Int32)

y espacio de nombres de tabla especificadas.


Copia
todo
los
elementos
del
InternalDataCollectionBase actual en un Array
Unidimensional, empezando por el ndice del
InternalDataCollectionBase especificado. (Se

CopyTo (DataTable[], Int32)

hereda de InternalDataCollectionBase).
Copia todo los elementos de la coleccin
DataTableCollection actual en una matriz
Array Unidimensional, empezando por el

Equals (Object)

ndice especificado del matriz destino.


Determina si el objeto especificado es igual al

GetEnumerator

objeto actual. (Se hereda de Object).


Obtiene un IEnumerator para la coleccin.

GetHashCode

(Se hereda de InternalDataCollectionBase).


Sirve como la funcin hash predeterminado.

GetType

(Se hereda de object).


Obtiene el objeto type de la instancia actual.

IndexOf (DataTable)

(Se hereda de object).


Obtiene el ndice del

IndexOf (String)

especificado.
Obtiene el ndice del objeto DataTable con el

IndexOf (String, String)

nombre especificado en la coleccin.


Obtiene el ndice del objeto DataTable

Remove (DataTable)

especificado en la coleccin.
Quita de la coleccin el objeto DataTable

Remove (String)

especificado.
Quita de la coleccin el objeto DataTable con
el nombre especificado.

objeto

DataTable

Remove (String, String)

Quita de la coleccin el objeto DataTable con

RemoveAT

el nombre especificado.
Quita de la coleccin el objeto DataTable que

ToString

est en el ndice especificado.


Devuelve una cadena que representa al
objeto actual. (Se hereda de Object).

Eventos
Nombre
CollectionChanged

Descripcin
Se produce despus de que cambia la
coleccin DataTableCollection, por agregar

CollectionChanging

o quitar objetos DataTable.


Se produce mientras cambia la coleccin
DataTableCollection,

porque

se

est

agregando o quitando objetos DataTable.

Veamos un ejemplo en Visual Basic, del uso de la coleccin


DataTableCollection:

En el primer procedimiento de este ejemplo se recupera la coleccin


DataTableCollection de un objeto DataSet y se imprime el valor de cada
columna, en cada fila, de cada tabla. En el segundo procedimiento se crea un
nuevo objeto DataTable con dos columnas y se agrega a DataTableCollection.

//Primer procedimiento
Private Sub GetTables(dataSet As DataSet)
'Get Each DataTable in the DataTableCollection and
Print each row value.
Dim table As DataTable
Dim row As DataRow

Dim column As DataColumn


For Each table In dataSet.Tables
For Each row In table.Rows
For Each column in table.Columns
If Not (row(column) Is Nothing) Then
Console.WriteLine(row(column))
End If
Next
Next
Next
End Sub
//Segundo procedimiento
Private Sub CreateTable(dataSet As DataSet)
Dim newTable As DataTable = new DataTable("table")
newTable.Columns.Add("ID", Type.GetType("System.Int32"))
newTable.Columns.Add("Name", Type.GetType("System.String"))
dataSet.Tables.Add(newTable)
End Sub

La Clase DataTable:

Representa una tabla en memoria (Columnas y filas), cuyo esquema viene


definido por su coleccin de columnas. La integridad de los datos se conserva
gracias a objetos que representan restricciones (Constraint) y dispone de
eventos pblicos, que producen al realizar operaciones sobre una tabla
(ejemplo, la modificacin o eliminacin de filas).
Cada tabla (DataTable) est formado por:

Una coleccin de columnas (coleccin de objetos DataColumn)


La propiedad Column permite acceder a cada una de las columnas.
Cada columna guarda informacin de las caractersticas de cada
uno de los campos (tipo de dato, longitud, etc.
Es posible acceder a ellas mediante el ndice o mediante el nombre
de la columna.
Una coleccin de filas (Coleccin de objetos DataRow)
La propiedad rows permite acceder a cada una de las filas
Cada fila de la coleccin rows est identificado por su ndice
(posicin de la fila dentro de la coleccin)

Es posible acceder a ellas de forma similar a un array.

El valor de cada campo est disponible mediante la coleccin Item


del objeto DataRow.

Accedemos a cada campo por su ndice o por el nombre del


campo.

Entre los valores que pueden ser en un DataRow tenemos: Deleted,


Modified, Added, Unchanged.

La DataRelationCollection:

Un DataSet contiene relaciones en su objeto DataRelationCollection. Una


relacin representada por el objeto DataRelation, asocia las filas de un
DataTable con las filas de otro DataTable. Es anlogo a una ruta de unin que
podra existir entre las columnas de claves externas y principales en una base
de datos relacional. Un DataRelation identifica columnas coincidentes en dos
tablas de un DataSet.
Las relaciones permiten pasar de una tabla a otra dentro de un mismo DataSet.
Los elementos esenciales de un DataRelation son el nombre de la relacin, el
nombre de las tablas relacionados y las columnas relacionados de cada tabla.

Se pueden establecer relaciones con ms de una columna por tabla, por lo que
debe especificar una seleccin de objetos DataColumn, como columnas clave.
Cuando se agrega una relacin al DataRelationCollection se puede agregar
tambin un UniqueKeyConstraint y un ForeignKey Constraint, para imponer
restricciones de integridad cuando se realicen cambios en los valores de las
columnas relacionadas.

ExtendedProperties:

El DataSet (as como el DataTable y el DataColumn), tiene una propiedad


ExtendedProperties. ExtendedProperties es un PropertyCollection en el que se
puede colocar informacin personalizada, como la instruccin SELECT, que
sirve para generar el conjunto de resultados o una marca de fecha y hora
cuando se generan los datos. La coleccin ExtendedProperties se conserva
con la informacin del esquema del DataSet (as como el DataTable y el
DataColumn).

Grafica donde se puede observar las clases principales de ADO.NET, en el


System.Data.

CONCLUSIONES

Como se ha visto en los anteriores informes, la evolucin de ADO a ADO.NET


a trado muchas ventajas y facilidades cuando se trabajan con base de datos,
en la actualidad la demanda de informacin es incesante y cada vez se
requiere nuevos mtodos mejores de poder trabajar con ello.
Una ventaja de la tecnologa Framework .NET, con ADO.NET es poder trabajar
de manera desconectada, lo cual facilita el control de la informacin, aun si no
se posee conexin directa con la red, que puede ser de la empresa, ya sea a
travs de la intranet o internet.

Esta ventaja es manejada por la clase DataSet, que sin duda es un


componente central de la arquitectura de ADO.NET, que desde luego una
empresa como Microsoft est dando buenos pasos en el desarrollo de software
sobre la plataforma Windows.

You might also like