关于更新数据库的问题
下面的代码是关于数据库更新的,它可以向数据库添加一行数据,但对其中某行中的一个字段的值进行修改后,被修改的值可以在数据集中更新,却不能在数据库中更新!请高手指点一下!非常感谢!!!!!
SqlConnection conn;
SqlDataAdapter da;
DataSet ds = new DataSet();
CurrencyManager cm;
private void btnGetData_Click(object sender, System.EventArgs e)
{
string connString = "Data Source = C1;"+
"Initial Catalog = d1;"+
"User ID = d1adm;"+
"Password = password";
conn = new SqlConnection(connString);
conn.Open();
da = new SqlDataAdapter("select * from products",conn);
SqlCommandBuilder sb = new SqlCommandBuilder(da);
da.Fill(ds,"products");
dataGrid1.DataSource = ds;
cm = (CurrencyManager)this.BindingContext[ds,"products"];
}
//下面的代码可以正确添加数据到数据库
private void btnAdd_Click(object sender, System.EventArgs e)
{
DataRow row = ds.Tables["products"].NewRow();
row["product_id"]="123";
row["product_name"]="zk";
row["description"]="description";
ds.Tables["products"].Rows.Add(row);
da.Update(ds,"products");
}
//下面的代码不能将修改的数据在数据库中更新
private void btnEdit_Click(object sender, System.EventArgs e)
{
cm.Position = 0;
DataTable dt = ds.Tables["products"];
DataRow row = dt.Rows[cm.Position];
row.BeginEdit();
row["product_id"]="234";
row.EndEdit();
dt.AcceptChanges();
da.Update(ds,"products");
}