Freigeben über


DataTable.PrimaryKey-Eigenschaft

Ruft ein Array von Spalten ab, die als Primärschlüssel für die Datentabelle verwendet werden, oder legt dieses fest.

Namespace: System.Data
Assembly: System.Data (in system.data.dll)

Syntax

'Declaration
Public Property PrimaryKey As DataColumn()
'Usage
Dim instance As DataTable
Dim value As DataColumn()

value = instance.PrimaryKey

instance.PrimaryKey = value
public DataColumn[] PrimaryKey { get; set; }
public:
property array<DataColumn^>^ PrimaryKey {
    array<DataColumn^>^ get ();
    void set (array<DataColumn^>^ value);
}
/** @property */
public DataColumn[] get_PrimaryKey ()

/** @property */
public void set_PrimaryKey (DataColumn[] value)
public function get PrimaryKey () : DataColumn[]

public function set PrimaryKey (value : DataColumn[])

Eigenschaftenwert

Ein Array von DataColumn-Objekten.

Ausnahmen

Ausnahmetyp Bedingung

DataException

Der Schlüssel ist ein Fremdschlüssel.

Hinweise

Der Primärschlüssel einer Tabelle muss für die Kennzeichnung des Datensatzes in der Tabelle eindeutig sein. Eine Tabelle kann auch einen Primärschlüssel enthalten, der aus zwei oder mehr Spalten besteht. Dies kann der Fall sein, wenn eine einzelne Spalte keine ausreichende Anzahl eindeutiger Werte enthalten kann. Ein zweispaltiger Primärschlüssel kann z. B. aus den Spalten "FirstName" und "LastName" bestehen. Da Primärschlüssel aus mehr als einer Zeile bestehen können, besteht die PrimaryKey-Eigenschaft aus einem Array von DataColumn-Objekten.

Beispiel

Im ersten Beispiel wird die Rückgabe der Primärschlüsselspalten für eine DataTable gezeigt, die in einem DataGrid angezeigt wird. Im zweiten Beispiel wird das Festlegen der Primärschlüsselspalten für eine DataTable veranschaulicht.

Private Sub GetPrimaryKeys(table As DataTable)
   ' Create the array for the columns.
   Dim columns() As DataColumn 
   columns = table.PrimaryKey

   ' Get the number of elements in the array.
   Console.WriteLine("Column Count: " & columns.Length.ToString())
   Dim i As Integer
   For i = 0 To columns.GetUpperBound(0)
      Console.WriteLine(columns(i).ColumnName & columns(i).DataType.ToString())
   Next i
End Sub

Private Sub SetPrimaryKeys()
   ' Create a new DataTable and set two DataColumn objects as primary keys.
   Dim table As DataTable = new DataTable()
   Dim keys(2) As DataColumn
   Dim column  As DataColumn

   ' Create column 1.
   column = New DataColumn()
   column.DataType = System.Type.GetType("System.String")
   column.ColumnName= "FirstName"

   ' Add the column to the DataTable.Columns collection.
   table.Columns.Add(column)
   ' Add the column to the array.
   keys(0) = column

   ' Create column 2 and add it to the array.
   column = New DataColumn()
   column.DataType = System.Type.GetType("System.String")
   column.ColumnName = "LastName"
   table.Columns.Add(column)

   ' Add the column to the array.
   keys(1) = column

   ' Set the PrimaryKeys property to the array.
   table.PrimaryKey = keys
End Sub
private void GetPrimaryKeys(DataTable table)
{
    // Create the array for the columns.
    DataColumn[] columns;
    columns = table.PrimaryKey;

    // Get the number of elements in the array.
    Console.WriteLine("Column Count: " + columns.Length);
    for(int i = 0; i < columns.Length; i++)
    {
        Console.WriteLine(columns[i].ColumnName + columns[i].DataType);
    }
}
 
private void SetPrimaryKeys()
{
    // Create a new DataTable and set two DataColumn objects as primary keys.
    DataTable table = new DataTable();
    DataColumn[] keys = new DataColumn[2];
    DataColumn column;

    // Create column 1.
    column = new DataColumn();
    column.DataType = System.Type.GetType("System.String");
    column.ColumnName= "FirstName";

    // Add the column to the DataTable.Columns collection.
    table.Columns.Add(column);

    // Add the column to the array.
    keys[0] = column;
 
    // Create column 2 and add it to the array.
    column = new DataColumn();
    column.DataType = System.Type.GetType("System.String");
    column.ColumnName = "LastName";
    table.Columns.Add(column);

    // Add the column to the array.
    keys[1] = column;

    // Set the PrimaryKeys property to the array.
    table.PrimaryKey = keys;
}

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

DataTable-Klasse
DataTable-Member
System.Data-Namespace
DataColumn-Klasse
DataTable.PrimaryKey-Eigenschaft
DataColumnCollection-Klasse

Weitere Ressourcen

Erstellen und Verwenden von DataTables