Definizione di una chiave primaria per una tabella

In una tabella di database è solitamente presente una colonna, o un gruppo di colonne, che consente l'identificazione univoca di ogni riga della tabella. Tale colonna o gruppo di identificazione è definito chiave primaria.

Quando si identifica un singolo DataColumn come PrimaryKey per una DataTable, la proprietà AllowDBNull della colonna viene impostata automaticamente su false e la proprietà Unique su true. Nel caso di chiavi primarie di più colonne, viene impostata automaticamente su false solo la proprietà AllowDBNull.

La proprietà PrimaryKey di una DataTable riceve come valore una matrice contenente uno o più oggetti DataColumn, come illustrato negli esempi seguenti. Il primo esempio consente di definire una singola colonna come chiave primaria.

workTable.PrimaryKey = New DataColumn() {workTable.Columns("CustID")}

' Or

Dim myColArray(1) As DataColumn
myColArray(0) = workTable.Columns("CustID")
workTable.PrimaryKey = myColArray
[C#]
workTable.PrimaryKey = new DataColumn[] {workTable.Columns["CustID"]};

// Or

DataColumn[] myColArray = new DataColumn[1];
myColArray[0] = workTable.Columns["CustID"];
workTable.PrimaryKey = myColArray;

L'esempio seguente consente di definire due colonne come chiave primaria.

workTable.PrimaryKey = New DataColumn() {workTable.Columns("CustLName"), _
                                         workTable.Columns("CustFName")}

' Or

Dim myKey(2) As DataColumn
myKey(0) = workTable.Columns("CustLName")
myKey(1) = workTable.Columns("CustFName")
workTable.PrimaryKey = myKey
[C#]
workTable.PrimaryKey = new DataColumn[] {workTable.Columns["CustLName"], 
                                         workTable.Columns["CustFName"]};

// Or

DataColumn[] myKey = new DataColumn[2];
myKey[0] = workTable.Columns["CustLName"];
myKey[1] = workTable.Columns["CustFName"];
workTable.PrimaryKey = myKey;

Vedere anche

Creazione e utilizzo di DataTable | Classe DataTable