当我将C#double传递给SQL Server float参数时,我收到错误。我知道我发送的是SQL Server float无法表示的值,但我无法弄清楚它是哪一个。所以,我的问题是C#double可以表示SQL Server float不能表示什么值?
答案 0 :(得分:4)
IIRC SQL Server不支持值 NaN , PositiveInfinity 和 NegativeInfinity 。您可以使用方法 Double.IsNaN(...)和 Double.IsInfinity(...)来检查。
不要使用==
进行检查,因为这些特殊值永远不会等于任何其他值,甚至不是自己(例如NaN != NaN
)。
答案 1 :(得分:0)
double和float是相同的数据类型。我认为你的错误可能是另一个问题的次要问题。也许你的参数没有正确传递?检查数据流中传递的参数的实际值。