SqlParameter.Precision プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 プロパティの値を指定する必要はありません。 Precision
と Scale
は、出力パラメーターと、特定の有効桁数と小数点以下桁数で null 値を指定するなど、値を示さずにパラメーターの完全なメタデータを指定する必要があるシナリオで必要です。
注意
このプロパティを使用してデータベースに渡されたデータを強制することはサポートされていません。 データをデータベースに渡す前に丸める、切り捨てる、またはその他の強制変換を行う場合は、パラメーターValue
の プロパティに値を割り当てる前に、名前空間のSystem
一部である クラスを使用Mathします。
注意
.NET Framework バージョン 1.0 に含まれる Microsoft .NET Framework データ プロバイダーでは、パラメーター値の Decimal または Scale はPrecision検証されません。 これにより、切り捨てられたデータがデータ ソースに挿入される可能性があります。 バージョン 1.0 .NET Framework使用している場合は、パラメーター値を設定するPrecision前に、 と Scale のDecimal値を検証します。 バージョン 1.1 以降.NET Framework使用すると、パラメーター値が無効Precisionな で設定されている場合Decimal、例外がスローされます。 Scale パラメーター スケールを Decimal 超える値は、引き続き切り捨てられます。