DataTable.PrimaryKey Właściwość

Definicja

Pobiera lub ustawia tablicę kolumn, które działają jako klucze podstawowe dla tabeli danych.

C#
[System.ComponentModel.TypeConverter(typeof(System.Data.PrimaryKeyTypeConverter))]
public System.Data.DataColumn[] PrimaryKey { get; set; }
C#
public System.Data.DataColumn[] PrimaryKey { get; set; }
C#
[System.ComponentModel.TypeConverter(typeof(System.Data.PrimaryKeyTypeConverter))]
[System.Data.DataSysDescription("DataTablePrimaryKeyDescr")]
public System.Data.DataColumn[] PrimaryKey { get; set; }

Wartość właściwości

Tablica DataColumn obiektów.

Atrybuty

Wyjątki

Klucz jest kluczem obcym.

Przykłady

W pierwszym przykładzie pokazano, jak zwrócić kolumny klucza podstawowego dla elementu DataTable wyświetlanego w obiekcie DataGrid. W drugim przykładzie pokazano, jak ustawić kolumny klucza podstawowego dla elementu DataTable.

C#
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;
}

Uwagi

Klucz podstawowy tabeli musi być unikatowy, aby zidentyfikować rekord w tabeli. Istnieje również możliwość utworzenia tabeli z kluczem podstawowym składającym się z co najmniej dwóch kolumn. Dzieje się tak, gdy jedna kolumna nie może zawierać wystarczającej liczby unikatowych wartości. Na przykład dwukolumny klucz podstawowy może składać się z kolumny "OrderNumber" i "ProductID". Ponieważ klucze podstawowe mogą składać się z więcej niż jednej kolumny, PrimaryKey właściwość składa się z tablicy DataColumn obiektów.

Dotyczy

Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Zobacz też