问题描述
- PB 问题。dec变量无法用select into 取到值
-
帮朋友改PB6.5的程序,却碰到了一个好奇怪的问题 !
代码里面的SELECT 语句,变量为decimal类型的,select into 无法取到值,而把dec类型改成double就没有问题。有人知道什么原因么?
运行环境:win7+pb6.5+sql2008r2TRANSACTION SQLTMP SQLTMP = CREATE TRANSACTION SQLTMP.DBMS = "MSS Microsoft SQL Server 6.x" SQLTMP.Database = "main" SQLTMP.LogPass = "123" SQLTMP.ServerName = "AHONGER-PCSQLEXPRESS" SQLTMP.LogId = "sa" SQLTMP.AutoCommit = False SQLTMP.DBParm = "" CONNECT USING SQLTMP; IF SQLTMP.SQLCODE=0 THEN DEC LDC_PAY //这里改成double ldc_pay就能够取到金额,dec就不行。 SELECT SUM(JE) INTO :LDC_PAY FROM zy_fyjs_sffl WHERE jszs='0000' and jfzyh='00000017' and jfryzs='01' and xm='05' using sqltmp; MESSAGEBOX('LDC_PAY',LDC_PAY) ELSE MESSAGEBOX('ERROR','CONNECT ERROR') END IF DISCONNECT USING SQLTMP;
解决方案
没有人知道么,请回答啊~搞了好几天了都没有整明白这事
解决方案二:
没有人知道么,请回答啊~搞了好几天了都没有整明白这事
解决方案三:
DEC LDC_PAY
//这里改成double ldc_pay就能够取到金额,dec就不行。
SELECT SUM(JE)
INTO :LDC_PAY
FROM zy_fyjs_sffl
WHERE jszs='0000' and
jfzyh='00000017' and
jfryzs='01' and
xm='05' using sqltmp;
MESSAGEBOX('LDC_PAY',LDC_PAY)
把DEC LDC_PAY 改为dec{2} ldc_pay试试,应该是精度的问题
时间: 2024-08-04 08:20:02