SqlDataAdapter.Update()方法與SqlCommandBuilder

SqlDataAdapter操縱數據集時最常用到的就是Fill()Update()方法。

Fill()填充DataSetDataTable,Update()就是將DataSetDataTable中的改變更新到數據庫中。若沒有用Update()方法,DataSetDataTable中數據的改變並不會影響數據庫中的數據。

示例:用SqlDataAdapter填充DataTable,這裏用的是Northwind數據庫中的Employees

string strcon1 = "Data Source=.;Initial Catalog=Northwind;Integrated Security=True";

            using (SqlConnection conn = new SqlConnection(strcon1))

            {

                conn.Open();

                string strsql = "select * from employees";

                SqlCommand cmd = new SqlCommand(strsql, conn);

                 ad = new SqlDataAdapter();

                ad.SelectCommand = cmd;

                dt = new DataTable("employees");

                ad.Fill(dt);

                ds = new DataSet();

                ds.Tables.Add(dt);

                this.dataGridView1.DataSource = ds.Tables[employees];

           

增加一行記錄:

//新增加一行

                DataRow newRow = dt.NewRow();

                newRow["EmployeeID"] = 11;

                newRow["LastName"] = "Bill";

                newRow["FirstName"] = "Gata";

                dt.Rows.Add(newRow);

更新:用Update更新時提示要有SqlDataAdapterInsertCommand ,這裏我們可以用SqlCommandBuilder自動爲我們生成

                //使用SqlCommandBuilder自動生成帶有Insert語句的InsertCommand

                SqlCommandBuilder cb = new SqlCommandBuilder(ad);

                ad.InsertCommand = cb.GetInsertCommand();

                //DataSet中的數據更新到數據庫中

                ad.Update(ds, "employees");

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章