DataColumn.AutoIncrement 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值指示对于添加到该表中的新行,列是否将列的值自动递增。
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
。
- 属性
例外
该列是计算所得的列。
示例
以下示例设置 AutoIncrement、 AutoIncrementSeed和 AutoIncrementStep 属性。
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 属性。
如果列的类型为 SqlInt16 或 SqlInt32, AutoIncrement 则不起作用。 请改用 Int16 或 Int32。
如果列的类型为 SqlInt64 或 SqlDecimal, AutoIncrement 则 只能部分工作。 请改用 Int64 或 Decimal。
将AutoIncrementStep值添加到当前值时,将禁止溢出检查。