| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1316 人关注过本帖
标题:VFP6 下提示: sql 表达式太复杂是何回事?
只看楼主 加入收藏
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
结帖率:79.38%
收藏
已结贴  问题点数:20 回复次数:15 
VFP6 下提示: sql 表达式太复杂是何回事?
下述语句在vfp9运行正常用,但在vfp6 下提示:sql表达式太复杂?有否办法可改为在vfp6下可运行?

select *,iif(mod(jy,11)=0,'1',iif(mod(jy,11)=1,'0',iif(mod(jy,11)=2,'X',iif(mod(jy,11)=3,'9',iif(mod(jy,11)=4,'8',iif(mod(jy,11)=5,'7',iif(mod(jy,11)=6,'6',iif(mod(jy,11)=7,'5',iif(mod(jy,11)=8,'4',iif(mod(jy,11)=9,'3',iif(mod(jy,11)=10,'2','N')))))))))))  as jym from ls into table sfzjym
在vf6 下SELECT 查询语句中多少个表达式可容纳?

[ 本帖最后由 sylknb 于 2014-9-21 10:11 编辑 ]
搜索更多相关主题的帖子: 表达式 
2014-09-21 09:40
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
如果只是验证身份证第18位校验码是否正确,完全没有必要通过这种方法处理。

坚守VFP最后的阵地
2014-09-21 10:19
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
有何妙法?
2014-09-21 10:24
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
select *,iif(mod(jy,11)=0,'1',iif(mod(jy,11)=1,'0',iif(mod(jy,11)=2,'X',iif(mod(jy,11)=3,'9',iif(mod(jy,11)=4,'8',iif(mod(jy,11)=5,'7',iif(mod(jy,11)=6,'6',iif(mod(jy,11)=7,'5',iif(mod(jy,11)=8,'4',iif(mod(jy,11)=9,'3',iif(mod(jy,11)=10,'2','N')))))))))))  as jym from ls into table sfzjym

改为以下代码试试
select *,iif(mod(jy,11)=0,'1',iif(mod(jy,11)=1,'0',iif(mod(jy,11)=2,'X',iif(mod(jy,11)=3,'9',iif(mod(jy,11)=4,'8',iif(mod(jy,11)=5,'7',iif(mod(jy,11)=6,'6',iif(mod(jy,11)=7,'5',iif(mod(jy,11)=8,'4',iif(mod(jy,11)=9,'3','2'))))))))))  as jym from ls into table sfzjym

坚守VFP最后的阵地
2014-09-21 10:25
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
写个自定义函数,论坛中这方面的帖子不少,自己找一下。

坚守VFP最后的阵地
2014-09-21 10:26
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:20 
SFZH=[320113196301040514]
*- 04 -第18位校验码验证
J=[0709100508040201060307091005080402]
*   Y值:012345678910  
校验码="10X98765432"
LOCAL NUM,CTITLE
NUM=0
CTITLE=""
FOR I=1 TO 17
    NUM=NUM+VAL(SUBSTR(J,I*2-1,2))*VAL(SUBSTR(SFZH,I,1))
ENDFOR
CTITLE=[第18位校验码为【]+SUBSTR(校验码,MOD(NUM,11)+1,1)+[】,与身份证校验码]+IIF(RIGHT(SFZH,1)==SUBSTR(校验码,MOD(NUM,11)+1,1),"相符","不相符")
MESSAGEBOX(CTITLE,64,"系统信息")

坚守VFP最后的阵地
2014-09-21 10:29
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
可能是过于太长了
2014-09-21 10:30
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用sdta在2014-9-21 10:25:41的发言:

select *,iif(mod(jy,11)=0,'1',iif(mod(jy,11)=1,'0',iif(mod(jy,11)=2,'X',iif(mod(jy,11)=3,'9',iif(mod(jy,11)=4,'8',iif(mod(jy,11)=5,'7',iif(mod(jy,11)=6,'6',iif(mod(jy,11)=7,'5',iif(mod(jy,11)=8,'4',iif(mod(jy,11)=9,'3',iif(mod(jy,11)=10,'2','N')))))))))))  as jym from ls into table sfzjym  
 
改为以下代码试试
select *,iif(mod(jy,11)=0,'1',iif(mod(jy,11)=1,'0',iif(mod(jy,11)=2,'X',iif(mod(jy,11)=3,'9',iif(mod(jy,11)=4,'8',iif(mod(jy,11)=5,'7',iif(mod(jy,11)=6,'6',iif(mod(jy,11)=7,'5',iif(mod(jy,11)=8,'4',iif(mod(jy,11)=9,'3','2'))))))))))  as jym from ls into table sfzjym
通过了,为什么不要iif(mod(jy,11)=10,'2'?
2014-09-21 10:36
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
余数最大为10,IIF(MOD(JY,11)=9,'3','2'),余数0-9都有结果了,所以可省略10这一步骤。

坚守VFP最后的阵地
2014-09-21 10:41
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用sdta在2014-9-21 10:29:11的发言:

SFZH=[320113196301040514]
*- 04 -第18位校验码验证
J=[0709100508040201060307091005080402]
*   Y值:012345678910   
校验码="10X98765432"
LOCAL NUM,CTITLE  
NUM=0
CTITLE=""
FOR I=1 TO 17
    NUM=NUM+VAL(SUBSTR(J,I*2-1,2))*VAL(SUBSTR(SFZH,I,1))
ENDFOR
CTITLE=[第18位校验码为【]+SUBSTR(校验码,MOD(NUM,11)+1,1)+[】,与身份证校验码]+IIF(RIGHT(SFZH,1)==SUBSTR(校验码,MOD(NUM,11)+1,1),"相符","不相符")
MESSAGEBOX(CTITLE,64,"系统信息")
*- 04 -第18位校验码验证 与
J=[0709100508040201060307091005080402]
各表示什么意思?
2014-09-21 10:55
快速回复:VFP6 下提示: sql 表达式太复杂是何回事?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019838 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved