none
如何在名字不同的强类型dataSet 之间copy 数据? RRS feed

  • 问题

  • 因为种种原因,现在有两个强类型的dataSet,每个dataSet 都包含相同一个表C,现在我想将dataSet A 中表c 中的数据添加到dataSet B 中的c 中。
    两个强类型中的表c 结构完全一样,但表c 有很多的column,所以我不想转成弱类型的dataSet 再来添加.
    我的错误做法如下:
    foreach(a.crow row in a.c.rows)
    {
     b.c.addcrow(row)
    }
    或者
    foreach(a.crow row in a.c.rows)
    {
     b.c.addcrow(row as b.crow)
    }
    请教高手有什么好办法吗?
    谢谢!
    2009年11月23日 9:48

答案

全部回复

  • 设计有点问题,表之间进行复制应该是逻辑层的操作,而不是数据层的。如果你想在数据层做的话,建议的办法是在存储过程中执行insert into select而不是把数据读到应用程序中再复制。
    如果你的强类型表不是用来insert的,而是用于查询,那么接口定义有问题,应该把两个表之间俯冲的列抽象出来做一个接口,然后用接口访问表。


    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    2009年11月23日 19:08
    版主
  • 设计有点问题,表之间进行复制应该是逻辑层的操作,而不是数据层的。如果你想在数据层做的话,建议的办法是在存储过程中执行insert into select而不是把数据读到应用程序中再复制。
    如果你的强类型表不是用来insert的,而是用于查询,那么接口定义有问题,应该把两个表之间俯冲的列抽象出来做一个接口,然后用接口访问表。


    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    确实是设计有点问题,但由于种种原因,在两个名字不同但结构一样的dataSet 之间进行复制是最简单的办法,有没有比较简单的代码实现啦?
    2009年11月24日 2:21
  • 你好!

    使用 Merge Table1.Merge(Table2);

    知识改变命运,奋斗成就人生!
    2009年11月24日 4:34
    版主