2016-05-06 9 views
3

Informationen zu einer Person SQL-AbfrageWhere-Klausel in LINQ mit IN-Operator in Vb

SELECT * FROM tableName WHERE Name = 'Adam' 

Linq-Abfrage in Vb

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

'Adam' get Aber um Details von Adam mehr Personen‘ ',' Chris 'Sql Abfrage

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

Linq Abfrage in VB ???

Edited: Linq-Abfrage in VB ist

Von tablename In etwas Wo { "Adam", "Chris"} Enthält (row.Field (String) ("name") trimmen.)

.
+2

Ich denke, es ist etwas wie 'Von tablename In etwas Wo { "Adam", "Chris"} Enthält (Zeile. .Field (Of String) ("Name"). Trim) '- Verwendung von [' Enumerable.Contains'] (https://msdn.microsoft.com/en-us/library/system.linq.enumerable.contains % 28v = vs.90% 29.aspx). – Mark

+0

Super funktioniert, vielen Dank :) – rANth

+0

Cool - als Antwort hinzugefügt. – Mark

Antwort

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

Versuchen Sie diesen Code

+0

Es hat nicht funktioniert, danke trotzdem :) – rANth

+0

ändern var zu Dim – Werdna

+0

Ja und "neu []" ist nicht erforderlich in Vb – rANth

1

Sie Enumerable.Contains verwenden sollten, zB mit einer Anordnung der Werte, die Sie suchen:

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 

Ausgang:

2 - Adam 
3 - Chris