繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> Asp.Net开发 >> 为DataTable设置主键

为DataTable设置主键

2007-07-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:Gets or sets an array of columns that function as primary keys for the data table. [Visual Basic] Public Property PrimaryKey As DataColumn () [C#] [Serializable] public DataColumn[] PrimaryKey {g...
关键字:DataTable

Gets or sets an array of columns that function as primary keys for the data table.

[Visual Basic]

Public Property PrimaryKey As DataColumn ()

[C#]

[Serializable]

public DataColumn[] PrimaryKey {get; set;}

[C++]

[Serializable]

public: __property DataColumn* get_PrimaryKey();

public: __property void set_PrimaryKey(DataColumn*[]);

[JScript]

public

Serializable

function get PrimaryKey() : DataColumn[];

public function set PrimaryKey(DataColumn[]);

Property Value

An array of DataColumn objects.

Exceptions

Exception Type Condition

DataException The key is a foreign key.

Remarks

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. For example, a two column primary key might consist of a "FirstName" and "LastName" column. Because primary keys can be made up of more than one column, the PrimaryKey property consists of an array of DataColumn objects.

Example

[Visual Basic, C#] The first example shows how to return the primary key columns for a DataTable displayed in a DataGrid. The second example demonstrates how to set the primary key columns for a DataTable.

[Visual Basic]

Private Sub GetPrimaryKeys(myTable As DataTable)

' Create the array for the columns.

Dim colArr() As DataColumn

colArr = myTable.PrimaryKey

' Get the number of elements in the array.

Console.WriteLine("Column Count: " & colArr.Length.ToString())

Dim i As Integer

For i = 0 To colArr.GetUpperBound(0)

Console.WriteLine(colArr(i).ColumnName & colArr(i).DataType.ToString())

Next i

End Sub

Private Sub SetPrimaryKeys()

' Create a new DataTable and set two DataColumn objects as primary keys.

Dim myTable As DataTable = new DataTable()

Dim keys(2) As DataColumn

Dim myColumn As DataColumn

' Create column 1.

myColumn = New DataColumn()

myColumn.DataType = System.Type.GetType("System.String")

myColumn.ColumnName= "FirstName"

' Add the column to the DataTable.Columns collection.

myTable.Columns.Add(myColumn)

' Add the column to the array.

keys(0) = myColumn

' Create column 2 and add it to the array.

myColumn = New DataColumn()

myColumn.DataType = System.Type.GetType("System.String")

myColumn.ColumnName = "LastName"

myTable.Columns.Add(myColumn)

' Add the column to the array.

keys(1) = myColumn

' Set the PrimaryKeys property to the array.

myTable.PrimaryKey = keys

End Sub

[C#]

private void GetPrimaryKeys(DataTable myTable){

// Create the array for the columns.

DataColumn[] colArr;

colArr = myTable.PrimaryKey;

// Get the number of elements in the array.

Console.WriteLine("Column Count: " + colArr.Length);

for(int i = 0; i < colArr.Length; i++){

Console.WriteLine(colArr[i].ColumnName + colArr[i].DataType);

}

}

private void SetPrimaryKeys(){

// Create a new DataTable and set two DataColumn objects as primary keys.

DataTable myTable = new DataTable();

DataColumn[] keys = new DataColumn[2];

DataColumn myColumn;

// Create column 1.

myColumn = new DataColumn();

myColumn.DataType = System.Type.GetType("System.String");

myColumn.ColumnName= "FirstName";

// Add the column to the DataTable.Columns collection.

myTable.Columns.Add(myColumn);

// Add the column to the array.

keys[0] = myColumn;

// Create column 2 and add it to the array.

myColumn = new DataColumn();

myColumn.DataType = System.Type.GetType("System.String");

myColumn.ColumnName = "LastName";

myTable.Columns.Add(myColumn);

// Add the column to the array.

keys[1] = myColumn;

// Set the PrimaryKeys property to the array.

myTable.PrimaryKey = keys;

}

[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows .NET Server family

责任编辑:admin
相关文章