private void button2_Click(object sender, EventArgs e)
{
DataSet dataset=new DataSet();
string connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select * from t_persons";
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dataset);
DataTable table=dataset.Tables[0];
DataRow row=table.Rows[0];
row["name"]="rrr"; table.Rows.RemoveAt(1);
DataRow dr=table.NewRow(); SqlCommandBuilder builder=new SqlCommandBuilder(adapter);
adapter.Update(dataset);
// builder.GetUpdateCommand();
MessageBox.Show("修改成功");
}
}这里有几个不懂的地方想问一下:
1。 table.Rows.RemoveAt(1);
DataRow dr=table.NewRow();
这里是删除表中的第一行数据再添加新的一行数据吗为什么运行后没有什么变化2. adapter.Update(dataset);
// builder.GetUpdateCommand();
既然使用了SqlCommandBuilder,为什么不可以用这种方式更新: // builder.GetUpdateCommand();
要更新为什么不用update 删除用delete操作一个datatable 然后根据操作结果来更新~ 不蛋疼吗~?
DataRow dr=table.NewRow();
table.Rows.add(dr);