日期:2014-05-17  浏览次数:20415 次

datatable合并后,sqldataadapter.update没有反应啊!
string constring = ConfigurationManager.AppSettings["ConString"];
            using (SqlConnection conn = new SqlConnection(constring))
            {
                conn.Open();
                SqlDataAdapter da = new SqlDataAdapter("select * from t_tmp", conn);
                DataSet ds = new DataSet("table");
                da.Fill(ds, "table");
                SqlDataAdapter da2 = new SqlDataAdapter("select * from t_citycode where citycode='11'", conn);
                DataSet ds2 = new DataSet("table2");
                da2.Fill(ds2,"table2");

                ds.Tables[0].Merge(ds2.Tables[0], true);
                
                SqlCommandBuilder cb = new SqlCommandBuilder(da);
                da.InsertCommand = cb.GetInsertCommand();
                Response.Write(cb.GetInsertCommand().CommandText);
                da.Update(ds.Tables[0]);
                ds.Tables[0].AcceptChanges();
                gv.DataSource = ds;
                gv.DataBind();
                conn.Close();
            }  

很简单的代码,合并后,datagridview也就是GV是可以显示两个两个表合并后的数据的,但是update后,数据库中的信息是没有一丁点改变的,请问是什么原因?
datatable 合并

------解决方案--------------------
1. 两表的结构一样吗?不一样是不可以的,数据类型的顺序也得一样,否则要转换.
2. 合并前是否有记录集?