ASP.NET動態網站開發培訓-32.ADO.NET技術(四、SqlDataAdapter類與DataSet類)

人生不再重來發表於2014-11-16

第三十二講:ADO.NET技術(四、SqlDataAdapter類與DataSet類)

課程安排:

SqlDataAdapter類

DataSet類

通過Fill方法,填充DataSet

將DataSet與GridView繫結


SqlDataAdapter類

SqlDataAdapter類是記憶體與資料庫之間的橋樑。


建立SqlDataAdapter類的物件

SqlDataAdapter sda = new SqlDataAdapter(cmd);  //建構函式有一個引數,是SqlCommand物件。

SqlDataAdapter sda = new SqlDataAdapter(sql,cn); //sql是一條select語句。cn是連線物件。


DataSet類

DataSet是ADO.NET中的核心物件。所有複雜級別的操作都使用它。 

DataSet包含一組DataTable物件,它們表示被操作的資料庫表。

DataTable由DataRow組成。


建立一個DataSet類的物件

DataSet ds = new DataSet();


//獲取第一個表中,第2行,第2列的資料。

Response.Write(ds.Tables[0].Rows[1][1]);


通過Fill方法,填充DataSet

//使用SqlDataAdapter類的Fill方法,填充到DataSet物件例項中。

sda.Fill(ds,"aaa");


列印aaa表中的所有人名。

foreach(Datarow theRow in ds.Tables["aaa".Rows]
{
    Response.Write(theRow["Name"] + "<br/>");
}

完整程式碼:

        using (SqlConnection cn = new SqlConnection())
        {
            cn.ConnectionString = ConfigurationManager.ConnectionStrings["TestCN"].ConnectionString;
            cn.Open();

            using (SqlCommand cmd = cn.CreateCommand())
            {
                cmd.CommandText = "SELECT * FROM Taa";
                cmd.CommandType = System.Data.CommandType.Text;

                using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
                {
                    using (DataSet ds = new DataSet())
                    {
                        sda.Fill(ds, "abc");
                        foreach (DataRow dr in ds.Tables["abc"].Rows)  //ds.Tables[0].Rows也可以
                        {
                            Response.Write(dr["name"] + "<br/>");
                        }
                    }
                }
            }
        }


將DataSet與GridView繫結

 GridView1.DataSource = ds.Tables[0];
 GridView1.DataBind();


考慮到程式碼重用性,可手動編寫SqlHelper類,實現程式碼重用。

相關文章