请教各位数据库表里数据如何合并
我现在有两个数据库,一个是放在中心服务器,一个放在客户端,中心服务器的数据库不暴露在网络里,只能通过webservice访问.
两个数据库的数据经常会不同,所以客户端每次连中心服务器前,都要做一次数据库同步,把指定时间以后的数据下载到本地.
我现在的做法是 客户端一连线,就调用webservice方法, 把中心服务器最新的数据生成一个 dataset 返回,然后 客户端再用一个dataset与之合并, 然后再调用 dataste 的update 方法,更新进本地数据库.我觉得这个效率会比较高一点
但是发现两个dataset 合并后,用update 无法更新进数据库
我跟踪发现合并过来的 row , rowstatue 是 unchanged ,是不是因为这个原因无法更新数据库?
代码如下:
string myTempSql = "select * from tabdict where id = 'TEST001'";
string mySql = "select * from tabdict where id = '-1' ";
DataSet mTempSet = SelectDb(myTempSql, "tabdict", _TempConnString);
DataSet mDSet = SelectDb(mySql, "tabdict", _connString);
mDSet.Merge(mTempSet);
this.da = new SqlDataAdapter(this._strSql, this.GetConn(sConString));
this.sqlCmdBuilder = new SqlCommandBuilder(da);
this.da.Update(mDSet, "tabdict");
mDSet.AcceptChanges();
public DataSet SelectDb(string strSql, string strTableName,string sConString)
{
this.da = new SqlDataAdapter(strSql, this.GetConn(sConString));
DataSet ds = new DataSet();
da.FillSchema(ds, SchemaType.Source, "tabdict");
this.da.Fill(ds, strTableName);
return ds;
}