SqlParameter に DBNull.Value を設定して 値がNULLの列の件数を取得しようと思い
下記のようなコードを書きましたが、実行してみると件数が0件と表示されます
SqlParameter を利用しないで
値がNullと思われる列名 = @条件
を
値がNullと思われる列名 IS NULL
に書き換えると正常にNULLの件数を取得できます
SqlParameter は WHERE句の条件に DBNull.Value は利用できないのでしょうか?
それとも何か手法が間違っているのでしょうか?
System.Data.SqlClient.SqlConnection CON = new SqlConnection(DB接続文字列);
CON.Open();
System.Data.SqlClient.SqlCommand CMD = new SqlCommand(
"SELECT count(*) FROM [テーブル名] WHERE 値がNullと思われる列名 = @条件",
CON
);
CMD.Parameters.Clear();
CMD.Parameters.Add(new SqlParameter("@条件",DBNull.Value));
System.Windows.Forms.MessageBox.Show(CMD.ExecuteScalar().ToString());