| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1008 人关注过本帖
标题:请指导 update 不用宏,可以吗?
只看楼主 加入收藏
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1730
专家分:3324
注 册:2012-2-29
收藏
得分:0 
回复 10楼 吹水佬
谢谢!我使用错误哈,哈哈^_^
2023-05-23 20:29
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
程序代码:
CREATE CURSOR _result (aaff I, abff I, acff I) 
APPEND BLANK
cmd = ""
for xks = 0 to 2
    cmd = cmd + "," + substr([aa,ab,ac,ad],3*xks+1,2) + "ff=" + TRANSFORM(xks)
ENDFOR
cmd = "UPDATE _result SET " + SUBSTR(cmd,2)
EXECSCRIPT(cmd)
SELECT * FROM _result 
2023-05-23 20:35
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1730
专家分:3324
注 册:2012-2-29
收藏
得分:0 
回复 12楼 吹水佬
谢谢吹版!
2023-05-24 05:52
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1089
专家分:2682
注 册:2015-12-30
收藏
得分:0 
回复 楼主 schtg
好奇的问下楼主,为什么要不用宏?
2023-05-24 07:56
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1730
专家分:3324
注 册:2012-2-29
收藏
得分:0 
回复 14楼 laowan001
因在使用宏的过程中,出现过不可控、无法预知的结果,尽管次数很少,但是无奈,所以就尽可能不用啦。
2023-05-24 10:36
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1089
专家分:2682
注 册:2015-12-30
收藏
得分:0 
以下是引用schtg在2023-5-24 10:36:40的发言:

因在使用宏的过程中,出现过不可控、无法预知的结果,尽管次数很少,但是无奈,所以就尽可能不用啦。


可以理解
个人以为,VFP的宏是个非常好的设计,让程序有很强的灵活性,虽然有时会有不可控的情况,但终归是级少数,可以有选择的使用
楼上提出了一些解决方案,感觉最终还是宏的变种方法,是否真能解决“不可控、无法预知”的问题,还有待商榷,因为只要不是确定的字段名或命令,都需要拼出语句来执行,其根本还是宏
2023-05-24 10:51
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1730
专家分:3324
注 册:2012-2-29
收藏
得分:0 
回复 16楼 laowan001
你说的很对,只是我对宏控制不好,所以我个人尽可能少用。
2023-05-24 11:10
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
&宏替换和EXECSCRIPT()都可以动态执行命令语句。
但EXECSCRIPT()不只有动态语句功能,还具有动态函数功能,可以一次动态执行一组命令语句,可使用参数和返回值。
都要注意的是,动态语句的正确性和可靠性,尤其是对字符串中的空格和逗号要控制好。因VFP语句中空格和逗号有特殊意义的,搞错了有可能会出现语句非法或结果不对。
2023-05-24 11:33
快速回复:请指导 update 不用宏,可以吗?
数据加载中...
 
   



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

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