DataTableReader.GetDecimal(Int32) メソッド

定義

指定した列の値を Decimal として取得します。

public:
 override System::Decimal GetDecimal(int ordinal);
public override decimal GetDecimal (int ordinal);
override this.GetDecimal : int -> decimal
Public Overrides Function GetDecimal (ordinal As Integer) As Decimal

パラメーター

ordinal
Int32

0 から始まる列序数。

戻り値

指定された列の値。

例外

渡されたインデックスが 0 から FieldCount - 1 の範囲にありません。

削除した行からデータを取得しようとしました。

閉じている DataTableReader の列を読み取るかアクセスしようとしました。

指定した列には Decimal 値が含まれていません。

次の例では、渡 DataTableReaderされた 内の 2 という番号の列の内容を表示します。 特定の行内の列の値が null の場合、コードはテキスト <NULL を>表示します。 列内のデータが正しい型でない場合は、各行のエラー メッセージが表示されます。

private static void PrintColumn(DataTableReader reader)
{
    // Loop through all the rows in the DataTableReader
    while (reader.Read())
    {
        if (reader.IsDBNull(2))
        {
            Console.Write("<NULL>");
        }
        else
        {
            try
            {
                Console.Write(reader.GetDecimal(2));
            }
            catch (InvalidCastException)
            {
                Console.Write("Invalid data type.");
            }
        }
        Console.WriteLine();
    }
}
Private Sub PrintColumn(ByVal reader As DataTableReader)
   ' Loop through all the rows in the DataTableReader
   While reader.Read()
      If reader.IsDBNull(2) Then
         Console.Write("<NULL>")
      Else
         Try
            Console.Write(reader.GetDecimal(2))
         Catch ex As InvalidCastException
            Console.Write("Invalid data type.")
         End Try
      End If
      Console.WriteLine()
   End While
End Sub

注釈

変換は実行されません。したがって、取得されるデータは、既に Decimal または に強制可能である Decimal必要があります。

を呼び出 IsDBNull して、このメソッドを呼び出す前に null 値があるかどうかを確認します。

適用対象