Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
DataSet (Clase)
Representa una memoria caché de datos en memoria.
Ensamblado: System.Data (en System.Data.dll)
El tipo DataSet expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
DataSet() | Inicializa una nueva instancia de la clase DataSet. |
|
DataSet(String) | Inicializa una nueva instancia de una clase DataSet con el nombre dado. |
|
DataSet(SerializationInfo, StreamingContext) | Infraestructura. Inicializa una nueva instancia de una clase DataSet que contiene la información de serialización y el contexto especificados. |
|
DataSet(SerializationInfo, StreamingContext, Boolean) | Infraestructura. Inicializa una nueva instancia de la clase DataSet. |
| Nombre | Descripción | |
|---|---|---|
|
CaseSensitive | Obtiene o establece un valor que indica si las comparaciones de cadena en los objetos DataTable distinguen entre mayúsculas y minúsculas. |
|
Container | Obtiene el contenedor del componente. (Se hereda de MarshalByValueComponent). |
|
DataSetName | Obtiene o establece el nombre del objeto DataSet actual. |
|
DefaultViewManager | Obtiene una vista personalizada de los datos incluidos en DataSet, lo que permite filtrar, buscar y navegar mediante un DataViewManager personalizado. |
|
DesignMode | Obtiene un valor que indica si el componente está actualmente en modo de diseño. (Se hereda de MarshalByValueComponent). |
|
EnforceConstraints | Obtiene o establece un valor que indica si se siguen las reglas de restricción al intentar realizar cualquier operación de actualización. |
|
Events | Obtiene la lista de controladores de eventos asociados a este componente. (Se hereda de MarshalByValueComponent). |
|
ExtendedProperties | Obtiene la colección de la información personalizada del usuario asociada a DataSet. |
|
HasErrors | Obtiene un valor que indica si hay errores en alguno de los objetos DataTable de este DataSet. |
|
IsInitialized | Obtiene un valor que indica si el objeto DataSet está inicializado. |
|
Locale | Obtiene o establece la información de configuración regional que se utiliza para comparar cadenas de la tabla. |
|
Namespace | Obtiene o establece el espacio de nombres del objeto DataSet. |
|
Prefix | Obtiene o establece un prefijo XML que crea alias para el espacio de nombres del objeto DataSet. |
|
Relations | Obtiene la colección de relaciones que vincula las tablas y permite la navegación desde las tablas primarias a las secundarias. |
|
RemotingFormat | Obtiene o establece una enumeración SerializationFormat para el objeto DataSet utilizado durante la comunicación remota. |
|
SchemaSerializationMode | Obtiene o establece una enumeración SchemaSerializationMode para un objeto DataSet. |
|
Site | Obtiene o establece una interfaz System.ComponentModel.ISite para el objeto DataSet. (Invalida a MarshalByValueComponent.Site). |
|
Tables | Obtiene la colección de tablas incluidas en DataSet. |
| Nombre | Descripción | |
|---|---|---|
|
AcceptChanges | Confirma todos los cambios realizados en este DataSet desde que se ha cargado o desde la última vez que se ha llamado a AcceptChanges. |
|
BeginInit | 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. |
|
Clear | Borra cualquier dato de DataSet mediante el procedimiento de quitar todas las filas de todas las tablas. |
|
Clone | Copia la estructura de DataSet, incluidos todos los esquemas, relaciones y restricciones de DataTable. No copia ningún dato. |
|
Copy | Copia la estructura y los datos para este objeto DataSet. |
|
CreateDataReader() | Devuelve un objeto DataTableReader con un conjunto de resultados por cada DataTable, siguiendo la misma secuencia con la que aparecen las tablas en la colección Tables. |
|
CreateDataReader(DataTable[]) | Devuelve un objeto DataTableReader con un conjunto de resultados por cada DataTable. |
|
DetermineSchemaSerializationMode(XmlReader) | Determina la propiedad SchemaSerializationMode para un objeto DataSet. |
|
DetermineSchemaSerializationMode(SerializationInfo, StreamingContext) | Determina la propiedad SchemaSerializationMode para un objeto DataSet. |
|
Dispose() | Libera todos los recursos utilizados por el objeto MarshalByValueComponent. (Se hereda de MarshalByValueComponent). |
|
Dispose(Boolean) | Libera los recursos no administrados usados por MarshalByValueComponent y, opcionalmente, los recursos administrados. (Se hereda de MarshalByValueComponent). |
|
EndInit | Finaliza la inicialización de un control DataSet que se emplea en un formulario o que utiliza otro componente. La inicialización se produce en tiempo de ejecución. |
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de MarshalByValueComponent). |
|
GetChanges() | Obtiene una copia del objeto DataSet que contiene todos los cambios que se le han realizado desde que se cargó o se llamó a AcceptChanges por última vez. |
|
GetChanges(DataRowState) | Obtiene una copia del objeto DataSet que contiene todos los cambios que se le han realizado desde la última vez que se cargó, o desde que se llamó a AcceptChanges, filtrado por DataRowState. |
|
GetDataSetSchema | Infraestructura. Obtiene una copia de XmlSchemaSet para el conjunto de datos. |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetObjectData | Rellena un objeto de información de serialización con los datos necesarios para serializar la clase DataSet. |
|
GetSchemaSerializable | Infraestructura. Devuelve una instancia serializable de XMLSchema. |
|
GetSerializationData | Infraestructura. Deserializa los datos de la tabla a partir de la secuencia binaria o XML. |
|
GetService | Obtiene el implementador de IServiceProvider. (Se hereda de MarshalByValueComponent). |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
GetXml | Devuelve la representación XML de los datos almacenados en DataSet. |
|
GetXmlSchema | Devuelve el esquema XML para la representación XML de los datos almacenados en DataSet. |
|
HasChanges() | Obtiene un valor que indica si DataSet presenta cambios, incluyendo filas nuevas, eliminadas o modificadas. |
|
HasChanges(DataRowState) | Obtiene un valor que indica si DataSet presenta cambios, incluidas filas nuevas, eliminadas o modificadas, filtrados por DataRowState. |
|
InferXmlSchema(Stream, String[]) | Aplica el esquema XML del objeto Stream especificado al objeto DataSet. |
|
InferXmlSchema(String, String[]) | Aplica el esquema XML del archivo especificado al DataSet. |
|
InferXmlSchema(TextReader, String[]) | Aplica el esquema XML del objeto TextReader especificado al objeto DataSet. |
|
InferXmlSchema(XmlReader, String[]) | Aplica el esquema XML del objeto XmlReader especificado al objeto DataSet. |
|
InitializeDerivedDataSet | Infraestructura. Deserializa todos los datos de tablas del conjunto de datos a partir de la secuencia binaria o XML. |
|
IsBinarySerialized | Inspecciona el formato de la representación serializada de DataSet. |
|
Load(IDataReader, LoadOption, DataTable[]) | Rellena un objeto DataSet de valores de un origen de datos utilizando la interfaz IDataReader proporcionada, que usa una matriz de instancias de DataTable para suministrar la información sobre el espacio de nombres y el esquema. |
|
Load(IDataReader, LoadOption, String[]) | Rellena un objeto DataSet de valores de un origen de datos utilizando la interfaz IDataReader proporcionada, que usa una matriz de cadenas para suministrar los nombres para las tablas de DataSet. |
|
Load(IDataReader, LoadOption, FillErrorEventHandler, DataTable[]) | Rellena un objeto DataSet de valores de un origen de datos utilizando la interfaz IDataReader proporcionada, que usa una matriz de instancias de DataTable para suministrar la información sobre el espacio de nombres y el esquema. |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
Merge(DataRow[]) | Combina una matriz de objetos DataRow en el DataSet actual. |
|
Merge(DataSet) | Combina un objeto DataSet especificado y su esquema en el objeto DataSet actual. |
|
Merge(DataTable) | Combina un objeto DataTable especificado y su esquema en el objeto DataSet actual. |
|
Merge(DataSet, Boolean) | Combina un DataSet y su esquema en el DataSet actual, conservando o descartando cualquier cambio efectuado en este DataSet de acuerdo con el argumento especificado. |
|
Merge(DataRow[], Boolean, MissingSchemaAction) | Combina una matriz de objetos DataRow en el DataSet actual, conservando o descartando los cambios efectuados en el DataSet y controlando un esquema incompatible de acuerdo con los argumentos especificados. |
|
Merge(DataSet, Boolean, MissingSchemaAction) | Combina un DataSet especificado y su esquema con el DataSet actual, conservando o descartando los cambios efectuados en el DataSet actual y controlando un esquema incompatible de acuerdo con los argumentos especificados. |
|
Merge(DataTable, Boolean, MissingSchemaAction) | Combina un DataTable especificado y su esquema en el DataSet actual, conservando o descartando los cambios efectuados en el DataSet y controlando un esquema incompatible de acuerdo con los argumentos especificados. |
|
OnPropertyChanging | Provoca el evento OnPropertyChanging. |
|
OnRemoveRelation | Se produce cuando se quita un objeto DataRelation de un DataTable. |
|
OnRemoveTable | Se produce cuando se quita un DataTable de un DataSet. |
|
RaisePropertyChanging | Envía una notificación que indica que se va a cambiar la propiedad especificada de DataSet. |
|
ReadXml(Stream) | Lee los datos y el esquema XML del objeto DataSet mediante el objeto System.IO.Stream especificado. |
|
ReadXml(String) | Lee el esquema y los datos XML del DataSet mediante el archivo especificado. |
|
ReadXml(TextReader) | Lee los datos y el esquema XML del objeto DataSet mediante el objeto System.IO.TextReader especificado. |
|
ReadXml(XmlReader) | Lee los datos y el esquema XML del objeto DataSet mediante el objeto System.Xml.XmlReader especificado. |
|
ReadXml(Stream, XmlReadMode) | Lee el esquema y los datos XML del objeto DataSet mediante el objeto System.IO.Stream y la enumeración XmlReadMode especificados. |
|
ReadXml(String, XmlReadMode) | Lee el esquema y los datos XML del DataSet mediante el archivo y el XmlReadMode especificados. |
|
ReadXml(TextReader, XmlReadMode) | Lee el esquema y los datos XML del objeto DataSet mediante el objeto System.IO.TextReader y la enumeración XmlReadMode especificados. |
|
ReadXml(XmlReader, XmlReadMode) | Lee el esquema y los datos XML del objeto DataSet mediante el objeto System.Xml.XmlReader y la enumeración XmlReadMode especificados. |
|
ReadXmlSchema(Stream) | Lee el esquema XML del objeto Stream especificado en el objeto DataSet. |
|
ReadXmlSchema(String) | Lee el esquema XML del archivo especificado en el DataSet. |
|
ReadXmlSchema(TextReader) | Lee el esquema XML del objeto TextReader especificado en el objeto DataSet. |
|
ReadXmlSchema(XmlReader) | Lee el esquema XML del objeto XmlReader especificado en el objeto DataSet. |
|
ReadXmlSerializable | Infraestructura. Omite los atributos y devuelve un conjunto de datos vacío. |
|
RejectChanges | Deshace todos los cambios realizados en el DataSet desde que se ha creado o desde que se ha llamado por última vez a DataSet.AcceptChanges. |
|
Reset | Restablece el estado original del objeto DataSet. Las subclases deben reemplazar a Reset para restaurar el estado original de un DataSet. |
|
ShouldSerializeRelations | Obtiene un valor que indica si se debe conservar la propiedad Relations. |
|
ShouldSerializeTables | Obtiene un valor que indica si se debe conservar la propiedad Tables. |
|
ToString | Devuelve un objeto String que contiene el nombre del objeto Component, en caso de que exista. Este método no debe reemplazarse. (Se hereda de MarshalByValueComponent). |
|
WriteXml(Stream) | Escribe los datos actuales para el objeto DataSet mediante el objeto System.IO.Stream especificado. |
|
WriteXml(String) | Escribe los datos actuales para el DataSet en el archivo especificado. |
|
WriteXml(TextWriter) | Escribe los datos actuales para el objeto DataSet mediante el objeto TextWriter especificado. |
|
WriteXml(XmlWriter) | Escribe los datos actuales para el DataSet en el XmlWriter especificado. |
|
WriteXml(Stream, XmlWriteMode) | Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataSet mediante el objeto System.IO.Stream y la enumeración XmlWriteMode especificados. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema. |
|
WriteXml(String, XmlWriteMode) | Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataSet en el archivo indicado mediante la enumeración XmlWriteMode especificada. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema. |
|
WriteXml(TextWriter, XmlWriteMode) | Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataSet mediante el objeto TextWriter y la enumeración XmlWriteMode especificados. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema. |
|
WriteXml(XmlWriter, XmlWriteMode) | Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataSet mediante el objeto XmlWriter y la enumeración XmlWriteMode especificados. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema. |
|
WriteXmlSchema(Stream) | Escribe la estructura de DataSet como un esquema XML en el objeto System.IO.Stream especificado. |
|
WriteXmlSchema(String) | Escribe la estructura del DataSet como un esquema XML en un archivo. |
|
WriteXmlSchema(TextWriter) | Escribe la estructura de DataSet como un esquema XML en el objeto TextWriter especificado. |
|
WriteXmlSchema(XmlWriter) | Escribe la estructura del DataSet como un esquema XML en un objeto XmlWriter. |
|
WriteXmlSchema(Stream, Converter<Type, String>) | Escribe la estructura de DataSet como un esquema XML en el objeto System.IO.Stream especificado. |
|
WriteXmlSchema(String, Converter<Type, String>) | Escribe la estructura del DataSet como un esquema XML en un archivo. |
|
WriteXmlSchema(TextWriter, Converter<Type, String>) | Escribe la estructura de DataSet como un esquema XML en el objeto TextWriter especificado. |
|
WriteXmlSchema(XmlWriter, Converter<Type, String>) | Escribe la estructura de DataSet como un esquema XML en el objeto XmlWriter especificado. |
| Nombre | Descripción | |
|---|---|---|
|
Disposed | Agrega un controlador de eventos para escuchar el evento Disposed en el componente. (Se hereda de MarshalByValueComponent). |
|
Initialized | Se produce después de inicializar DataSet. |
|
MergeFailed | Se produce cuando unos DataRow de origen y de destino tienen el mismo valor de clave principal y EnforceConstraints se establece en true. |
| Nombre | Descripción | |
|---|---|---|
|
IListSource.ContainsListCollection | Para obtener una descripción de este miembro, vea IListSource.ContainsListCollection. |
|
IListSource.GetList | Para obtener una descripción de este miembro, vea IListSource.GetList. |
|
IXmlSerializable.GetSchema | Para obtener una descripción de este miembro, vea IXmlSerializable.GetSchema. |
|
IXmlSerializable.ReadXml | Para obtener una descripción de este miembro, vea IXmlSerializable.ReadXml. |
|
IXmlSerializable.WriteXml | Para obtener una descripción de este miembro, vea IXmlSerializable.WriteXml. |
DataSet, que es una caché de memoria interna de datos recuperados de un origen de datos, representa un componente fundamental de la arquitectura de ADO.NET. DataSet está compuesto por una colección de objetos DataTable que se pueden relacionar entre ellos mediante objetos DataRelation. También se puede imponer la integridad de los datos de DataSet mediante los objetos UniqueConstraint y ForeignKeyConstraint. Para obtener información más detallada sobre el trabajo con objetos DataSet, vea DataSets, DataTables y DataViews (ADO.NET).
Los objetos DataTable contienen los datos, mientras que DataRelationCollection permite navegar en la jerarquía de la tabla. Las tablas están incluidas en un DataTableCollection al que se obtiene acceso a través de la propiedad Tables. Al obtener acceso a los objetos DataTable, hay que tener en cuenta que éstos distinguen entre mayúsculas y minúsculas condicionalmente. Por ejemplo, si un objeto DataTable se denomina "mydatatable" y otro "Mydatatable", la cadena que se utilice para buscar una de las tablas se considerará que distingue entre mayúsculas y minúsculas. Sin embargo, si existe "mydatatable" pero no existe "Mydatatable", se considerará que la cadena de búsqueda no distingue entre mayúsculas y minúsculas. Para obtener más información sobre el trabajo con los objetos DataTable, vea Crear DataTable (ADO.NET).
Un DataSet puede leer y escribir datos y esquemas como documentos XML. Los datos y esquemas pueden transportarse, a continuación, a través de HTTP y cualquier aplicación puede utilizarlos en cualquier plataforma que sea compatible con XML. Los esquemas se pueden guardar como esquemas XML mediante el método WriteXmlSchema, y tanto los esquemas como los datos se pueden guardar mediante el método WriteXml. Hay que utilizar el método ReadXml para leer un documento XML que incluya esquema y datos.
En una implementación normal de varios niveles, los pasos de creación y actualización de un DataSet y, a su vez, de actualización de los datos originales, son los siguientes:
-
Construir y llenar cada DataTable de un DataSet con datos desde un origen de datos mediante DataAdapter.
-
Cambiar los datos de los objetos DataTable individuales mediante la adición, actualización o eliminación de objetos DataRow.
-
Llamar al método GetChanges para crear un segundo DataSet que sólo incorpore los cambios realizados en los datos.
-
Llame al método Update de DataAdapter, pasando el segundo DataSet como argumento.
-
Se invoca el método Merge para combinar los cambios del segundo DataSet con el primero.
-
Invocar al método AcceptChanges de DataSet. O bien, invocar al método RejectChanges para cancelar los cambios.
Nota
|
|---|
|
Los objetos DataSet y DataTable se heredan de MarshalByValueComponent y admiten la interfaz ISerializable para la comunicación remota. Éstos son los únicos objetos ADO.NET a los que se puede tener acceso remoto. |
Nota
|
|---|
|
Las clases heredadas de DataSet no son finalizadas por el recolector de elementos no utilizados, porque se ha suprimido el finalizador en DataSet. La clase derivada puede llamar al método ReRegisterForFinalize en su constructor para que el recolector de elementos no utilizados pueda finalizar la clase. |
El ejemplo siguiente se compone de varios métodos que, combinados, crean y rellenan un objeto DataSet a partir de la base de datos Northwind.
using System; using System.Data; using System.Data.SqlClient; namespace Microsoft.AdoNet.DataSetDemo { class NorthwindDataSet { static void Main() { string connectionString = GetConnectionString(); ConnectToData(connectionString); } private static void ConnectToData(string connectionString) { //Create a SqlConnection to the Northwind database. using (SqlConnection connection = new SqlConnection(connectionString)) { //Create a SqlDataAdapter for the Suppliers table. SqlDataAdapter adapter = new SqlDataAdapter(); // A table mapping names the DataTable. adapter.TableMappings.Add("Table", "Suppliers"); // Open the connection. connection.Open(); Console.WriteLine("The SqlConnection is open."); // Create a SqlCommand to retrieve Suppliers data. SqlCommand command = new SqlCommand( "SELECT SupplierID, CompanyName FROM dbo.Suppliers;", connection); command.CommandType = CommandType.Text; // Set the SqlDataAdapter's SelectCommand. adapter.SelectCommand = command; // Fill the DataSet. DataSet dataSet = new DataSet("Suppliers"); adapter.Fill(dataSet); // Create a second Adapter and Command to get // the Products table, a child table of Suppliers. SqlDataAdapter productsAdapter = new SqlDataAdapter(); productsAdapter.TableMappings.Add("Table", "Products"); SqlCommand productsCommand = new SqlCommand( "SELECT ProductID, SupplierID FROM dbo.Products;", connection); productsAdapter.SelectCommand = productsCommand; // Fill the DataSet. productsAdapter.Fill(dataSet); // Close the connection. connection.Close(); Console.WriteLine("The SqlConnection is closed."); // Create a DataRelation to link the two tables // based on the SupplierID. DataColumn parentColumn = dataSet.Tables["Suppliers"].Columns["SupplierID"]; DataColumn childColumn = dataSet.Tables["Products"].Columns["SupplierID"]; DataRelation relation = new System.Data.DataRelation("SuppliersProducts", parentColumn, childColumn); dataSet.Relations.Add(relation); Console.WriteLine( "The {0} DataRelation has been created.", relation.RelationName); } } static private string GetConnectionString() { // To avoid storing the connection string in your code, // you can retrieve it from a configuration file. return "Data Source=(local);Initial Catalog=Northwind;" + "Integrated Security=SSPI"; } } }
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Nota