Поделиться через


Определение первичных ключей

Таблица базы данных обычно содержит столбец или группу столбцов, которые однозначно идентифицируют каждую строку в таблице. Этот идентификатор столбца или группы столбцов называется первичным ключом.

При установке одного 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;  

См. также