【问题标题】:Error when trying to save data to a database with dbcontext. Not a valid instance of type float尝试使用 dbcontext 将数据保存到数据库时出错。不是浮点类型的有效实例
【发布时间】:2012-11-02 00:43:13
【问题描述】:

我似乎无法弄清楚这一点。我得到的错误是

“传入的表格数据流 (TDS) 远程过程调用 (RPC) 协议流 > 不正确。参数 13 (“@10”): 提供的值不是数据类型 >float 的有效实例。检查源无效值的数据。无效值的一个示例是>数字类型的数据,其比例大于精度。"

我检查了 NaN 的每个值。首先使用代码创建数据库。但是,当我尝试使用 dbcontext 添加一些值时,我得到了错误。

这可能与我尝试插入的双精度值是通过使用 double.parse() 解析字符串生成的事实有关。

欢迎提出任何建议!谢谢

【问题讨论】:

  • 你能打开一个SQL分析器看看生成的sql吗?可能会给你一些提示。
  • 非常感谢!我不知道有这样的东西存在,但当我发现它时,它解决了我的问题!
  • 查看这个线程如何查看为SaveChanges生成的SQL:stackoverflow.com/questions/16880687/…

标签: c# sql-server floating-point double


【解决方案1】:

对于任何想知道的人,我发现了这个:http://www.datawizard.com/ 它让我陷入困境。

我认为某些 sql 服务器中内置了类似的东西,但我的没有,所以我使用了它。

感谢 Rick B 为我指明了正确的方向!

【讨论】:

    【解决方案2】:

    我在参数化查询中收到了同样的错误。我发现我试图传递给 SqlCommand 对象的值实际上是一个除以零的值。该错误不是由实际除以零计算触发的,Double 变量通过存储一个看起来像 -1.#IND 的值来适应它,但是当我尝试将该值传递给 SqlCommand 对象中指定的参数时错误,然后我在尝试执行查询时遇到上述错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 1970-01-01
      • 2017-04-15
      • 1970-01-01
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多