Compartir a través de


Clase System.Data.DataSet

En este artículo se proporcionan comentarios adicionales a la documentación de referencia de esta API.

La DataSet clase , que es una caché en memoria de los datos recuperados de un origen de datos, es un componente principal de la arquitectura de ADO.NET. DataSet consta de una colección de objetos DataTable que se pueden relacionar entre sí con objetos DataRelation. También puede aplicar la integridad de los datos en DataSet mediante los objetos UniqueConstraint y ForeignKeyConstraint. Para obtener más información sobre cómo trabajar con DataSet objetos, vea DataSets, DataTables y DataViews.

Mientras que los objetos DataTable contienen los datos, DataRelationCollection permite navegar por la jerarquía de tablas. Las tablas están contenidas en un DataTableCollection al que se accede a través de la propiedad Tables. Al acceder a los objetos DataTable, tenga en cuenta que son condicionalmente sensibles a mayúsculas y minúsculas. Por ejemplo, si un DataTable se denomina "mydatatable" y otro se denomina "Mydatatable", una cadena que se usa para buscar una de las tablas se considera sensible a mayúsculas y minúsculas. Sin embargo, si existe "mydatatable" y "Mydatatable" no lo hace, la cadena de búsqueda se considera que no distingue mayúsculas de minúsculas. Para obtener más información sobre cómo trabajar con DataTable objetos, vea Creación de una tabla de datos.

Un DataSet puede leer y escribir datos y un esquema como documentos XML. Los datos y el esquema se pueden transportar a través de HTTP y usarse en cualquier aplicación, en cualquier plataforma habilitada para XML. Puede guardar el esquema como un esquema XML con el WriteXmlSchema método , y tanto el esquema como los datos se pueden guardar mediante el WriteXml método . Para leer un documento XML que incluya tanto el esquema como los datos, use el ReadXml método .

En una implementación típica de varios niveles, los pasos para crear y actualizar un DataSet, y a su vez, actualizar los datos originales son:

  1. Construya y rellene cada DataTable en un DataSet con datos de una fuente de datos utilizando un DataAdapter.

  2. Cambie los datos de objetos individuales DataTable agregando, actualizando o eliminando DataRow objetos.

  3. Invoque el GetChanges método para crear un segundo DataSet que incluya solo los cambios realizados en los datos.

  4. Llame al método Update de DataAdapter, pasando el segundo DataSet como argumento.

  5. Invoque el Merge método para combinar los cambios del segundo DataSet en el primero.

  6. Invoque el AcceptChanges en el DataSet. Como alternativa, invoque RejectChanges para cancelar los cambios.

Nota:

Los objetos DataSet y DataTable heredan de MarshalByValueComponent y admiten la interfaz de comunicación remota ISerializable. Estos son los únicos objetos ADO.NET que se pueden remotizar.

Nota:

Las clases heredadas de DataSet no se finalizan con el recopilador de elementos no utilizados porque el finalizador se ha suprimido en DataSet. La clase derivada puede llamar al método ReRegisterForFinalize en su constructor para permitir que el recolector de basura finalice la clase.

Consideraciones de seguridad

Para obtener información sobre la seguridad DataSet y DataTable, consulte Guía de seguridad.