次の方法で共有


SqlParameter.Size プロパティ

定義

列内のデータの最大サイズ (バイト) を取得または設定します。

public:
 virtual property int Size { int get(); void set(int value); };
public override int Size { get; set; }
member this.Size : int with get, set
Public Overrides Property Size As Integer

プロパティ値

列内のデータの最大サイズ (バイト) です。 既定値はパラメーター値から推論されます。

実装

次の例では、 を SqlParameter 作成し、そのプロパティの一部を設定します。

// using Microsoft.Data.SqlClient;
static void CreateSqlParameterSize()
{
    string description = "12 foot scarf - multiple colors, one previous owner";
    SqlParameter parameter = new SqlParameter("Description", SqlDbType.VarChar);
    parameter.Direction = ParameterDirection.InputOutput;
    parameter.Size = description.Length;
    parameter.Value = description;
}

注釈

戻り値は、このプロパティの影響を受けません。ストアド プロシージャからの戻り値パラメーターは、常に固定サイズの整数です。

可変長型 (nvarchar など) の出力パラメーターの場合、パラメーターのサイズによって、出力パラメーターを保持するバッファーのサイズが定義されます。 出力パラメーターは、 で Size指定されたサイズに切り詰めることができます。 文字型の場合、 で Size 指定されたサイズは文字単位です。

プロパティは Size 、バイナリ型と文字列型に使用されます。 型SqlType.StringSizeのパラメーターの場合、Unicode 文字の長さを意味します。 型SqlType.XmlSizeのパラメーターの場合、 は無視されます。

文字列以外のデータ型と ANSI 文字列データの Size 場合、 プロパティはバイト数を参照します。 Unicode 文字列データの場合、 Size は文字数を参照します。 文字列のカウントに終端文字は含まれません。

可変長データ型の場合は、 Size サーバーに送信するデータの最大量を記述します。 たとえば、Unicode 文字列値の場合、 を使用して、 Size サーバーに送信されるデータの量を最初の 100 文字に制限できます。

明示的に設定されていない場合、サイズは、指定されたパラメーター値の実際のサイズから推論されます。

パラメーター値の小数部がサイズより大きい場合、値はサイズと一致するように切り捨てられます。

固定長データ型の場合、 の Size 値は無視されます。 これは情報提供のために取得でき、パラメーターの値をサーバーに送信するときにプロバイダーが使用する最大バイト数を返します。

ストリーミングの詳細については、「 SqlClient Streaming Support」を参照してください。

適用対象