次の方法で共有


SqlParameter.Precision プロパティ

定義

Value プロパティを表すために使用される最大桁数を取得または設定します。

public:
 property System::Byte Precision { System::Byte get(); void set(System::Byte value); };
public byte Precision { get; set; }
member this.Precision : byte with get, set
Public Property Precision As Byte

プロパティ値

Value プロパティを表すために使用される最大桁数です。 既定値は 0 です。 これは、データ プロバイダーによって Value の有効桁数が設定されることを示します。

実装

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

using Microsoft.Data.SqlClient;

class Program
{
    private static void AddSqlParameter(SqlCommand command)
    {
        SqlParameter parameter = new SqlParameter("@Price", SqlDbType.Decimal);
        parameter.Value = 3.1416;
        parameter.Precision = 8;
        parameter.Scale = 4;

        command.Parameters.Add(parameter);
    }
}

注釈

プロパティはPrecision、 の を持つSqlDbTypeDecimalパラメーターによって使用されます。

パラメーター値 Precision から推論できるため、入力パラメーターの および Scale プロパティの値を指定する必要はありません。 PrecisionScale は、出力パラメーターと、特定の有効桁数と小数点以下桁数で null 値を指定するなど、値を示さずにパラメーターの完全なメタデータを指定する必要があるシナリオで必要です。

注意

このプロパティを使用してデータベースに渡されたデータを強制することはサポートされていません。 データをデータベースに渡す前に丸める、切り捨てる、またはその他の強制変換を行う場合は、パラメーターValueの プロパティに値を割り当てる前に、名前空間のSystem一部である クラスを使用Mathします。

注意

.NET Framework バージョン 1.0 に含まれる Microsoft .NET Framework データ プロバイダーでは、パラメーター値の Decimal または ScalePrecision検証されません。 これにより、切り捨てられたデータがデータ ソースに挿入される可能性があります。 バージョン 1.0 .NET Framework使用している場合は、パラメーター値を設定するPrecision前に、 と ScaleDecimal値を検証します。 バージョン 1.1 以降.NET Framework使用すると、パラメーター値が無効Precisionな で設定されている場合Decimal、例外がスローされます。 Scale パラメーター スケールを Decimal 超える値は、引き続き切り捨てられます。

適用対象