起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 103|回复: 8

【结帖】参数截断问题**

[复制链接]
发表于 2008-5-29 09:39:22 | 显示全部楼层 |阅读模式
由于字段长度不够,本来4位的自增参数(流水号)被截断成3位
用了Value:=TCommonUtils.StrToRightLenStr(Variants.VarToStr(Value), '0', 3);这句话监视后发现

另外问个问题:这个流水号是不是连续的?怎么会增加到4000多了呢?这个通用代码表的物理表叫啥名字?我能不能直接修改里面的记录让他复位?

qq截图未命名.jpg

2 KB, 下载次数: 69

回复

使用道具 举报

发表于 2008-5-29 10:15:59 | 显示全部楼层
你监视他看看,Variants.VarToStr(Value)
不影响你使用的阿。
通用编码表在[业务模型\协同系统\协同数据库\系统\通用编码表],具体表名你看他的id就知道了。可以去复位的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-29 10:25:35 | 显示全部楼层
Value:=TCommonUtils.GetAutoIncreaseID(Self.Context,TBizParam(Sender).ID,TBizParam(Sender).DisplayName);是4295
Value:=TCommonUtils.StrToRightLenStr(Variants.VarToStr(Value), '0', 3);是4293.
没什么区别。感觉
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-29 10:29:59 | 显示全部楼层
怎么把年份的2008前面的20截断??剩下08
回复 支持 反对

使用道具 举报

发表于 2008-5-29 10:32:40 | 显示全部楼层
回3楼,怎么会呢?4295--〉4293还没区别呢??错了吧?
回复 支持 反对

使用道具 举报

发表于 2008-5-29 10:34:54 | 显示全部楼层
数据库中用substring,程序里用copy
具体用它去搜就知道了。
回复 支持 反对

使用道具 举报

发表于 2008-5-29 10:38:08 | 显示全部楼层
楼主,你要理解TCommonUtils.StrToRightLenStr(Variants.VarToStr(Value), '0', 3);它的意义,这句代码的意思是,value的值不足三位,前面补0,比如value=8,那么这句话返回的是 003
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-29 10:59:09 | 显示全部楼层
哎,我真笨。误解了你们的意思了。我把2008截成08了,再把值复位成0了,呵呵。问题解决了。呵呵,再说下为啥会一个是4295,一个是4293.因为我用ctrl+f7监视值了,按一下就取次值,而底下不变。所以2个值就不一样了。谢谢方老师指点!
回复 支持 反对

使用道具 举报

发表于 2008-5-29 11:08:11 | 显示全部楼层
哦。好的,客气了,解决就好。揭帖!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 22:22 , Processed in 0.046552 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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