关于dataset难题

erfeng911 2006-11-02 04:53:29
两个dataset,里面的表的个数和表的结合都一样,但是数据用可能不同,需要作的是表一个dataset合并到另一dataset里,以一个dataset为准,把另一dataset里的数据进行合并,记录相同不变,不同进行更新,多出来的进行增加,少的进行删除
...全文
622 40 打赏 收藏 举报
写回复
40 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
erfeng911 2006-11-06
  • 打赏
  • 举报
回复
给个意见
erfeng911 2006-11-05
  • 打赏
  • 举报
回复
高手给个意见
erfeng911 2006-11-04
  • 打赏
  • 举报
回复
我明白你的意思,是操作dataset里的datatable,我用

dsCust1.Merge(dsCust2);
SqlCommandBuilder objBuilder = new SqlCommandBuilder(adpt);

adpt.UpdateCommand = objBuilder.GetUpdateCommand();
adpt.InsertCommand = objBuilder.GetInsertCommand();
adpt.DeleteCommand = objBuilder.GetDeleteCommand();

DataTable updTable = dsCust1.Tables[0];
adpt.Update(updTable.Select(null, null, DataViewRowState.Added));

这个方法来更新数据库,行吗?
wuxing2006 2006-11-04
  • 打赏
  • 举报
回复
DataSet ds = new DataSet();
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
DataRow dr = ds.Tables[1].NewRow();

for(int j=0;j<ds.Tables[0].Columns.Count;j++)
{
dr[j] = ds.Tables[0].Rows[i][j];
}

try
{
ds.Tables[1].Rows.Add(dr);
}
catch(Exception ex)
{
string Err = ex;
}
}
刚发错了
wuxing2006 2006-11-04
  • 打赏
  • 举报
回复
自己调下
wuxing2006 2006-11-04
  • 打赏
  • 举报
回复


DataSet ds = new DataSet();
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
DataRow dr = ds.Tables[1].NewRow();

for(int j=0;j<ds.Tables[0].Columns.Count;j++)
{
dr[i] = ds.Tables[0].Rows[i];
}

try
{
ds.Tables[1].Rows.Add(dr);
}
catch(Exception ex)
{
string Err = ex;
}
}
chailin181 2006-11-04
  • 打赏
  • 举报
回复
mark
zhongwanli 2006-11-04
  • 打赏
  • 举报
回复
删除的话,估计只能循环了
zhongwanli 2006-11-04
  • 打赏
  • 举报
回复
dataset 本身就有该功能。
用Merge() 方法
erfeng911 2006-11-04
  • 打赏
  • 举报
回复
用sqldataadapter进行更新,必须datatable里datarow的datarowstate不是unchange的,所以必须把新merge来的数据的datarowstate属性进行更改,但是这个属性就只读的,这样就比较麻烦,我用一个临时dataset进行,把要加入的的dataset里的数据加到临时dataset里,这时临时的dataset的datarowstate就是added,然后在进行更改和删除操作,datarowstate就是deleted和update的,这样虽然可行,但是比较麻烦
magicsnake 2006-11-04
  • 打赏
  • 举报
回复
等待问题解决
netskin 2006-11-04
  • 打赏
  • 举报
回复
看看 DataSet.MergeFailed 事件发生没有
zerg318 2006-11-04
  • 打赏
  • 举报
回复
高深的问题搞不清楚 先收藏
erfeng911 2006-11-04
  • 打赏
  • 举报
回复
主建相同的记录能merge吗?
erfeng911 2006-11-03
  • 打赏
  • 举报
回复
dataset.merge() 后的dataset能更新数据库吗,我怎么用sqldataadapter.update()不成功,merge后就不能检测到是那一个行变化了
marvelstack 2006-11-03
  • 打赏
  • 举报
回复
使用DataSet.Merge()方法来实现。
sinatly 2006-11-03
  • 打赏
  • 举报
回复
用DataSet中对应的Table的行的RowState属性.此属性有五种状态DataRowState.Added,Deleted,
Detached,Modified,Unchanged
erfeng911 2006-11-03
  • 打赏
  • 举报
回复
是作webservice的,新手
erfeng911 2006-11-03
  • 打赏
  • 举报
回复
哦,报了个错

无法自动进入并单步执行服务器,未能附加到服务器进程,已附加了一个调试器!

是个什么错误,高手给个提示
健者天行 2006-11-03
  • 打赏
  • 举报
回复
DataSet.Merge()

要有主键
加载更多回复(20)
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-11-02 04:53
社区公告

让您成为最强悍的C#开发者