首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DataRelation合并两个不同的数据表

使用DataRelation合并两个不同的数据表
EN

Stack Overflow用户
提问于 2014-11-17 19:25:44
回答 1查看 634关注 0票数 1

我试着合并两个数据表,比如this。但是我的表有不同的模式和不同的行数。所以我在这里得到了一个错误:

代码语言:javascript
复制
    DataRelation drel = new DataRelation("EquiJoin",cr1, cr2, true);
    dataSet.Relations.Add(drel);//error

据我所知,因为第一个表比第二个表有更多的行。

代码语言:javascript
复制
   Error: Cannot evaluate expression because a native frame is on top of the call stack.

表格如下所示:

代码语言:javascript
复制
    snowFlake:                              snow:
f_text  |   f_link_id   |    f_tabkey |   | f_text  |   f_link_id   |   f_tabkey  |
--------+---------------+-------------|   |---------+---------------+-------------|
row1    |    100001     |      1      |   |  -      |  100000       |     1       |
row2    |    100001     |      2      |   |  +      |  100001       |     1       |
row3    |    100001     |      3      |   |  -      |  100001       |     2       |
row4    |    100002     |      1      |   |  +      |  100001       |     3       |
row5    |    100003     |      1      |   |  +      |  100002       |     1       |
                                          |  +      |  100003       |     1       |
                                          |  -      |  100003       |     1       |
                                          |  +      |  100004       |     1       |
                                          |  -      |  100005       |     1       |

我使用的主键:

代码语言:javascript
复制
            snowFlake.PrimaryKey = new DataColumn [] { snowFlake.Columns[IndexesField.F_LINK_ID], snowFlake.Columns[IndexesField.F_TABKEY] };
            snow.PrimaryKey = new DataColumn [] { snow.Columns[IndexesField.F_LINK_ID], snow.Columns[IndexesField.F_TABKEY] };
            DataColumn[] cr1 = { snowFlake.Columns[IndexesField.F_LINK_ID], snowFlake.Columns[IndexesField.F_TABKEY] };
            DataColumn[] cr2 = { snow.Columns[IndexesField.F_LINK_ID], snow.Columns[IndexesField.F_TABKEY] };

我该怎么解决它呢?

打招呼,亚历山大。

EN

回答 1

Stack Overflow用户

发布于 2014-11-17 19:49:15

如果它们的行数不同,这并不重要,因为它们是通过关系连接的,从而模仿了TSQL的内连接行为。在不告诉我们具体错误的情况下,人们只能假设您没有正确定义用于连接的键(例如,您在关系中指定的列不存在)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26971659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档