暗黙の型変換をやめたい
ASP.NET(C#2.0)からSQLServer2008R2のストアドプロシージャをコールする際、暗黙の型変換を使うとパフォーマンスが落ちるらしいので、全て明示的な型変換に修正したいと思っています。
MySQLをselectした値をリーダー(reader)に格納し、SQLServerにストアドコール時にパラメータ指定してinsertするのですが、何が暗黙的で何が明示的なのかわかりません。
下記は引数1にパラメータ、引数2にDBType(省略可)、引数3に値を指定しています。
[暗黙的かと思われるパラメータの渡し方]
AddParameter("@パラメータ1", reader["値1"]); //char(2)
AddParameter("@パラメータ2", DbType.string, reader["値2"].ToString()); //nvarchar(20)
[明示的かと思われるパラメータの渡し方]
AddParameter("@パラメータ3", DbType.DateTime, Convert.ToDateTime(reader["値3"])); //datetime
AddParameter("@パラメータ4", DbType.Currency, (Convert.ToDecimal(reader["値4"])) * 100); //money
暗黙の型変換とは、引数3の型を指定しない場合に起こるという認識で合っていますでしょうか?
お礼
ありがとうございました!なんとかできました!