Passage d'un paramètre SQL à une clause IN () à l'aide de jeux de données typés dans .NET

D'abord des excuses comme il y a des questions similaires sur ce site, mais aucun d'entre eux de répondre à ce problème directement.

Im en utilisant typés dans VS 2010. J'ai créer un TableAdapter dans un jeu de données avec une requête comme:

SELECT * from Table WHERE ID IN(@IDs)

Maintenant, si je l'appelle: TableAdapter.Fill(MyDataTable,"1,2,3") une erreur se produit indiquant que VS ne peut pas convertir 1,2,3 de type int. Juste assez.

Alors j'ai décider de changer le Paramètre (c'est à dire @Id) type de chaîne dans la collection de paramètres. Essayez de nouveau - toujours le même message d'erreur.

Donc, il y a de toute façon ce dataset typé peut accepter mes "1,2,3" paramètre? Pour le moment je n'ai que quelques paramètres à passer, donc je peut facilement créer 5 ou si les paramètres et de les transmettre séparément, mais que faire si il y a des centaines? Est-il possible que je peux appeler le Fill() méthode avec mon séparées par des virgules paramètre?

(je sais que je peux utiliser du SQL Dynamique pour créer l'instruction et de l'exécuter, mais préférez si il y a une autre façon de me permettre de garder mon dataset typé notamment pour une utilisation dans ReportViewer/bindingsources)

source d'informationauteur Simon