DataColumn 类

表示 DataTable 中列的架构。

**命名空间:**System.Data
**程序集:**System.Data(在 system.data.dll 中)

语法

声明
Public Class DataColumn
    Inherits MarshalByValueComponent
用法
Dim instance As DataColumn
public class DataColumn : MarshalByValueComponent
public ref class DataColumn : public MarshalByValueComponent
public class DataColumn extends MarshalByValueComponent
public class DataColumn extends MarshalByValueComponent

备注

DataColumn 是用于创建 DataTable 的架构的基本构造块。通过向 DataColumnCollection 中添加一个或多个 DataColumn 对象来生成这个架构。有关更多信息,请参见 在表中添加列

每个 DataColumn 都有 DataType 属性,该属性确定 DataColumn 所包含的数据的种类。例如,可以将数据类型限制为整数、字符串或小数。由于 DataTable 所包含的数据通常合并回其原始数据源,因此必须使其数据类型与数据源中的数据类型匹配。有关更多信息,请参见 将数据提供程序数据类型映射到 .NET Framework 数据类型

AllowDBNullUniqueReadOnly 等属性对数据的输入和更新施加限制,从而有助于确保数据完整性。还可以使用 AutoIncrementAutoIncrementSeedAutoIncrementStep 属性来控制数据自动生成。有关 AutoIncrement 列的更多信息,请参见 创建 AutoIncrement 列。有关更多信息,请参见 为表定义主键

还可以通过创建一个 UniqueConstraint 并将其添加到 DataColumn 所属的 DataTableConstraintCollection 中,来确保 DataColumn 中的值是唯一的。有关更多信息,请参见 将约束添加到表

若要创建 DataColumn 对象之间的关系,请创建 DataRelation 对象并将其添加到 DataSetDataRelationCollection

可以使用 DataColumn 对象的 Expression 属性来计算列中的值或创建聚合列。有关更多信息,请参见 创建表达式列

示例

下面的示例用几个 DataColumn 对象创建 DataTable

Private Sub MakeTable()
    ' Create a DataTable. 
    Dim table As DataTable = new DataTable("Product") 

    ' Create a DataColumn and set various properties. 
    Dim column As DataColumn = New DataColumn 
    column.DataType = System.Type.GetType("System.Decimal") 
    column.AllowDBNull = False 
    column.Caption = "Price"  
    column.ColumnName = "Price" 
    column.DefaultValue = 25 

    ' Add the column to the table. 
    table.Columns.Add(column) 

    ' Add 10 rows and set values. 
    Dim row As DataRow 
    Dim i As Integer  
    For i = 0 to 9 
        row = table.NewRow() 
        row("Price") = i + 1 

        ' Be sure to add the new row to 
        ' the DataRowCollection. 
        table.Rows.Add(row) 
    Next i 
End Sub
private void MakeTable()
{ 
    // Create a DataTable. 
    DataTable table = new DataTable("Product");

    // Create a DataColumn and set various properties. 
    DataColumn column = new DataColumn(); 
    column.DataType = System.Type.GetType("System.Decimal"); 
    column.AllowDBNull = false; 
    column.Caption = "Price"; 
    column.ColumnName = "Price"; 
    column.DefaultValue = 25; 

    // Add the column to the table. 
    table.Columns.Add(column); 

    // Add 10 rows and set values. 
    DataRow row; 
    for(int i = 0; i < 10; i++)
    { 
        row = table.NewRow(); 
        row["Price"] = i + 1; 

        // Be sure to add the new row to the 
        // DataRowCollection. 
        table.Rows.Add(row); 
    } 
}

继承层次结构

System.Object
   System.ComponentModel.MarshalByValueComponent
    System.Data.DataColumn

线程安全

该类型对于多线程读操作是安全的。您必须使任何写操作同步。

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

DataColumn 成员
System.Data 命名空间
Add
DataColumnCollection
Constraints
ConstraintCollection 类
System.Windows.Forms.DataGrid
DataRow
DataTable
DataSet
NewRow
DataRowCollection
UniqueConstraint