导入数据行后(importrow)为什么不能更新到数据库(在线)
SqlDataAdapter da = new SqlDataAdapter("select * from fzsdb", datacn.cn);
SqlCommandBuilder scb = new SqlCommandBuilder(da);
DataSet dsa = new DataSet();
datacn.cn.Close();
da.Fill(dsa, "fzsdb");
DataTable fzsdb = dsa.Tables["fzsdb"];
foreach (DataRow dr in dt.Rows)
{
fzsdb.ImportRow(dr);
}
fzsdb.AcceptChanges();
a.Update(dsa.Tables["fzsdb"] );
[解决办法]
具体代码应该是下面这样吧:
SqlDataAdapter da = new SqlDataAdapter("select * from fzsdb", datacn.cn);
SqlCommandBuilder scb = new SqlCommandBuilder(da);
DataSet dsa = new DataSet();
datacn.cn.Open();
da.Fill(dsa, "fzsdb");
DataTable fzsdb = dsa.Tables["fzsdb"];
foreach (DataRow dr in dt.Rows)
{
fzsdb.ImportRow(dr)
}
fzsdb.AcceptChanges();
da.Update(fzsdb );
SqlDataAdapter da = new SqlDataAdapter("select * from fzsdb", datacn.cn);
SqlCommandBuilder scb = new SqlCommandBuilder(da);
DataSet dsa = new DataSet();
//datacn.cn.Close();//这个关太早了吧。
da.Fill(dsa, "fzsdb");
DataTable fzsdb = dsa.Tables["fzsdb"];
foreach (DataRow dr in dt.Rows)
{
fzsdb.ImportRow(dr);
}
a.Update(dsa.Tables["fzsdb"] );
datacn.cn.Close();//这句也置后
fzsdb.AcceptChanges(); //这句要放后面。