Compartir a través de


Agregar columnas a una tabla

DataTable contiene una colección de objetos DataColumn a los que hace referencia la propiedad Columns de la tabla. Esta colección de columnas, junto con las restricciones que haya, define el esquema, o estructura, de la tabla.

Los objetos DataColumn de una tabla se crean con el constructor DataColumn o llamando al método Add de la propiedad Columns de la tabla, que es una DataColumnCollection. El método Add aceptará argumentos ColumnName, DataType y Expression opcionales y creará una nueva DataColumn como miembro de la colección. También aceptará un objeto DataColumn existente y lo agregará a la colección, y devolverá una referencia a la DataColumn agregada si se solicita. Puesto que los objetos DataTable no son específicos de ningún origen de datos, al especificar el tipo de datos de una DataColumn se usan los tipos de .NET Framework.

En el siguiente ejemplo, se agregan cuatro columnas a DataTable.

Dim workTable As DataTable = New DataTable("Customers")

Dim workCol As DataColumn = workTable.Columns.Add("CustID", Type.GetType("System.Int32"))
workColumn.AllowDBNull = false
workColumn.Unique = true

workTable.Columns.Add("CustLName", Type.GetType("System.String"))
workTable.Columns.Add("CustFName", Type.GetType("System.String"))
workTable.Columns.Add("Purchases", Type.GetType("System.Double"))
[C#]
DataTable workTable = new DataTable("Customers");

DataColumn workCol = workTable.Columns.Add("CustID", typeof(Int32));
workCol.AllowDBNull = false;
workCol.Unique = true;

workTable.Columns.Add("CustLName", typeof(String));
workTable.Columns.Add("CustFName", typeof(String));
workTable.Columns.Add("Purchases", typeof(Double));

En el ejemplo, advierta que las propiedades de la columna CustID se configuran de manera que no admitan valores DBNull y restrinjan los valores para que sean únicos. Sin embargo, si se define la columna CustID como columna de clave principal de la tabla, la propiedad AllowDBNull se establecerá automáticamente en false y la propiedad Unique se establecerá automáticamente en true. Para obtener más información, vea Definir una clave principal para una tabla.

PRECAUCIÓN   Si no se proporciona un nombre para una determinada columna, ésta recibe el nombre predeterminado incremental ColumnN (que empieza por "Column1") cuando la columna se agrega a la colección DataColumnCollection. Se recomienda evitar la convención de nomenclatura "ColumnN" al proporcionar un nombre de columna, ya que el nombre que se proporcione podría entrar en conflicto con un nombre de columna predeterminado existente en DataColumnCollection. Si el nombre proporcionado ya existe, se iniciará una excepción.

Vea también

Crear y utilizar DataTables | DataColumn (Clase) | DataColumnCollection (Clase) | DataTable (Clase)