DataTable.PrimaryKey Özellik

Tanım

Veri tablosu için birincil anahtar olarak işlev gösteren bir sütun dizisi alır veya ayarlar.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); };
public System.Data.DataColumn[] PrimaryKey { get; set; }
[System.ComponentModel.TypeConverter(typeof(System.Data.PrimaryKeyTypeConverter))]
[System.Data.DataSysDescription("DataTablePrimaryKeyDescr")]
public System.Data.DataColumn[] PrimaryKey { get; set; }
[System.ComponentModel.TypeConverter(typeof(System.Data.PrimaryKeyTypeConverter))]
public System.Data.DataColumn[] PrimaryKey { get; set; }
member this.PrimaryKey : System.Data.DataColumn[] with get, set
[<System.ComponentModel.TypeConverter(typeof(System.Data.PrimaryKeyTypeConverter))>]
[<System.Data.DataSysDescription("DataTablePrimaryKeyDescr")>]
member this.PrimaryKey : System.Data.DataColumn[] with get, set
[<System.ComponentModel.TypeConverter(typeof(System.Data.PrimaryKeyTypeConverter))>]
member this.PrimaryKey : System.Data.DataColumn[] with get, set
Public Property PrimaryKey As DataColumn()

Özellik Değeri

DataColumn[]

DataColumnNesne dizisi.An array of DataColumn objects.

Öznitelikler

Özel durumlar

Anahtar bir yabancı anahtardır.The key is a foreign key.

Örnekler

İlk örnek, ' de görüntülenmek üzere birincil anahtar sütunlarının nasıl döndürülmediğini gösterir DataTable DataGrid .The first example shows how to return the primary key columns for a DataTable displayed in a DataGrid. İkinci örnekte, için birincil anahtar sütunlarının nasıl ayarlanacağı gösterilmektedir DataTable .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

Açıklamalar

Tablodaki kaydı tanımlamak için bir tablonun birincil anahtarı benzersiz olmalıdır.The primary key of a table must be unique to identify the record in the table. Birincil anahtarı iki veya daha fazla sütundan oluşan bir tablo olması da mümkündür.It's also possible to have a table with a primary key made up of two or more columns. Bu, tek bir sütun yeterli benzersiz değer içeremediğinde meydana gelir.This occurs when a single column can't contain enough unique values. Örneğin, iki sütunlu birincil anahtar bir "OrderNumber" ve "ProductID" sütunundan oluşabilir.For example, a two column primary key might consist of an "OrderNumber" and "ProductID" column. Birincil anahtarlar birden fazla sütundan oluşabileceğinden, PrimaryKey özelliği bir nesne dizisinden oluşur DataColumn .Because primary keys can be made up of more than one column, the PrimaryKey property consists of an array of DataColumn objects.

Şunlara uygulanır

Ayrıca bkz.