读书人

将参数值从 String 转换到 Double 失败

发布时间: 2013-11-25 13:22:27 作者: rapoo

将参数值从 String 转换到 Double 失败
继续是修改bug的问题,给了我一些bug让我修改,可是程序都没跑通。
将参数值从 String 转换到 Double 失败。大家给看看怎么解决这个问题。
将参数值从 String 转换到 Double 失败解决方案 bug 参数值 转换 ExecSQL
[解决办法]
检查下那些SqlDbType.Float的参数,其中有一个被赋了不能转换为浮点数字的字符串。
[解决办法]
你定义了一个double 类型的parameter,但你付的值是string 类型,你检查那个parameter 是double类型,并给其付值的时候用 double.parse()
[解决办法]

引用:
Quote: 引用:

入库的数据类型与数据字段类型要对应上,不然就出错了,可用convert来转换


parameterArray[1].Value=this.ViewState["FixFactory"].toString();

======>

parameterArray[1].Value = Convert.ToDouble(this.ViewState["FixFactory"]);
改成这样吗?

是的,你试一下,都要对应上
[解决办法]
如果我没看错 那就是你的第11 17 28个参数都是datetime类型的 可是你赋值的时候却给的是控件的text属性
那是string类型的默认 需要你强制转换 或者 更慎重的取值
[解决办法]
具体情况我无法知道 但是从你贴出来的代码来看 就是一般的数据转换问题
理由很简单 你上面的SqlParameter里面 索引10 16 27 这三个都是datetime类型的对不对
而下面紧接着对他赋值的时候 你给的都是 控件.text。trim()这样解决的 很显然 没有对准数据类型
具体问题具体分析 不行你就跟踪调试一下 看看到底数据是什么样的
[解决办法]
感觉这个不用上代码了,多半就是因为你创建的 SqlParameter 对象的参数值的类型和数据库定义的不一样,不吻合。

读书人网 >C#

热点推荐