sqlcommand.Parameters.Add(...)関数には複数のオーバーロードがあります。サイズをとらないものもあれば、サイズをとるものもあります。デフォルトではどのサイズが設定されていますか?パラメータサイズを設定しないのは安全ですか?パフォーマンスに影響しますか?
3684 次
2 に答える
4
SqlParameter.Sizeプロパティdocoから
明示的に設定されていない場合、サイズは指定されたパラメーター値の実際のサイズから推測されます。
293315にPeterWoneによる素晴らしい返信があり、それが実際に何を意味するのかをより詳細に説明しています。
于 2009-05-24T12:32:03.177 に答える
1
データベースデータ型に対して大きすぎるパラメータを.NetコードからSQLServerに送信することができます。.Netコードでパラメーターを作成するときにサイズを設定した場合、大きすぎる値が送信されると例外がスローされます。したがって、すぐにわかり、データベース呼び出しを無駄にすることはありません。
または、特定のテキストフィールドに最大文字数を設定することもできます。データベースでは400文字の名前が許可されている場合がありますが、必要なのはvarchar100のみです。
パラメータNullableプロパティも同様です。これはオプションですが、sproc呼び出しでパラメーターをnullにできない場合は、.Netコードでパラメーターをnullにできないようにすると、問題がより早く明らかになります。
于 2009-05-24T12:32:49.367 に答える