非常に多数の列を持つテーブルに一連の挿入を行う必要があります。例:
INSERT INTO Table1 (A,B,C,...,Z) VALUES (@a,@b,@c,...,@z)
すべてのフィールド(AからZ)はNULL可能です。コマンドテキストに記述されているコマンドパラメータを明示的に設定しないと、挿入を実行できません。
列名は実際には連続していないため(すべてかなりランダムな名前が付いています)、コマンドテキストのパラメーターをループして、それらをに設定する簡単な方法はありますDBNull.Value
か?または、手動で書き出す必要がありますか?
cmd.Parameters.AddWithValue("@a", DBNull.Value);
cmd.Parameters.AddWithValue("@b", DBNull.Value);
cmd.Parameters.AddWithValue("@c", DBNull.Value);
...
cmd.Parameters.AddWithValue("@z", DBNull.Value);
または、実際に使用されている列を作成し、それらを連結して(および使用されているパラメーター)、使用されているパラメーターを設定するための適切なソリューションはありますか?
インジェクション攻撃の可能性を回避するために、クエリの連結ソリューションを敬遠する傾向があります。