为DataTable设置主键
点击次数:24 次 发布日期:2008-11-27 01:26:17 作者:源代码网
|
[Visual Basic] <Serializable> 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 源代码网供稿. |
