|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ 带有参数的命令
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
939
人关注过本帖
标题:
带有参数的命令
只看楼主
加入收藏
hyz00001
等 级:
论坛游侠
威 望:
1
帖 子:168
专家分:137
注 册:2012-10-5
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:20 回复次数:9
带有参数的命令
需要实现的功能比较简单,将现在已经打开的某一张表按照我指定的名字复制到指定位置。
我自己编写的代码如下:
弹出的错误提示为:“找不到变量cfile”
请给与指导,谢谢。
SELECT * FROM po
DO cv WITH cfile
PROCEDURE cv
PARAMETERS cfile
COPY TO 'd:\'- cfile TYPE CSV
RETURN
2014-06-20 13:07
举报帖子
使用道具
赠送鲜花
hyz00001
等 级:
论坛游侠
威 望:
1
帖 子:168
专家分:137
注 册:2012-10-5
第
2
楼
收藏
得分:0
刚才经过研究,看是不是这样就ok?
CLOSE TABLES
USE po
CFILE ='item'
DO cv WITH cfile
PROCEDURE cv
PARAMETERS cfile
COPY TO 'd:\'- cfile TYPE CSV
RETURN
2014-06-20 13:17
举报帖子
使用道具
赠送鲜花
hyz00001
等 级:
论坛游侠
威 望:
1
帖 子:168
专家分:137
注 册:2012-10-5
第
3
楼
收藏
得分:0
如果我希望在其他任何地方都能调用cv这个过程呢?
2014-06-20 13:19
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
4
楼
收藏
得分:20
命令中的cfile应用宏,并且把结果转换回字符串与'd:\'运算。正规的方法,应是先建立一个中间字符型变量filename,把路径和文件名拼接好,再按标准语法调用命令:COPY TO &filename TYPE CSV
适应性更强的写法是:COPY TO "&filename" TYPE CSV
支持长文件名,特别是
中间带空格
的文件名。
[
本帖最后由 TonyDeng 于 2014-6-20 13:22 编辑
]
授人以渔,不授人以鱼。
2014-06-20 13:20
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
5
楼
收藏
得分:0
以下是引用
hyz00001
在2014-6-20 13:19:23的发言:
如果我希望在其他任何地方都能调用cv这个过程呢?
把这个过程写在一个单独的PRG文件中,使用前先 SET PROCEDURE TO 该文件;或者此PRG的文件名与PROCEDURE名同名,而 SET PATH TO 搜索路径包含此PRG文件所在的文件夹。
授人以渔,不授人以鱼。
2014-06-20 13:25
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
6
楼
收藏
得分:0
小小提示:写一个软件系统,不必把所有PRG都放在同一个目录,应该分类管理,各有各独立的文件夹,比如通用的自定义过程和函数,就集中在一个文件夹中,而该程序自身独用的,就放在程序自身的目录树中,还应分模块归类,不必只有一个目录。系统和语言提供 SET PATH TO 这样的指令,不是没意义的。
授人以渔,不授人以鱼。
2014-06-20 13:31
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
7
楼
收藏
得分:0
最好少用DO...WITH,用与其他语言语法看起来更一致的proc_name(parameters_list)。前者默认是引用传递,在被调用过程和函数中可能会无意中修改实参的内容,发生不必要的问题,改用后者的赋值传参方式是较安全的。
授人以渔,不授人以鱼。
2014-06-20 13:41
举报帖子
使用道具
赠送鲜花
hyz00001
等 级:
论坛游侠
威 望:
1
帖 子:168
专家分:137
注 册:2012-10-5
第
8
楼
收藏
得分:0
完美的解决了 问题。
谢谢。
2014-06-20 13:44
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
9
楼
收藏
得分:0
尽量用4楼说的标准语法格式书写命令,特别是复杂的SQL SELECT查询语句。把每一子项对应到一个可以跟踪内容的字符串上,对排查错误有莫大的帮助,不要把运算过程统统写到命令中,一条语句占用两行已经难以忍受,但我看到很多人乐于写出十多行的复杂语句,估计是一次性使用的,作以后决不会跟踪排错的打算(当然出问题了到网上找“大神”也是路径之一)。
授人以渔,不授人以鱼。
2014-06-20 13:55
举报帖子
使用道具
赠送鲜花
10
1/1页
1
快速回复:
带有参数的命令
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.025796 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved