程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> SqlDataAdapter與DataSet 使用基礎教程

SqlDataAdapter與DataSet 使用基礎教程

編輯:關於C#
 

 DataSet是ADO.NET的中心概念。可以把DataSet當成內存中的數據庫,DataSet是不依賴於數據庫的獨立數據集合。所謂獨立,就是說,即使斷開數據鏈路,或者關閉數據庫,DataSet依然是可用的,DataSet在內部是用XML來描述數據的,由於XML是一種與平台無關、與語言無關的數據描述語言,而且可以描述復雜關系的數據,比如父子關系的數據,所以DataSet實際上可以容納具有復雜關系的數據,而且不再依賴於數據庫鏈路。

       DataSet 是 ADO. NET 結構的主要組件,它是從數據源中檢索到的數據在內存中的緩存。DataSet 由一組 DataTable 對象組成:

dataset所有數據都加載在內存上執行的,可以提高數據訪問速度,提高硬盤數據的安全性。極大的改善了程序運行的速度和穩定性。

     因為DataSet可以看做是內存中的數據庫,也因此可以說DataSet是數據表的集合,它可以包含任意多個數據表(DataTable),而且每一 DataSet中的數據表(DataTable)對應一個數據源中的數據表(Table)或是數據視圖(View)。數據表實質是由行(DataRow)和 列(DataColumn)組成的集合為了保護內存中數據記錄的正確性,避免並發訪問時的讀寫沖突,DataSet對象中的DataTable負責維護每一條記錄,分別保存記錄的初始狀態和當前狀態。從這裡可以看出DataSet是與只能存放單張數據表的Recordset是截然不同的概念。 DataSet對象的三大特性 (1) 獨立性。DataSet獨立於各種數據源。   (2) 離線(斷開)和連接。   (3) DataSet對象是一個可以用XML形式表示的數據視圖,是一種數據關系視圖。 DataSet使用方法 (1) 把數據庫中的數據通過DataAdapter對象填充DataSet。   (2) 通過DataAdapter對象操作DataSet實現更新數據庫。   (3) 把XML數據流或文本加載到DataSet

SqlDataAdapter是 DataSet和 SQL Server之間的橋接器,用於檢索和保存數據。SqlDataAdapter通過對數據源使用適當的Transact-SQL語句映射 Fill(它可更改DataSet中的數據以匹配數據源中的數據)和 Update(它可更改數據源中的數據以匹配 DataSet中的數據)來提供這一橋接。當SqlDataAdapter填充 DataSet時,它為返回的數據創建必需的表和列(如果這些表和列尚不存在)。

問:什麼是DataAdapter?   答:DataAdapter對象在DataSet與數據之間起橋梁作用 提示:     你如果只需要執行SQL,就沒必要用到DataAdapter     直接cmd.ExecuteNoQuery()就OK了         sqlDataadapter的作用是實現Dataset和DB之間的橋梁     比如將對DataSet的修改更新到數據庫     如果只是執行一句SQL或SP,用SqlCommand的Execute系列方法就可以了      SqlDataAdapter的UpdateCommand的執行機制是     當調用SqlDataAdapter.Update()時,檢查DataSet中的所有行,然後對每一個修改過的Row執行SqlDataAdapter.UpdateCommand     以就是說如果未修改DataSet重的數據,SqlDataAdapter.UpdateCommand是不可能執行的
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved