Bonjour,
Comment ajouter une ListeArray dans une requete SQL linq en utilisant la clause IN ??
Merci
Version imprimable
Bonjour,
Comment ajouter une ListeArray dans une requete SQL linq en utilisant la clause IN ??
Merci
Peux-tu poster ton code pour qu'on puisse avoir un minimum de contexte ? Nous ne sommes toujours pas devins :calim2:
C'est quoi une ListeArray ? C'est une List<T> ou un Array ou autre chose, ou encore un type perso que tu as créé?
J'imagine que c'est une arraylist. Dans ce cas, avec un peu de Linq :
Code:
1
2 [FONT=Consolas][FONT=Consolas]var instring = list.ToArray().Aggregate((c,n) => c+[/FONT][/FONT][FONT=Consolas][FONT=Consolas][FONT=Consolas]","[/FONT][/FONT][/FONT][FONT=Consolas][FONT=Consolas]+n); [/FONT][/FONT]
tu aurais dans instring les valeurs du tableau sous chaine de caractères comme IN attend ("value1,value2,..."), tu n'a plus qu'a insérer ça.
Pour générer un IN à partir d'une liste il faut utiliser Contains
voila un extrait du code
-----------------------------------
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 // // ArrayList table = new ArrayList(); DataGridView listeF = new DataGridView(); // // // table.Add(xx); // // bindingsource1.DataSource = null; ListeF.ClearSelection(); String str1; str1 = "Select CodeArt,PrixVente, Num FROM Commande WHERE Num in(table ) GROUP BY CodeArt ";// bindingsource1.DataSource = GetData(str1); this.listeF.DataSource = bindingsource1;
Je complète cette réponse avec un exemple provenant d'un blog MSDN. Bien que ça concerne EntityFramework, c'est le même principe.
http://blogs.msdn.com/b/alexj/archiv...-entities.aspx