SqlDataAdapter.Update()方法与SqlCommandBuilder(转)

时间:2023-03-09 19:20:44
SqlDataAdapter.Update()方法与SqlCommandBuilder(转)

用SqlDataAdapter操纵数据集时最常用到的就是Fill()与Update()方法。
Fill()填充DataSet或DataTable,而Update()就是将DataSet或DataTable中的改变更新到数据库中。若没有用Update()方法,DataSet或DataTable中数据的改变并不会影响数据库中的数据。
示例:用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"] = ;
newRow["LastName"] = "Bill";
newRow["FirstName"] = "Gata";
dt.Rows.Add(newRow);

更新:用Update更新时提示要有SqlDataAdapter的InsertCommand ,这里我们可以用SqlCommandBuilder自动为我们生成

                //使用SqlCommandBuilder自动生成带有Insert语句的InsertCommand
SqlCommandBuilder cb = new SqlCommandBuilder(ad);
ad.InsertCommand = cb.GetInsertCommand();
//将DataSet中的数据更新到数据库中
ad.Update(ds, "employees");

}

在CSDN博客上看到的,感觉不错,就转过来了。

原文地址:http://blog.csdn.net/highplayer/article/details/6563238