2016-05-06 39 views
3

in運算符來得到一個人 '亞當' SQL查詢凡在LINQ條款在VB中

SELECT * FROM tableName WHERE Name = 'Adam' 

LINQ查詢詳細信息在VB

From tableName In something Where row.Field(Of String)("name").Trim = "Adam" 

但要獲得多個人「亞當的細節','Chris'Sql查詢

SELECT * FROM tableName WHERE Name IN ('Adam', 'Chris') 

在VB中Linq查詢?

編輯:在VB Linq查詢是

從TABLENAME在一些地方{ 「亞當」, 「克里斯」}包含(row.Field(串)( 「名稱」)修剪。)

+2

我覺得這是像'從TABLENAME在一些地方{「亞當」,「克里斯」}包含(行。 .Field(Of String)(「name」)。Trim)' - 利用['Enumerable.Contains'](https://msdn.microsoft.com/en-us/library/system.linq.enumerable.contains %28V = VS.90%29.aspx)。 – Mark

+0

真棒這個工作,非常感謝:) – rANth

+0

酷 - 添加爲答案。 – Mark

回答

1
Dim item= From tableName In something 
       where {"Adam", "Chris" }.Contains(u.something) 
       select i 

試試這個代碼

+0

它沒有工作,無論如何:) :) – rANth

+0

改變變暗爲 – Werdna

+0

是的和「新的[]」是不需要在Vb – rANth

1

你應該使用Enumerable.Contains,如與值數組你正在尋找:

Dim dt = New DataTable() 
dt.Columns.Add("ID", GetType(Integer)) 
dt.Columns.Add("Name", GetType(String)) 
dt.Rows.Add(1, "John") 
dt.Rows.Add(2, "Adam") 
dt.Rows.Add(3, "Chris") 

Dim values = {"Adam", "Chris"} 
Dim results = 
    From row In dt 
    Where values.Contains(row.Field(Of String)("Name").Trim) 
For Each row In results 
    Console.WriteLine("{0} - {1}", row.Field(Of Integer)("ID"), row.Field(Of String)("Name")) 
Next 

輸出:

2 - Adam 
3 - Chris