DataTable.PrimaryKey DataTable.PrimaryKey DataTable.PrimaryKey DataTable.PrimaryKey Property

Определение

Возвращает или задает массив столбцов, которые являются столбцами первичного ключа для таблицы данных.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()

Значение свойства

Массив объектов DataColumn.An array of DataColumn objects.

Исключения

Ключ является внешним ключом.The key is a foreign key.

Примеры

В первом примере показано, как вернуть первичные ключевые столбцы для элемента DataTable , отображаемого DataGridв.The first example shows how to return the primary key columns for a DataTable displayed in a DataGrid. Во втором примере показано, как задать столбцы первичного ключа для 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.
    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;
}
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 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

Комментарии

Первичный ключ таблицы должен быть уникальным для задания записи в таблице.The primary key of a table must be unique to identify the record in the table. Кроме того, можно создать таблицу с первичным ключом, состоящие из двух или более столбцов.It's also possible to have a table with a primary key made up of two or more columns. Это происходит, когда один столбец не может содержать достаточное количество уникальных значений.This occurs when a single column can't contain enough unique values. Например, два столбца первичного ключа могут состоять из столбцов «FirstName» и «LastName».For example, a two column primary key might consist of a "FirstName" and "LastName" column. Поскольку первичные ключи могут состоять более чем из одного столбца, PrimaryKey свойство состоит из DataColumn массива объектов.Because primary keys can be made up of more than one column, the PrimaryKey property consists of an array of DataColumn objects.

Применяется к

Дополнительно