Definieren von Primärschlüsseln

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, legt die Tabelle automatisch die AllowDBNull-Eigenschaft der Spalte auf false und die Unique-Eigenschaft auf true fest. 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, wie aus den folgenden Beispielen hervorgeht. 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