0

SqlCommand.Parameters.Addここで Size 引数を含むメソッドのオーバーロードについては、MSDN で規定されています

「このオーバーロードは、varchar や binary などの可変長データ型のパラメーターを追加する場合に便利です。」

例を示します。

public void AddSqlParameter(SqlCommand command) 
{
    SqlParameter param = new SqlParameter(
        "@Description", SqlDbType.NVarChar, 16);
    param.Value = "Beverages";
    command.Parameters.Add(param);
}

より正確に理解するのが難しい場合があります。

  1. Size 引数には何を指定する必要がありますか? DB構造の列の長さ、または現在のパラメータ値の長さ、またはそれらのMin()? または、他の何か?

  2. varchar"またはbinary" または他のリテラル Sql Server タイプchar( 、など)でのみ使用できnvarcharますか?

また

編集: 私の具体的なケース: DB 列nameにあるが、長さ 15 のvarchar(10)C# を持っている場合、Parameters.Add: 10または ...?String lNamelName.Length

4

1 に答える 1

1

size パラメーターで明示的に設定されていない場合、Size は dbType パラメーターの値から推測されます。

SqlParameter コンストラクター (文字列、SqlDbType、Int32)

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

SqlParameter.Size プロパティ

于 2013-03-01T11:13:16.437 に答える