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.

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

プロパティ値

この列の値を自動的にインクリメントする場合は true。それ以外の場合は falsetrue 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");
    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、またはDataType Int64 でない場合、プロパティは強制的に 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を使用して新しい行を作成し、値の配列を渡すことができます。 DataRowYou 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またはSqlInt32の場合、 AutoIncrementは機能しません。If the type of the column is SqlInt16 or SqlInt32, AutoIncrement will not work. 代わりに Int16 または Int32 を使用してください。Use Int16 or Int32 instead.

列の型がSqlInt64またはSqlDecimalの場合、 AutoIncrementは部分的にのみ機能します。If the type of the column is SqlInt64 or SqlDecimal, AutoIncrement will only partially work. 代わりに、Int64 または Decimal を使用してください。Use Int64 or Decimal instead.

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

適用対象

こちらもご覧ください