DataTable.PrimaryKey-Eigenschaft
Ruft ein Array von Spalten ab, die als Primärschlüssel für die Datentabelle verwendet werden, oder legt dieses fest.
Namespace: System.Data
Assembly: System.Data (in system.data.dll)
Syntax
'Declaration
Public Property PrimaryKey As DataColumn()
'Usage
Dim instance As DataTable
Dim value As DataColumn()
value = instance.PrimaryKey
instance.PrimaryKey = value
public DataColumn[] PrimaryKey { get; set; }
public:
property array<DataColumn^>^ PrimaryKey {
array<DataColumn^>^ get ();
void set (array<DataColumn^>^ value);
}
/** @property */
public DataColumn[] get_PrimaryKey ()
/** @property */
public void set_PrimaryKey (DataColumn[] value)
public function get PrimaryKey () : DataColumn[]
public function set PrimaryKey (value : DataColumn[])
Eigenschaftenwert
Ein Array von DataColumn-Objekten.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Der Schlüssel ist ein Fremdschlüssel. |
Hinweise
Der Primärschlüssel einer Tabelle muss für die Kennzeichnung des Datensatzes in der Tabelle eindeutig sein. Eine Tabelle kann auch einen Primärschlüssel enthalten, der aus zwei oder mehr Spalten besteht. Dies kann der Fall sein, wenn eine einzelne Spalte keine ausreichende Anzahl eindeutiger Werte enthalten kann. Ein zweispaltiger Primärschlüssel kann z. B. aus den Spalten "FirstName" und "LastName" bestehen. Da Primärschlüssel aus mehr als einer Zeile bestehen können, besteht die PrimaryKey-Eigenschaft aus einem Array von DataColumn-Objekten.
Beispiel
Im ersten Beispiel wird die Rückgabe der Primärschlüsselspalten für eine DataTable gezeigt, die in einem DataGrid angezeigt wird. Im zweiten Beispiel wird das Festlegen der Primärschlüsselspalten für eine DataTable veranschaulicht.
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 DataTable = 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
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;
}
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
DataTable-Klasse
DataTable-Member
System.Data-Namespace
DataColumn-Klasse
DataTable.PrimaryKey-Eigenschaft
DataColumnCollection-Klasse