Una soluzione trovata qui, che per comodità riporto:
http://stackoverflow.com/questions/337704/parameterizing-an-sql-in-clause#answer-337792
string[] tags = new string[] { "ruby", "rails", "scruffy", "rubyonrails" };
string cmdText = "SELECT * FROM Tags WHERE Name IN ({0})";
string[] paramNames = tags.Select(
(s, i) => "@tag" + i.ToString()
).ToArray();
string inClause = string.Join(",", paramNames);
using (SqlCommand cmd = new SqlCommand(string.Format(cmdText, inClause))) {
for(int i = 0; i < paramNames.Length; i++) {
cmd.Parameters.AddWithValue(paramNames[i], tags[i]);
}
}
E' scritta in C# ma è facilmente traducibile in VB.
---
Fabio Turrin - Bludev - http://www.bludev.it/