DataColumn.AutoIncrement 属性

定义

获取或设置一个值,该值指示对于添加到该表中的新行,列是否将列的值自动递增。

public:
 property bool AutoIncrement { bool get(); void set(bool value); };
public bool AutoIncrement { get; set; }
[System.Data.DataSysDescription("DataColumnAutoIncrementDescr")]
public bool AutoIncrement { get; set; }
member this.AutoIncrement : bool with get, set
[<System.Data.DataSysDescription("DataColumnAutoIncrementDescr")>]
member this.AutoIncrement : bool with get, set
Public Property AutoIncrement As Boolean

属性值

如果列的值自动递增,则为 true;否则为 false。 默认值为 false

属性

例外

该列是计算所得的列。

示例

以下示例设置 AutoIncrementAutoIncrementSeedAutoIncrementStep 属性。

private void AddAutoIncrementColumn()
{
    DataColumn column = new DataColumn();
    column.DataType = System.Type.GetType("System.Int32");
    column.AutoIncrement = true;
    column.AutoIncrementSeed = 1000;
    column.AutoIncrementStep = 10;

    // Add the column to a new DataTable.
    DataTable table = new DataTable("table");
    table.Columns.Add(column);
}
Private Sub AddAutoIncrementColumn()
    Dim column As New DataColumn()
    column.DataType = System.Type.GetType("System.Int32")
    With column
        .AutoIncrement = True
        .AutoIncrementSeed = 1000
        .AutoIncrementStep = 10
    End With

    ' Add the column to a new DataTable.
    Dim table As DataTable
    table = New DataTable
    table.Columns.Add(column)
End Sub

注解

如果设置此属性时此列的类型不是 Int16、Int32 或 Int64,则属性 DataType 被强制为 Int32。 如果这是计算列,则会生成异常。 属性 Expression 已设置。 仅当添加到列集合时,此列的行值等于默认值时,才使用递增值。

可以使用 类的 DataRow 属性并传入值数组来创建一个新行ItemArray。 对于设置为 true的列AutoIncrement来说,这是一个潜在问题,因为其值是自动生成的。 若要使用 ItemArray 属性,请将 放置在 null 数组中列的位置。 有关详细信息,请参阅 DataRow 类的 ItemArray 属性。

如果列的类型为 SqlInt16SqlInt32AutoIncrement 则不起作用。 请改用 Int16 或 Int32。

如果列的类型为 SqlInt64SqlDecimalAutoIncrement 则 只能部分工作。 请改用 Int64 或 Decimal。

AutoIncrementStep值添加到当前值时,将禁止溢出检查。

适用于

另请参阅