Definindo chaves primárias
Uma tabela de banco de dados geralmente tem uma coluna ou grupo de colunas que identifica exclusivamente cada linha da tabela. Essa coluna de identificação ou grupo de colunas é chamada de chave primária.
Quando você identifica um único DataColumn como foro PrimaryKey DataTable, a tabela define automaticamente a AllowDBNull propriedade da coluna como false e a Unique propriedade como true. Para chaves primárias de várias colunas, somente a propriedade AllowDBNull é definida automaticamente como false.
A propriedade PrimaryKey de um DataTable recebe como seu valor uma matriz de um ou mais objetos DataColumn , conforme mostrado nos exemplos a seguir. O primeiro exemplo define uma única coluna 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;