读书人

数据集中两个表这种连接查询怎么使用

发布时间: 2014-01-22 14:50:12 作者: rapoo

数据集中两个表,这种连接查询如何使用LINQ语句?
本帖最后由 pengwei0417 于 2014-01-17 22:29:09 编辑 数据集(dataset)中表A(Table1):
ID Name
1 a
3 b
5 c
6 d
数据集(dataset)中表B(Table2):
ID 收入
2 10
5 20
6 10
7 6
我用以下代码可以得到表A和表B中有相同ID的记录:

 Dim rows = From rows1 In Table1.AsEnumerable() Join rows2 In Table2.AsEnumerable() _
On rows1!ID Equals rows2!ID _
Where rows1!ID = rows2!ID _
Select r = rows1
Dim ResultTable As New DataTable
ResultTable = Table1.Clone
For Each row As DataRow In rows
ResultTable.Rows.Add(row.ItemArray)
Next
DataGridView1.DataSource = ResultTable

我想要查询的是表A中ID号在表B中没有出现的记录,也就是要得到ID为1和3的,该如何修改以上语句?

LINQ才开始研究,以上LINQ代码也不知道存在问题不,请一并指教!
[解决办法]
Dim ids = TableA.Select(Function(x) x.ID).Except(TableB.Select(Function(x) x.ID))
For Each i As Integer In ids
MessageBox.Show(i)
Next
[解决办法]
linq 太搞子了 一的 left join not like 都大把精力 搞的我都想用表解了
[解决办法]
你可以看看基本例子:http://msdn.microsoft.com/en-us/vstudio/bb688085.aspx

读书人网 >VB Dotnet

热点推荐