將 DataTable 加入至 DataSet (ADO.NET)
ADO.NET 可讓您建立 DataTable 物件,並將它們加入現有的 DataSet。 您可以使用 PrimaryKey 和 Unique 屬性,為 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 中可能有兩個或兩個以上具有相同名稱,但不同大小寫的資料表或關聯。 在這種情況下,按照資料表和關聯名稱進行參考時是區分大小寫的。 例如,如果 DataSet dataSet 包含資料表 Table1 和 table1,則您應該以類似 dataSet.Tables["Table1"] 的名稱參考 Table1,並以 dataSet.Tables["table1"] 參考 table1。 如果嘗試以 dataSet.Tables["TABLE1"] 參考任何一個資料表,都會產生例外狀況。
如果只有一個具有特定名稱的資料表或關聯,則不適用區分大小寫規則。 例如,如果 DataSet 只有 Table1,則可以使用 dataSet.Tables["TABLE1"] 來參考它。
注意事項 |
---|
DataSet 的 CaseSensitive 屬性不會影響這項行為。CaseSensitive 屬性會套用至 DataSet 內的資料,並影響排序、搜尋、篩選、強制執行條件約束等方面。 |
命名空間支援
在 2.0 之前的 ADO.NET 版本中,兩個資料表不能有相同的名稱,即使它們在不同的命名空間也一樣。 ADO.NET 2.0 已移除這項限制。 DataSet 可能會包含兩個 TableName 屬性值相同,但 Namespace 屬性值不同的資料表。