用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"] = 11; 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