Sto cercando eseguire una select di questo tipo:

codice:
SELECT * FROM Utente WHERE IDUtente IN (1,2,3,5,7)
In pratica voglio tirare fuori tutti gli utenti che hanno come IDUtente i valori 1, 2, 3, 5 e 7.

Questa query viene impostata tramite l'utilizzo di parametri in questo modo:
codice:
...
da.SelectCommand.CommandText ="SELECT * FROM Utente WHERE IDUtente IN @Tabella"
da.SelectCommand.Parameters.Add(New SqlParameter("@Tabella",Trasforma(Table)))
da.Fill(Data)
...
dove Trasforma è una funzione che restituisce una stringa

codice:
Private Function Trasforma(ByVal table AS UtenteDataTable) As String
...
End Function
La funzione Trasforma funziona bene: prende come parametro un datatable e restituisce una stringa che contiene gli IDUtente da cercare in questo modo: (1,2,3,5,7)

Quando però il parametro @Tabella viene sostituito la query diventa
codice:
SELECT * FROM Utente WHERE IDUtente IN '(1,2,3,5,7)'
perché il risultato della funzione è di tipo String, e così non funziona.

Invece la query funzionerebbe (l'ho provata direttamente nel db) se fosse senza apici perché (1,2,3,5,7), di fatto, è una tabella:
codice:
SELECT * FROM Utente WHERE IDUtente IN (1,2,3,5,7)
Qualcuno sa come risolvere questo problema?

Grazie.

Giulio