Agregar un objeto DataTable a un objeto DataSetAdding a DataTable to a DataSet

ADO.NET permite crear objetos DataTable y agregarlos a un DataSet existente.ADO.NET enables you to create DataTable objects and add them to an existing DataSet. Es posible establecer información de restricciones para una DataTable mediante las propiedades PrimaryKey y Unique.You can set constraint information for a DataTable by using the PrimaryKey and Unique properties.

EjemploExample

En el siguiente ejemplo se construye un DataSet, se agrega un objeto DataTable nuevo al DataSet y, a continuación, se agregan tres objetos DataColumn a la tabla.The following example constructs a DataSet, adds a new DataTable object to the DataSet, and then adds three DataColumn objects to the table. Por ultimo, el código establece una columna como columna de clave principal.Finally, the code sets one column as the primary key column.

DataSet customerOrders = new DataSet("CustomerOrders");

DataTable ordersTable = customerOrders.Tables.Add("Orders");

DataColumn pkOrderID =
    ordersTable.Columns.Add("OrderID", typeof(Int32));
ordersTable.Columns.Add("OrderQuantity", typeof(Int32));
ordersTable.Columns.Add("CompanyName", typeof(string));

ordersTable.PrimaryKey = new DataColumn[] { pkOrderID };
Dim customerOrders As New DataSet("CustomerOrders")

Dim ordersTable As DataTable = customerOrders.Tables.Add("Orders")

Dim pkOrderID As DataColumn = ordersTable.Columns.Add( _
    "OrderID", Type.GetType("System.Int32"))
ordersTable.Columns.Add("OrderQuantity", Type.GetType("System.Int32"))
ordersTable.Columns.Add("CompanyName", Type.GetType("System.String"))

ordersTable.PrimaryKey = New DataColumn() {pkOrderID}

Distinción entre mayúsculas y minúsculasCase Sensitivity

Pueden existir dos o más tablas o relaciones con el mismo nombre, pero que difieran en mayúsculas y minúsculas, en un DataSet.Two or more tables or relations with the same name, but different casing, can exist in a DataSet. En estos casos, las referencias a tablas y relaciones por nombre distinguen mayúsculas y minúsculas.In such cases, references by name to tables and relations are case sensitive. Por ejemplo, si el DataSet conjunto de DataSet contiene las tablas Table1 y Table1, haría referencia a tabla1 por nombre como DataSet. Tables ["Table1"] y Table1 as DataSet. Tables ["Table1"].For example, if the DataSet dataSet contains tables Table1 and table1, you would reference Table1 by name as dataSet.Tables["Table1"], and table1 as dataSet.Tables["table1"]. Al intentar hacer referencia a cualquiera de las tablas como DataSet. Tables ["TABLE1"] se generaría una excepción.Attempting to reference either of the tables as dataSet.Tables["TABLE1"] would generate an exception.

El comportamiento de distinción entre mayúsculas y minúsculas no se aplica si sólo hay una tabla o relación con un nombre concreto.The case-sensitivity behavior does not apply if only one table or relation has a particular name. Por ejemplo, si DataSet solo tiene Table1, puede hacer referencia a él mediante DataSet. Tables ["Table1"].For example, if the DataSet has only Table1, you can reference it using dataSet.Tables["TABLE1"].

Nota

La propiedad CaseSensitive del DataSet no afecta a este comportamiento.The CaseSensitive property of the DataSet does not affect this behavior. La propiedad CaseSensitive se aplica a los datos del DataSet y afecta a la ordenación, la búsqueda, el filtrado, la aplicación de restricciones, etc.The CaseSensitive property applies to the data in the DataSet and affects sorting, searching, filtering, enforcing constraints, and so on.

Compatibilidad con los espacios de nombresNamespace Support

En las versiones de ADO.NET anteriores a la versión 2.0, dos tablas no podían tener el mismo nombre, aunque se encontrasen en espacios de nombres diferentes.In versions of ADO.NET earlier than 2.0, two tables could not have the same name, even if they were in different namespaces. Esta limitación se quitó en ADO.NET 2.0.This limitation was removed in ADO.NET 2.0. Un DataSet puede contener dos tablas con el mismo valor de propiedad TableName, pero con valores de propiedad Namespace diferentes.A DataSet can contain two tables that have the same TableName property value but different Namespace property values.

Consulte tambiénSee also