.Net 中DataSet和DataTable的 区别与联系
1、簡要說明二者關系
???????在我們編寫代碼的時候從數據庫里取出數據,填充到dataset里,再根據表的名字,實例化到 datatable 中。其實使用 dataset 相當于所使用數據庫中數據的副本,保存在服務器的內存中。
? ? ? ?●注意如下 Ado.net 關系:?
????????Connection_____Command____DataAdapter____Dataset??_____Datareader
???????● DataSet 是放在內存中的,對DataSet中數據的修改并不直接反應到數據庫,要通過 DataAdapter 的 Update 方法更新回數據庫
? ? ? ?● DataSet相當你用的數據庫;?DataTable相當于你的表。一個 DataSet 可以包含多個 DataTable
????DataSet 由表、關系和約束的集合組成。在 ADO.NET 中,DataTable對象用于表示 DataSet?中的表。DataTable 表示一個內存內關系數據的表;
2.以下代碼示例演示如何構造DataSet?,DataTable?的實例關系。?
?
Dim Ds As DataSet = New DataSet( "enUser ")
以下示例構造一個 DataSet,將一個新的?? DataTable??對象添加到該?? DataSet??中,然后將三個?? DataColumn??對象添加到該表中。最后,該代碼將一個列設置為主鍵列。
?
?
Dim Ds As DataSet = New DataSet( "enUser ")Dim ordersTable As DataTable = Ds.Tables.Add( "enUser ")Dim pkCol 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() {pkCol}?
?
3. DataSet中Table1、table1的大小寫關系
????????按名稱引用DataSet中的表和關系是區分大小寫的。一個DataSet 中可以存在兩個或更多個名稱相同但大小寫不同的表或關系。例如,可以有?? Table1?? 和?? table1。在這種情況下,對其中一個表的按名稱引用必須精確匹配該表名稱的大小寫,否則會引發異常。例如,如果?? DataSet?? myDs?包含表??Table1?? 和?? table1,則會按名稱將?? Table1?? 當作?? myDS.Tables[ "Table1"]?? 來引用,而將?? table1?? 當作?? myDS.Tables?? ["table1 "]?? 來引用。如果試圖將其中任一個表當作?? myDS.Tables?? ["TABLE1 "]?? 來引用,則會生成異常。
?
如果只存在一個具有特定名稱的表或關系,則區分大小寫規則不適用。也就是說,如果?DataSet?中沒有其他任何表或關系對象匹配該特定表或關系對象的名稱,那么即使大小寫不同,仍可以按采用任何大小寫的名稱來引用該對象,而不會引發異常。例如,如果?? DataSet?? 只包含?? Table1,則可以使用?? myDS.Tables[ "TABLE1"]?? 來引用它。
以上是對.Net 中DataSet和DataTable的 區別與聯系的總結,如有不足之處,還請批評與指教。
?
轉載于:https://www.cnblogs.com/dyllove98/p/3243936.html
總結
以上是生活随笔為你收集整理的.Net 中DataSet和DataTable的 区别与联系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记录ionic 最小化应用时所遇的问题
- 下一篇: Flink Kafka consumer