DataTableReader.GetDecimal(Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取指定列的 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 到 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 值。