私はmySQLに精通していませんが、MSSQLを扱うときは通常、DBに分割関数があるため、VB側で連結された整数値をテーブルとして分割するために使用できます。
Dim myIds = {1, 2, 3, 4}
Dim sql = <sql>
SELECT m.* FROM dbo.tblMyData m
INNER JOIN dbo.fncSplitIntegerValues(@Ids, ',') t ON t.id = m.Id
</sql>.Value
Using con As New SqlConnection("My connection string..."),
cmd As New SqlCommand(sql, con)
cmd.Parameters.Add("@Ids", SqlDbType.VarChar).Value =
myIds.Select(Function(m) m.ToString).Aggregate(Function(m, n) m & "," & n)
con.Open()
Dim rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
While rdr.Read()
Console.WriteLine(rdr.GetValue(0))
' do something else...
End While
End Using
dbo.fncSplitIntegerValues は、連結された整数 varchar を指定された区切り文字で整数 ID に分割する db 関数です。
単純な sql を使用しないで、代わりに sql パラメーターを使用することが重要です。
注: 上記のサンプルはテストされていません...