定义主键
数据库表通常都有一列或一组列,用于唯一地标识表中的每一行。 这种具有标识作用的列或列组称为主键。
在将一个单独的 DataColumn 标识为 DataTable 的 PrimaryKey 时,表会自动将列的 AllowDBNull 属性设置为 false,并将 Unique 属性设置为 true。 如果是多列主键,则只有 AllowDBNull 属性自动设置为 false。
DataTable 的 PrimaryKey 属性会将一个或多个 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;