C#与数据库访问技术总结(十七)
生活随笔
收集整理的這篇文章主要介紹了
C#与数据库访问技术总结(十七)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用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對象訪問數據庫。
//省略獲得連接對象的代碼 …… //創建DataAdapter string sql= " select * from user "; SqlDataAdapter sda=new SqlDataAdapter(sql, conn); // 創建并填充Dataset DataSet 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創建了一個副本,用宋避免誤操作。
轉載于:https://www.cnblogs.com/zi-xing/p/4058529.html
總結
以上是生活随笔為你收集整理的C#与数据库访问技术总结(十七)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle修改统计信息收集时间以及窗口
- 下一篇: Android Download Man