標籤:style blog ar color 使用 sp strong on 資料
使用DataSet對象訪問資料庫
當對DataSet對象進行操作時,DataSet對象會產生副本,所以對DataSet裡的資料進行編輯操作不會直接對資料庫產生影響,而是將DataRow的狀態設定為added、deleted或changed,最終的更新資料來源動作將通過DataAdapter對象的update方法來完成。
DataSet對象的常用方法如下。
- void AcceptChanges():該方法用來提交DataSet裡的資料變化。
- void clear():該方法用來清空DataSet裡的內容。
- DataSet copy():該方法把DataSet的內容複寫到其他DataSet中。
- DataSet GetChanges():該方法用來獲得在DataSet裡已經被更改後的資料行,並把這些行填充到Dataset裡返回。
- bool HasChanges():如果DataSet在建立後或執行AcceptChanges後,其中的資料沒有發生變化,返回True,否則返回False。
- void RejectChanges():該方法撤銷DataSet自從建立或調用AcceptChanges方法後的所有變化。
DataSet對象一般是和DataAdapter對象配合使用。
下面的代碼示範了如何綜合使用DataSet和DataAdapter對象訪問資料庫。
//省略獲得連線物件的代碼 ……//建立DataAdapterstring sql= " select * from user ";SqlDataAdapter sda=new SqlDataAdapter(sql, conn);// 建立並填充DatasetDataSet ds=new DataSet();sda.fill(ds, "user");//給Dataset建立一個副本,操作對副本進行,以免因誤操作而破壞資料DataSet dsCopy=ds.Copy();DataTable dt=ds.Table["user"];//對DataTable中的DataRow和DataColumn對象進行操作……//最後將更新提交到資料庫中sda.update(ds, "user");
上述代碼的主要商務程序如下。
(1)建立DataAdapter和DataSet對象,並用DataAdapter的SQL語句產生的表填充到 DataSet的DataTable中。
(2)使用DataTable對錶進行操作,例如做增、刪、改等動作。
(3)使用DataAdapter的update語句將更新後的資料提交到資料庫中。
另外,上述代碼在操作DataSet前,為DataSet建立了一個副本,用宋避免誤操作。
C#與資料庫訪問技術總結(十七)