定义主键

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

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

DataTable 属性的值是一个包含一个或多个 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;  

另请参阅