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

База данных обычно содержит столбец или группу столбцов, уникально определяющих каждую строку в таблице.A database table commonly has a column or group of columns that uniquely identifies each row in the table. Такие столбцы или группы столбцов называются первичными ключами.This identifying column or group of columns is called the primary key.

При определении DataColumn одного объекта в PrimaryKey качестве для DataTableтаблицы автоматически присваивает AllowDBNull свойству столбца значение false , а Unique свойству — значение true.When you identify a single DataColumn as the PrimaryKey for a DataTable, the table automatically sets the AllowDBNull property of the column to false and the Unique property to true. Для первичных ключей с несколькими столбцами автоматически присваивается значение falseтолько для свойства AllowDbNull .For multiple-column primary keys, only the AllowDBNull property is automatically set to false.

Свойство DataTable PrimaryKey принимает в качестве значения массив из одного или нескольких объектов DataColumn , как показано в следующих примерах.The PrimaryKey property of a DataTable receives as its value an array of one or more DataColumn objects, as shown in the following examples. В первом примере в качестве первичного ключа определяется один столбец.The first example defines a single column as the primary key.

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;  

Следующий пример определяет два столбца в качестве первичного ключа.The following example defines two columns as a primary key.

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;  

См. такжеSee also