Freigeben über


Definieren von Primärschlüsseln (ADO.NET)

Aktualisiert: November 2007

Eine Datenbanktabelle enthält i. d. R. eine Spalte oder eine Gruppe von Spalten, die jede Zeile in der Tabelle eindeutig identifiziert. Diese identifizierende Spalte oder Spaltengruppe wird als Primärschlüssel bezeichnet.

Wenn Sie eine einzelne DataColumn als PrimaryKey für eine DataTable festlegen, setzt die Tabelle automatisch die AllowDBNull-Eigenschaft der Spalte auf false und die Unique-Eigenschaft auf true. Bei Primärschlüsseln aus mehreren Spalten wird nur die AllowDBNull-Eigenschaft automatisch auf false festgelegt.

Die PrimaryKey-Eigenschaft einer DataTable erhält als Wert ein Array aus einem oder mehreren DataColumn-Objekten. Dies wird in den folgenden Beispielen dargestellt. Im ersten Beispiel wird eine einzelne Spalte als Primärschlüssel definiert.

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;

Im folgenden Beispiel werden zwei Spalten als Primärschlüssel definiert.

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;

Siehe auch

Referenz

DataTable

Weitere Ressourcen

'DataTable'-Schemadefinition (ADO.NET)

'DataTables' (ADO.NET)