DataColumn.AutoIncrement DataColumn.AutoIncrement DataColumn.AutoIncrement DataColumn.AutoIncrement Property


取得または列がテーブルに追加される新しい行の列の値を自動的にインクリメントするかどうかを示す値を設定します。Gets or sets a value that indicates whether the column automatically increments the value of the column for new rows added to the table.

 property bool AutoIncrement { bool get(); void set(bool value); };
public bool AutoIncrement { get; set; }
member this.AutoIncrement : bool with get, set
Public Property AutoIncrement As Boolean


true 列の値を自動的にインクリメントする場合それ以外の場合、falseします。true if the value of the column increments automatically; otherwise, false. 既定値は false です。The default is false.


列は計算列です。The column is a computed column.

次の例のセット、 AutoIncrementAutoIncrementSeed、およびAutoIncrementStepプロパティ。The following example sets the AutoIncrement, AutoIncrementSeed, and AutoIncrementStep properties.

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");
Private Sub AddAutoIncrementColumn()
    Dim column As DataColumn = 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
End Sub


この列の型でない場合、Int16、Int32、または Int64 このプロパティが設定されている場合、DataTypeプロパティは Int32 に変換します。If the type of this column is not Int16, Int32, or Int64 when this property is set, the DataType property is coerced to Int32. これが計算列の場合、例外が生成されます。An exception is generated if this is a computed column. Expressionプロパティを設定します。The Expression property is set. インクリメントされた値は、列のコレクションに追加されたときに、この列の行の値が既定値と等しい場合にのみ使用されます。The incremented value is used only if the row's value for this column, when added to the columns collection, is equal to the default value.

使用して新しい行を作成することができます、ItemArrayのプロパティ、DataRowクラスし、値の配列を渡します。You can create a new row using the ItemArray property of the DataRow class and passing in an array of values. これは、潜在的な問題の列に対してそのAutoIncrementに設定trueその値が自動的に生成されるため、します。This is a potential problem for a column with its AutoIncrement set to true, because its value is generated automatically. 使用する、ItemArrayプロパティ、配置nullで配列内の列の位置。To use the ItemArray property, place null in the column's position in the array. 詳細については、次を参照してください。、ItemArrayのプロパティ、DataRowクラス。For more information, see the ItemArray property of the DataRow class.

列の型がある場合SqlInt16またはSqlInt32AutoIncrementは機能しません。If the type of the column is SqlInt16 or SqlInt32, AutoIncrement will not work. 代わりに、Int16 または int32 型を使用します。Use Int16 or Int32 instead.

列の型がある場合SqlInt64またはSqlDecimalAutoIncrementは部分的にのみ機能します。If the type of the column is SqlInt64 or SqlDecimal, AutoIncrement will only partially work. Int64 または 10 進数を代わりに使用します。Use Int64 or Decimal instead.

ときに、AutoIncrementStep値はオーバーフロー チェックが抑制されて現在の値に追加します。When the AutoIncrementStep value is added to the current value, the overflow check is suppressed.