我有一个SQL Server列定义十进制(32,15)。当我尝试使用SqlDataReader.GetValue()读取它时,我发现可以容纳的最大db值是79,228,162,514,264。值越大,抛出溢出。这是令人惊讶的,因为.net十进制类型是128位并提供28到29位精度。有人可以解释一下吗?
答案 0 :(得分:2)
使用SqlDataReader.GetSqlDecimal()
代替SqlDataReader.GetValue()
。
以下是详细问题的示例:
答案 1 :(得分:1)
这也有效:SqlDataReader.GetProviderSpecificValue()