SqlDataAdapter

SqlDataAdapter

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

簡介


SqlDataAdapter
SqlDataAdapter
但是,除非 MissingSchemaAction,否則這個隱式創建的架構中不包括主鍵信息。也可以使用FillSchema,讓 SqlDataAdapter創建 DataSet的架構,並在用數據填充它之前就將主鍵信息包括進去。
DataSet
作用:DataSet,DataAdapter讀取數據。
問:什麼是DataAdapter?
答:DataAdapter對象在DataSet與數據之間起橋樑作用
string strConn="uid=賬號;pwd=密碼;database=資料庫;server=伺服器";//SQL Server鏈接字元串
SqlConnection ConnSql=new SqlConnection (strConn); //Sql鏈接類的實例化
ConnSql.Open ();//打開資料庫//使用SqlDataAdapter時沒有必要從Connection.open()打開,SqlDataAdapter會自動打開關閉它。
string strSQL="SELECT * FROM 表名1 "; //要執行的SQL語句
SqlDataAdapter da=new SqlDataAdapter(strSQL,ConnSql); //創建DataAdapter數據適配器實例
DataSet ds=new DataSet();//創建DataSet實例
da.Fill(ds,"自定義虛擬表名");//使用DataAdapter的Fill方法(填充),調用SELECT命令
ConnSql.Close ();//關閉資料庫

提示


如果只需要執行SQL語句或SP,就沒必要用到DataAdapter ,直接用SqlCommand的Execute系列方法就可以了。sqlDataadapter的作用是實現Dataset和DB之間的橋樑:比如將對DataSet的修改更新到資料庫。
SqlDataAdapter的UpdateCommand的執行機制是:當調用SqlDataAdapter.Update()時,檢查DataSet中的所有行,然後對每一個修改過的Row執行SqlDataAdapter.UpdateCommand ,也就是說如果未修改DataSet中的數據,SqlDataAdapter.UpdateCommand不會執行。

結尾


有關更多信息,請參見 向 DataSet添加現有約束。SqlDataAdapter與 SqlConnection 和 SqlCommand 一起使用,以便在連接到 SQL Server 資料庫時提高性能。 SqlDataAdapter 還包括 SelectCommand、InsertCommand、DeleteCommand、UpdateCommand和 TableMappings屬性,