共用方式為


將 DataTable 加入至 DataSet (ADO.NET)

更新: November 2007

ADO.NET 可讓您建立 DataTable 物件,並將它們加入現有的 DataSet。您可以使用 PrimaryKeyUnique 屬性,為 DataTable 設定條件約束 (Constraint) 資訊。

範例

下列範例會建構 DataSet、將新的 DataTable 物件加入至 DataSet,然後再將三個 DataColumn 物件加入至資料表。最後,程式碼會將一個資料行設定為主索引鍵資料行。

Dim customerOrders As DataSet = New DataSet("CustomerOrders")

Dim ordersTable As DataTable = customerOrders.Tables.Add("Orders")

Dim pkOrderID As DataColumn = ordersTable.Columns.Add( _
    "OrderID", Type.GetType("System.Int32"))
ordersTable.Columns.Add("OrderQuantity", Type.GetType("System.Int32"))
ordersTable.Columns.Add("CompanyName", Type.GetType("System.String"))

ordersTable.PrimaryKey = New DataColumn() {pkOrderID}
DataSet customerOrders = new DataSet("CustomerOrders");

DataTable ordersTable = customerOrders.Tables.Add("Orders");

DataColumn pkOrderID = 
    ordersTable.Columns.Add("OrderID", typeof(Int32));
ordersTable.Columns.Add("OrderQuantity", typeof(Int32));
ordersTable.Columns.Add("CompanyName", typeof(string));

ordersTable.PrimaryKey = new DataColumn[] { pkOrderID };

區分大小寫

DataSet 中可能有兩個或兩個以上具有相同名稱,但不同大小寫的資料表或關聯。在這種情況下,按照資料表和關聯名稱進行參考時是區分大小寫的。例如,如果 DataSetdataSet 包含資料表 Table1table1,則您應該以類似 dataSet.Tables["Table1"] 的名稱參考 Table1,並以 dataSet.Tables["table1"] 參考 table1。如果嘗試以 dataSet.Tables["TABLE1"] 參考任何一個資料表,都會產生例外狀況。

如果只有一個具有特定名稱的資料表或關聯,則不適用區分大小寫規則。例如,如果 DataSet 只有 Table1,則可以使用 dataSet.Tables["TABLE1"] 來參考它。

注意事項:

DataSetCaseSensitive 屬性不會影響這項行為。CaseSensitive 屬性會套用至 DataSet 內的資料,並影響排序、搜尋、篩選、強制執行條件約束等方面。

命名空間支援

在 2.0 之前的 ADO.NET 版本中,兩個資料表不能有相同的名稱,即使它們在不同的命名空間也一樣。ADO.NET 2.0 已移除這項限制。DataSet 可能會包含兩個 TableName 屬性值相同,但 Namespace 屬性值不同的資料表。

請參閱

其他資源

DataSet、DataTable 及 DataView (ADO.NET)