起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 301|回复: 14

报错:Could not convert variant of type (String) into type (Double)**

[复制链接]
发表于 2008-10-17 17:19:48 | 显示全部楼层 |阅读模式
平台:2276
数据库驱动:Micosoft SQL Server Specific(test)


运行如下代码:

FieldByName('MonthPower').AsFloat := Query1.Fields[0].AsFloat+ Query1.Fields[1].AsFloat + Query1.Fields[2].AsFloat + Query1.Fields[3].AsFloat

就报错:
    Could not convert variant of type (String) into type (Double)

可以肯定的是Query1.Fields[0].AsFloat+ Query1.Fields[1].AsFloat + Query1.Fields[2].AsFloat + Query1.Fields[3].AsFloat为0,这个我在计算和修改对话框中看到的
回复

使用道具 举报

发表于 2008-10-17 17:31:46 | 显示全部楼层
看一下FieldByName('MonthPower').AsFloat 他是什么值。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-20 09:09:14 | 显示全部楼层
dsbProductDaily.DataSet.FieldByName('MonthPower').AsFloat
940.464
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-20 09:13:13 | 显示全部楼层
Query1.Fields[0].AsFloat+ Query1.Fields[1].AsFloat + Query1.Fields[2].AsFloat + Query1.Fields[3].AsFloat
这几个值用BDE驱动的时候是有非零值的,用Micosoft SQL Server Specific(test)驱动值就是零了
回复 支持 反对

使用道具 举报

发表于 2008-10-20 13:28:13 | 显示全部楼层
楼主,检查一下这5个字段在MSSQL数据库里的数据类型。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-22 08:31:42 | 显示全部楼层
数据类型:numeric,长度:9,精度:15,小数位数:3
回复 支持 反对

使用道具 举报

发表于 2008-10-22 13:22:09 | 显示全部楼层

Re: 报错:Could not convert variant of type (String) into type (Double)

最初由 shanshengsheng 发布
[B]平台:2276
数据库驱动:Micosoft SQL Server Specific(test)


运行如下代码:

FieldByName('MonthPower').AsFloat := Query1.Fields[0].AsFloat+ Query1.Fields[1..

以下省略...... [/B]


把这句拆成多句执行,看看到底是哪个字段出错的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-23 08:48:13 | 显示全部楼层
执行能通过,只是结果不对
用BDE驱动时Query1.Fields[0].asFloat是有值的,用test驱动就为0了
回复 支持 反对

使用道具 举报

发表于 2008-10-23 09:25:56 | 显示全部楼层
test不稳定,有bug。

建议楼主用BDE
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-23 10:27:43 | 显示全部楼层
Justep以前建议我们用test啊,说bde有问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-24 11:58 , Processed in 0.042091 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表