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;