1

WHERE … IN @xs節を使用してパラメーター化された ADO.NET クエリを作成しようとしてい@xsます(2, 3, 5, 8, 13)。これはできますか?もしそうなら、どのように?

これはうまくいきません:

int[] xs = { 2, 3, 5, 8, 13 };  // I've also tried using a List<int> instead
var c = new System.Data.SqlClient.SqlCommand();
c.CommandText = "SELECT … FROM … WHERE … IN @xs";
c.Parameters.AddWithValue("@xs", xs);  // throws ArgumentException due to `values`

名前空間のSystem.Data.SqlDbType列挙型も型も、このシナリオがサポートされていることを示唆していません。動的 SQL に戻す必要がありますか (つまり、文字列操作を使用して最終的な SQL を手動で作成する必要がありますか)?System.Data.SqlTypesCommandText

4

3 に答える 3