Freigeben über


Definieren eines Primärschlüssels für eine Tabelle

Eine Datenbanktabelle enthält meist 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 gesetzt.

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

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;

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

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;

Siehe auch

Erstellen und Verwenden von Datentabellen | DataTable-Klasse