Condividi tramite


Definizione di chiavi primarie (ADO.NET)

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

Quando si identifica un singolo tipo DataColumn come proprietà PrimaryKey per un tipo DataTable, la proprietà AllowDBNull della colonna viene automaticamente impostata 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 un tipo 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 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;

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

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;

Vedere anche

Riferimenti

DataTable

Altre risorse

Definizione dello schema di DataTable (ADO.NET)

DataTable (ADO.NET)