定义主键

数据库表通常具有一个列或一组列,用于唯一标识表中的每一行。 此标识列或列组称为主键。

当您将单个DataColumn标识为PrimaryKeyDataTable时,表格会自动将列的AllowDBNull属性设置为false,并将Unique属性设置为true。 对于多列主键,仅属性 AllowDBNull 自动设置为 false

DataTablePrimaryKey属性的值是一个或多个DataColumn对象的数组,如以下示例所示。 第一个示例将单个列定义为主键。

workTable.PrimaryKey = New DataColumn() {workTable.Columns("CustID")}

' Or

Dim columns(1) As DataColumn
columns(0) = workTable.Columns("CustID")
workTable.PrimaryKey = columns
workTable.PrimaryKey = new DataColumn[] {workTable.Columns["CustID"]};

// Or

DataColumn[] columns = new DataColumn[1];
columns[0] = workTable.Columns["CustID"];
workTable.PrimaryKey = columns;

以下示例将两列定义为主键。

workTable.PrimaryKey = New DataColumn() {workTable.Columns("CustLName"), _
                                         workTable.Columns("CustFName")}

' Or

Dim keyColumn(2) As DataColumn
keyColumn(0) = workTable.Columns("CustLName")
keyColumn(1) = workTable.Columns("CustFName")
workTable.PrimaryKey = keyColumn
workTable.PrimaryKey = new DataColumn[] {workTable.Columns["CustLName"],
                                         workTable.Columns["CustFName"]};

// Or

DataColumn[] keyColumn = new DataColumn[2];
keyColumn[0] = workTable.Columns["CustLName"];
keyColumn[1] = workTable.Columns["CustFName"];
workTable.PrimaryKey = keyColumn;

另请参阅