DataAdapter對象代碼示例
下面的代碼将說明如何利用DataAdapter對象填充DataSet對象。
private static string strConnect=" data source=localhost;uid=sa;pwd=aspent;database=LOGINDB"
string sqlstr=" select * from USER ";
//利用構造函數,建立DataAdapter
SqlDataAdapter da=new SqlDataAdapter(sqlstr, strConnect);
// 建立DataSet
DataSet ds=new DataSet();
//填充,第一個參數是要填充的dataset對象,第二個參數是填充dataset的datatabble
da.Fill(ds, "USER" );
上述代碼使用DataApater對象填充DataSet對象的步驟如下。
(1)根據連接配接字元串和SQL語句,建立一個SqlDataAdapter對象。
這裡,雖然沒有出現Connection和Command對象的控制語句,但是SqlDataAdapter對象會在建立的時候, 自動構造對應的SqlConnection和SqlCommand對象,
同時根據連接配接字元串自動初始化連接配接。要注意的是,此時SqlConnection和SqlCommand對象都處于關閉狀态。
(2)建立DataSet對象,該對象需要用DataAdapter填充。
(3)調用DataAdapter的Fill方法,通過DataTable填充DataSet對象。
由于跟随DataAdapter對象建立的Command裡的SQL語句是通路資料庫裡的USER表,
是以在調用Fill方法的時候,在打開對應的SqlConnection和SqlCommand對象後,會用USER表的資料填充建立一個名為USER的DataTable對象,再用該DataTable填充到DataSet中。
下面的代碼示範了如何使用DataAdapter對象将DataSet中的資料更新到資料庫。
private static string strConnect=" data source=localhost;uid=sa;pwd=aspent;database=LOGINDB"
string sqlstr=" select * from USER ";
//利用構造函數,建立DataAdapter
SqlDataAdapter da=new SqlDataAdapter(sqlstr, strConnect);
// 建立DataSet
DataSet ds=new DataSet();
//填充,第一個參數是要填充的dataset對象,第二個參數是填充dataset的datatabble
da.Fill(ds, "USER" );
//以下代碼将更新DataSet裡的資料
//在DataSet裡的名為"USER"的DataTable裡添加一個用于描述行記錄的DataRow對象
DataRow dr=ds.Tables["USER"].NewRow();
//通過DataRow對象添加一條記錄
dr["USERID"]="ID2" ;
dr["USERNAME"]="TOM" ;
ds.Tables["USER"].Rows.Add(dr);
//更新到資料庫裡
SqlCommandBuilder scb=new SqlCommandBuilder(da);
da.update(ds, "USER");
在上述代碼裡,
首先使用DataAdapter填充DataSet對象,
然後通過DataRow對象,向DataSet添加一條記錄,
最後使用DataSet的update方法将添加的記錄送出到資料庫中。
執行完update語句,資料庫USER中就多了一條USERID是ID2、USERNAME是TOM的記錄。
此外,上述代碼出現的SqlCommandBuilder對象用來對資料表進行操作。
用了這個對象,就不必再繁瑣地使用DataAdapter的UpdataCommand屬性來執行更新操作。
轉載于:https://www.cnblogs.com/zi-xing/p/4058129.html