DataColumn 类

来源:互联网 发布:雷洋案真相知乎 编辑:程序博客网 时间:2024/06/01 08:50

DataColumn

DataColumn 是用于创建 DataTable 的架构的基本构造块。通过向 DataColumnCollection 中添加一个或多个 DataColumn 对象来生成这个架构。

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

AllowDBNullUnique ReadOnly 等属性对数据的输入和更新施加限制,从而有助于确保数据完整性。还可以使用 AutoIncrementAutoIncrementSeed AutoIncrementStep 属性来控制数据自动生成。有关 AutoIncrement 列的更多信息。

还可以通过创建一个 UniqueConstraint 并将其添加到 DataColumn 所属的 DataTable ConstraintCollection 中,来确保 DataColumn 中的值是唯一的。

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

可以使用 DataColumn 对象的 Expression 属性来计算列中的值或创建聚合列。

示例

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

 

C# 

 

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);

    }

}

 

重载列表

名称

说明

DataColumn ()

DataColumn 类的新实例初始化为类型字符串。

.NET Compact Framework 支持。

DataColumn (String)

使用指定的列名称将 DataColumn 类的新实例初始化为类型字符串。

.NET Compact Framework 支持。

DataColumn (String, Type)

使用指定列名称和数据类型初始化 DataColumn 类的新实例。

.NET Compact Framework 支持。

DataColumn (String, Type, String)

使用指定的名称、数据类型和表达式初始化 DataColumn 类的新实例。

.NET Compact Framework 支持。

DataColumn (String, Type, String, MappingType)

使用指定名称、数据类型、表达式和确定列是否为属性的值,初始化 DataColumn 类的新实例。

.NET Compact Framework 支持。

 

一、语法

C#

public DataColumn ()

 

示例

下面的示例创建一个新的 DataColumn,设置它的各种属性,并将其添加到 DataTable 对象的 DataColumnCollection 中。

 

C# 

 

private void AddDataColumn(DataTable table)

{

    DataColumn column = new DataColumn();

 

    // Set various properties.

    column.ColumnName = "id";

    column.DataType = System.Type.GetType("System.Int32");

    column.AutoIncrement = true;

    column.AutoIncrementSeed = 1;

    column.AutoIncrementStep = 1;

    column.ReadOnly = true;

 

    // Add to Columns collection.

    table.Columns.Add(column);

}

二、语法

 

C#

public DataColumn (

       string columnName

)

 

参数

columnName

一个字符串,它表示要创建的列的名称。如果设置为 空引用(在 Visual Basic 中为 Nothing 或空字符串 (""),则当添加到列集合中时,将指定一个默认名称。

备注

默认情况下,特定于列的名称会成为 Caption 属性值。

示例

下面的示例用指定 ColumnName 创建新的 DataColumn

 

C# 

 

private void AddDataColumn(DataTable table)

{

    DataColumn column = new DataColumn("id");

 

    // Set various properties.

    column.DataType = System.Type.GetType("System.Int32");

    column.AutoIncrement = true;

    column.AutoIncrementSeed = 1;

    column.AutoIncrementStep = 1;

    column.ReadOnly = true;

 

    // Add to Columns collection.

    table.Columns.Add(column);

}

三、语法

 

C#

public DataColumn (

       string columnName,

       Type dataType

)

 

参数

columnName

一个字符串,它表示要创建的列的名称。如果设置为 空引用(在 Visual Basic 中为 Nothing 或空字符串 (""),则当添加到列集合中时,将指定一个默认名称。

dataType

支持的 DataType

异常

异常类型

条件

ArgumentNullException

未指定任何 dataType

示例

下面的示例用指定的 ColumnName DataType 创建新的 DataColumn

 

C# 

 

private void AddDataColumn(DataTable table)

{

    System.Type typeInt32 =

        System.Type.GetType("System.Int32");

    DataColumn column = new DataColumn("id", typeInt32);

 

    // Set various properties.

    column.AutoIncrement = true;

    column.AutoIncrementSeed = 1;

    column.AutoIncrementStep = 1;

    column.ReadOnly = true;

 

    // Add to Columns collection.

    table.Columns.Add(column);

}

四、语法

 

C#

public DataColumn (

       string columnName,

       Type dataType,

       string expr

)

 

 

参数

columnName

一个字符串,它表示要创建的列的名称。如果设置为 空引用(在 Visual Basic 中为 Nothing 或空字符串 (""),则当添加到列集合中时,将指定一个默认名称。

dataType

支持的 DataType

expr

用于创建该列的表达式。有关更多信息,请参见 Expression 属性。

异常

异常类型

条件

ArgumentNullException

未指定任何 dataType

示例

下面的示例创建计算所得的列。

 

C# 

 

private void AddDataColumn(DataTable table)

{

    System.Type decimalType;

    decimalType = System.Type.GetType("System.Decimal");

 

    // Create the column. The name is 'Tax,' with data type Decimal,and

    // an expression ('UnitPrice * .0862) to calculate the tax.

    DataColumn column = new DataColumn("Tax",

        decimalType, "UnitPrice * .0862");

 

    // Set various properties.

    column.AutoIncrement = false;

    column.ReadOnly = true;

 

    // Add to Columns collection.;

    table.Columns.Add(column);

}

五、语法

 

C#

public DataColumn (

       string columnName,

       Type dataType,

       string expr,

       MappingType type

)

 

参数

columnName

一个字符串,它表示要创建的列的名称。如果设置为 空引用(在 Visual Basic 中为 Nothing 或空字符串 (""),则当添加到列集合中时,将指定一个默认名称。

dataType

支持的 DataType

expr

用于创建该列的表达式。有关更多信息,请参见 Expression 属性。

type

MappingType 值之一。

异常

异常类型

条件

ArgumentNullException

未指定任何 dataType

备注

type 参数设置 ColumnMapping 属性。该属性指定在将 DataSet 转换成 XML 文档时如何映射 DataColumn。例如,如果列名称为“fName”,它包含的值是“Bob”,且 type 设置为 MappingType.Attribute,那么 XML 元素就将是:

<Name fName = 'Bob'/>

有关如何将列映射到元素或属性的更多信息,请参见 ColumnMapping 属性。

示例

下面的示例构造计算所得的列。

 

C# 

 

private void CreateComputedColumn(DataTable table)

{

    System.Type myDataType =

        System.Type.GetType("System.Decimal");

 

    // The expression multiplies the "Price" column value

    // by the "Quantity" to create the "Total" column.

    string expression = "Price * Quantity";

 

    // Create the column, setting the type to Attribute.

    DataColumn column = new DataColumn("Total", myDataType,

        expression, MappingType.Attribute);

 

    // Set various properties.

    column.AutoIncrement = false;

    column.ReadOnly = true;

 

    // Add the column to a DataTable object's to DataColumnCollection.

    DataSet1.Tables["OrderDetails"].Columns.Add(column);

}

 

原创粉丝点击