一般來說,用SqlDataAdapter要和DataSet連用,用SqlDataAdapter來獲得資料庫中的資料,填充至DataSet中。
首先,為了從SQL資料庫執行select查詢,你需要通過連接字串建立一個串連到資料庫的SqlConnection對象, 然後構造一個包含查詢語句的SqlDataAdapter對象。為了用查詢的返回結果填充到DataSet 對象,需要調用SqlDataAdapter的Fill方法。
注意的幾個重點方法:
SqlConnection sConn=“Server=local;database=pubs;Trusted_Connection=yes);“
SqlDataAdapter sda=SqlDataAdapter(“Select * from sales“,sConn);
DataSet ds= new DataSet();
sda.Fill(ds,“sales“);
sda.Dispose();
這樣一來,就把pubs當中的資料表sales給賦值到ds中去了。最後,把sda與資料庫的串連斷掉。
附帶的好幾種寫法:
SqlDataAdapter sda=SqlDataAdapter(“Select * from sales“,sConn);
可以寫成:
SqldataAdapter sda=sqlDataAdapter();
sda.SelectCommand = new SqlCommand(“Select * from sales“,sConn);
DataSet ds= new DataSet();
sda.Fill(ds,“sales“);
可以寫成:
DataSet ds= new DataSet(“sales“);
sda.Fill(ds);
DataSet與控制項的綁定:
一般與DataGrid的綁定:
DataGrid1.DataSource = ds.tables[“sales“].DefautView; //或ds.tables[0].DefautView;
DataGrid1.DataBind();
DataSet的多資料表的綁定:
SqlConnection sConn=“Server=local;database=pubs;Trusted_Connection=yes);“
SqlDataAdapter sda=SqlDataAdapter(“Select * from sales“,sConn);
DataSet ds= new DataSet();
sda.Fill(ds,“sales“); //把sales表填入ds
sda.Dispose();
sda.SelectCommand=new SqlCommand(“Select * from authors“,sConn);
sda.Fill(ds,“authors“); //把authors表填入ds
DataGrid1.DataSource=ds.tables["sales"].DefaultView;
DataGrid1.DataBind();
DataGrid2.DataSource=ds.tables["authors"].DefaultView;
Datagrid2.DataBind();
Command對象和DataAdapter對象之間的區別:
Command對象用於運行命令,DataAdapter對象用於為多個命令提供儲存空間。DataAdapter對象具有SelectCommand,UpdateCommand,InsertCommand,DeleteCommand 四個屬性,這些屬性可以儲存Command對象。