パラメーターがデータ ソースのレコードと一致しているにもかかわらず、アドホック SQL クエリが期待される出力を生成していないコードの一部に、奇妙な問題が見られました。次のテスト式をイミディエイト ウィンドウに入力することにしました。
new SqlParameter("Test", 0).Value
という結果になりnull
、頭を悩ませています。SqlParameter
コンストラクターはゼロをヌルとして扱うようです。次のコードは正しい結果を生成します。
SqlParameter testParam = new SqlParameter();
testParam.ParameterName = "Test";
testParam.Value = 0;
// subsequent inspection shows that the Value property is still 0
誰でもこの動作を説明できますか? なんとなく意図的?もしそうなら、それはかなり危険な可能性があります...