Definir chaves primárias

Uma tabela de banco de dados geralmente tem uma coluna ou grupo de colunas que identifica exclusivamente cada linha na tabela. Essa coluna ou grupo de colunas de identificação é chamada de chave primária.

Quando você identifica um DataColumn único como PrimaryKey para um DataTable, a tabela define automaticamente a propriedade AllowDBNull da coluna como false e a propriedade Uniquecomo true. Para chaves primárias com múltiplas colunas, somente a propriedade AllowDBNull é definida automaticamente como false.

A propriedade PrimaryKey de um DataTable recebe como valor uma matriz de um ou mais objetos DataColumn, conforme mostrado nos exemplos a seguir. O primeiro exemplo define uma coluna única como a chave primária.

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;  

O exemplo a seguir define duas colunas como uma chave primária.

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;  

Confira também