我有一个定义为decimal(32,15)的sql server列。当我尝试使用SqlDataReader.GetValue()读取它时,我发现可以容纳的最大db值是79,228,162,514,264。较大的值会引发溢出异常。这是令人惊讶的,因为 .net 十进制类型是 128 位,并提供 28 到 29 位的精度。有人可以解释一下吗?
最佳答案
使用SqlDataReader.GetSqlDecimal()
而不是SqlDataReader.GetValue()
。
以下是问题的详细示例:
关于.net - 从数据库读取十进制值时出现 OverflowException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19231957/