DataTable.PrimaryKey Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece una matriz de columnas que funcionan como claves principales para la tabla de datos.
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))]
public System.Data.DataColumn[] PrimaryKey { get; set; }
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))>]
member this.PrimaryKey : System.Data.DataColumn[] with 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
Public Property PrimaryKey As DataColumn()
Valor de propiedad
Matriz de objetos DataColumn.
- Atributos
Excepciones
Se trata de una clave externa.
Ejemplos
En el primer ejemplo se muestra cómo devolver las columnas de clave principal de un DataTable objeto mostrado en .DataGrid
En el segundo ejemplo se muestra cómo establecer las columnas de clave principal para .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
Comentarios
La clave principal de una tabla debe ser única para identificar el registro de la tabla. También es posible tener una tabla con una clave principal formada por dos o más columnas. Esto ocurre cuando una sola columna no puede contener suficientes valores únicos. Por ejemplo, una clave principal de dos columnas puede constar de una columna "OrderNumber" y "ProductID". Dado que las claves principales se pueden componer de más de una columna, la PrimaryKey propiedad consta de una matriz de DataColumn objetos.