日期:2014-05-17  浏览次数:21258 次

将参数值从 String 转换到 Double 失败
继续是修改bug的问题,给了我一些bug让我修改,可是程序都没跑通。
将参数值从 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 对象的参数值的类型和数据库定义的不一样,不吻合。