null パラメータを SQL サーバー クエリに渡す方法を教えてください。null 可能な int 列を持つ単純なテーブルがあります。.NET null 値を渡すと、SQL エラーが発生します。DBNull.Value を渡すと、フィルターに一致する行はありません。ISNULL を使用せずにこれを行う簡単な方法はありますか。
OleDbConnection connection = new OleDbConnection();
connection.ConnectionString = ...;
connection.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = connection;
cmd.CommandText = "select * from myTable where myColumn = ?";
OleDbParameter parameter = cmd.Parameters.Add(null, OleDbType.Integer);
parameter.DbType = System.Data.DbType.Int32 ;
parameter.IsNullable = true;
parameter.Value = DBNull.Value; // no row returned
parameter.Value = null; // sql error
var reader = cmd.ExecuteReader();
...