Convert.ToDouble(rdr["value"])
当 SQL Server 中显示的值为 75875563.7000000000000000000000 时,引发“转换溢出”错误。
堆栈跟踪:
at System.Data.SqlClient.SqlBuffer.get_Decimal()
at System.Data.SqlClient.SqlBuffer.get_Value()
at System.Data.SqlClient.SqlDataReader.GetValueFromSqlBufferInternal(SqlBuffer data, _SqlMetaData metaData)
at System.Data.SqlClient.SqlDataReader.GetValueInternal(Int32 i)
at System.Data.SqlClient.SqlDataReader.GetValue(Int32 i)
at System.Data.SqlClient.SqlDataReader.get_Item(String name)
at DataAPI.Models.Title.TitleDB.getTitlePerformance(Nullable`1 StartDate, Nullable`1 EndDate) in c:\00 BI Source\BIPortal\DataAPI\DataAPI\Models\Title\TitleDB.cs:line 44
有人可以告诉我这是为什么吗?
最佳答案
这是关于十进制容量的。你可以在sql server端使用十进制(16,4)(或者你需要的一些精度)吗?十进制 (16,4) 表示 16 个字符,后面 4 位数字,
关于c# - Convert.ToDouble() 因 SqlDataReader 值溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23941401/