2010-01-18 42 views

回答

5

當然,檢查這裏:

http://msdn.microsoft.com/en-us/library/system.data.datatable.primarykey(VS.71).aspx

// Create a new DataTable and set two DataColumn objects as primary keys. 
    DataTable myTable = new DataTable(); 
    DataColumn[] keys = new DataColumn[1]; 
    DataColumn myColumn = new DataColumn(); 
    myColumn.DataType = System.Type.GetType("System.Guid"); 
    myColumn.ColumnName= "ID"; 
    // Add the column to the DataTable.Columns collection. 
    myTable.Columns.Add(myColumn); 
    keys[0] = myColumn; 
    // Set the PrimaryKeys property to the array. 
    myTable.PrimaryKey = keys; 
+0

的PrimaryKey的屬性是一個DataColumn [],即時得到從代碼的errror。 – 2010-01-18 05:30:49

+0

對不起,給一個鏡頭。這是一個數組,因爲您可以設置多列主鍵。 – CSharper 2010-01-18 05:35:19

+0

非常好,它的工作原理!謝啦! – 2010-01-18 05:41:19

1

一種選擇是通常具有)主密鑰作爲NEWID(的值GUID分配給聲明爲唯一標識符數據的可變鍵入

另一種選擇是使用sqlserver中提供的這個NEWSEQUENTIALID()函數的順序GUID。 但MSDN聲明:如果隱私是一個問題,請不要使用此功能。可以猜測下一個生成的GUID的值,因此可以訪問與該GUID相關的數據。使用NEWID(SqlQuery類的

實施例)

CREATE TABLE cust 
(
CustomerID uniqueidentifier NOT NULL 
    DEFAULT newid(), 
Company varchar(30) NOT NULL, 
ContactName varchar(60) NOT NULL, 
Address varchar(30) NOT NULL, 
City varchar(30) NOT NULL, 
StateProvince varchar(10) NULL, 
PostalCode varchar(10) NOT NULL, 
CountryRegion varchar(20) NOT NULL, 
Telephone varchar(15) NOT NULL, 
Fax varchar(15) NULL 
)