DataTable.PrimaryKey Eigenschaft

Definition

Ruft ein Array von Spalten ab, die als Primärschlüssel für die Datentabelle verwendet werden, oder legt dieses fest.Gets or sets an array of columns that function as primary keys for the data table.

public:
 property cli::array <System::Data::DataColumn ^> ^ PrimaryKey { cli::array <System::Data::DataColumn ^> ^ get(); void set(cli::array <System::Data::DataColumn ^> ^ value); };
[System.ComponentModel.TypeConverter(typeof(System.Data.PrimaryKeyTypeConverter))]
[System.Data.DataSysDescription("DataTablePrimaryKeyDescr")]
public System.Data.DataColumn[] PrimaryKey { get; set; }
member this.PrimaryKey : System.Data.DataColumn[] with get, set
Public Property PrimaryKey As DataColumn()

Eigenschaftswert

Ein Array von DataColumn-Objekten.An array of DataColumn objects.

Attribute

Ausnahmen

Der Schlüssel ist ein Fremdschlüssel.The key is a foreign key.

Beispiele

Im ersten Beispiel wird gezeigt, wie die Primärschlüssel Spalten für einen DataTable zurückgegeben werden DataGrid, der in einer angezeigt wird.The first example shows how to return the primary key columns for a DataTable displayed in a DataGrid. Im zweiten Beispiel wird veranschaulicht, wie die Primärschlüssel Spalten für ein DataTable-Wert festgelegt werden.The second example demonstrates how to set the primary key columns for a DataTable.

   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.
       var table = new DataTable();
       var keys = new DataColumn[2];
       DataColumn column;

       // Create column 1.
       column = new DataColumn();
       column.DataType = 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 = 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;
   }
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}")
    For i = 0 To columns.GetUpperBound(0)
        Console.WriteLine($"{columns(i).ColumnName} {columns(i).DataType}")
    Next
End Sub

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

    ' Create column 1.
    column = New DataColumn()
    column.DataType = 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 = 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

Hinweise

Der Primärschlüssel einer Tabelle muss eindeutig sein, um den Datensatz in der Tabelle zu identifizieren.The primary key of a table must be unique to identify the record in the table. Es ist auch möglich, eine Tabelle mit einem Primärschlüssel zu haben, der aus mindestens zwei Spalten besteht.It's also possible to have a table with a primary key made up of two or more columns. Dies tritt auf, wenn eine einzelne Spalte nicht genügend eindeutige Werte enthalten kann.This occurs when a single column can't contain enough unique values. Beispielsweise kann ein Primärschlüssel mit zwei Spalten aus der Spalte "FirstName" und "LastName" bestehen.For example, a two column primary key might consist of a "FirstName" and "LastName" column. Da Primärschlüssel aus mehr als einer Spalte bestehen können, besteht die PrimaryKey -Eigenschaft aus einem Array von DataColumn -Objekten.Because primary keys can be made up of more than one column, the PrimaryKey property consists of an array of DataColumn objects.

Gilt für:

Siehe auch