一个关于违反并发性的问题
我在参考数据库书时,第一次遇到这样的问题,书本上没有这方面的介绍,网上说有3种可能,1.没设主键(我已经设主键了)2.DeleteCommandde的问题(我没用到这个属性)3.是UpdataCommand的问题(这个我已经确定了)。下面是代码,我想让大虾们帮我修正一下……并指出问题以及原理
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand(qry, conn);
DataSet ds = new DataSet();
da.Fill(ds, "student");
DataTable dt = ds.Tables["student"];
dt.Rows[3]["Name"] = "周永鹏";
foreach (DataRow row in dt.Rows)
{
Console.WriteLine("{0}\t{1}\t{2}", row["Name"], row["Age"].ToString(), row["ID"]);
}
SqlCommand cmd = new SqlCommand(upd, conn);
cmd.Parameters.Add("@Name", SqlDbType.NVarChar, 10, "Name");
SqlParameter parm = cmd.Parameters.Add("@ID", SqlDbType.NVarChar, 10, "ID");
parm.SourceVersion = DataRowVersion.Original;
da.UpdateCommand = cmd;
da.Update(ds, "student");