【发布时间】:2019-10-21 11:30:26
【问题描述】:
如何在 dataTable 中使用连接?由于我是 C# 新手,我不知道为什么我的代码不起作用。有人可以调查一下吗?
var result = from x in clientpos.AsEnumerable()
join y in exec_pos.AsEnumerable()
on new { X1 = x.Field<string>("ClientCode"), X2 = x.Field<string>("Symbol"),
X3 = x.Field<string>("Expirydate"), X4 = x.Field<string>("Strikeprice") , X5 = x.Field<string>("ClientCode") }
equals new { X1 = y.Field<string>("ClientCode"), X2 = y.Field<string>("Symbol"),
X3 = y.Field<string>("Expirydate"), X4 = y.Field<string>("Strikeprice") ,
X5 = y.Field<string>("ClientCode")
}
select x;
【问题讨论】:
-
您是否收到任何错误或结果未达到预期结果。你能详细说明你的问题吗?
-
您好,我没有收到任何错误,但结果变量中没有行。当我在 mysql 工作台中使用相同的查询时,它工作得很好。你能检查一下语法吗?
-
如果您尝试手动验证,是否会根据您的 DataTable 数据记录结果?
-
语法看起来不错,也许字符串比较样式不同?您正在尝试从 clientpos 获取所有行,它们在 4 列中与另一个表相等?
-
数据类型与服务器中的实际表不同。谢谢大家