以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  数据  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=33825)

--  作者:L7
--  发布时间:2013/5/25 9:12:00
--  数据

错误所在事件:表,盘头_绩效,DataColChanged
详细错误信息:
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.OverflowException: 值对于 Decimal 太大或太小。


这个问题该如何解决  请各位大神帮忙查看下 谢谢!


--  作者:XYT
--  发布时间:2013/5/25 9:14:00
--  
这个上个例子吧
--  作者:L7
--  发布时间:2013/5/25 9:18:00
--  

dr("yjcn") = 500*(dr("gzsj")*60-60-dr("ztjsj"))

这个是其中的一个计算公式 ,参与计算的我全部设为高精度小数


--  作者:Bin
--  发布时间:2013/5/25 9:21:00
--  
是不是计算出来的值太大了. 高精度小数只能是28位的有效数字

最好上个例子看看,才能判断.

--  作者:XYT
--  发布时间:2013/5/25 9:21:00
--  
错误提示就是你的数据值太大或太小,你换成单精度或双精度试下
--  作者:L7
--  发布时间:2013/5/25 9:30:00
--  

好  我换成单精度小数试下看  谢谢


--  作者:L7
--  发布时间:2013/5/25 9:38:00
--  

我现在是直接出现死循环了


--  作者:XYT
--  发布时间:2013/5/25 9:40:00
--  
改类型会出现死循环?你还是搞例子吧
--  作者:L7
--  发布时间:2013/5/25 9:43:00
--  

是的  我现在数据一导就出现死循环了

下面是我导数据的代码,(盘头_入)库里的计算公式就是刚才发过的

VARS("XZBZ")=0
Dim cmd1 As New SQLCommand
Dim dt1 As DataTable
cmd1.C
cmd1.CommandText = "Select * From {盘头_入库}  Where js1=1 and sfyjs=0"
dt1 = cmd1.ExecuteReader()
Dim f As New Filler
f.SourceTable =dt1 \'指定数据来源
f.SourceCols = "ptrkID,jth,rkrq,bc,czz,ylmc,ts,gs,ms,sbms,xbms,js" \'指定数据来源列
f.DataTable = DataTables("盘头_绩效") \'指定数据接收表
f.DataCols = "ptrkID,jth,rq,bc,czz,ylmc,ts,gs,ms,sbms,xbms,js" \'指定数据接收列
f.Fill()
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "UPDATE {盘头_入库} SET js1=0,sfyjs=1 Where js1=1 and sfyjs=0"
cmd.ExecuteNonQuery()
DataTables ("盘头_入库").Load()


--  作者:Bin
--  发布时间:2013/5/25 9:48:00
--  
纸上不谈兵,上例子.