| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1275 人关注过本帖
标题:用SQL ALLTE tabe 增加字段语句中用表名时为什么用到&宏时报错
取消只看楼主 加入收藏
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
结帖率:79.38%
收藏
已结贴  问题点数:20 回复次数:9 
用SQL ALLTE tabe 增加字段语句中用表名时为什么用到&宏时报错
bmk=GETFILE('DBF','接收成绩库','',0,'选择要接收成绩库1502.dbf')

ALTER TABLE &bmk. ADD COLUMN XH N(1)
改为:
ALTER TABLE (BMK) ADD COLUMN XH N(1)  &&没有报错

ALTER TABLE ‘&bmk.’ ADD COLUMN XH N(1) *在&bmk.左右加上'  '也没有报错


[ 本帖最后由 sylknb 于 2015-7-27 09:36 编辑 ]
2015-07-27 09:26
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
VFP9
bmk=GETFILE('DBF','接收成绩库','',0,'选择要接收成绩库1502.dbf')

use ( bmk) &&可以打开

use '&bmk.'&&也可找开
改:
use &bmk. &&提示错误
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 sylknb 于 2015-7-27 09:59 编辑 ]
2015-07-27 09:48
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用吹水佬在2015-7-27 09:44:51的发言:

VFP9测试两种方法都无异常
请见3楼如图
2015-07-27 10:07
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
我又重新测式分二种情况
1)我把文件在桌面上操作时
bmk=GETFILE('DBF','接收成绩库','',0,'选择要接收成绩库1502.dbf')
use &bmk.就产生错误。
2)而放在D:\下操作时
bmk=GETFILE('DBF','接收成绩库','',0,'选择要接收成绩库1502.dbf')
use &bmk.&&能打开

[ 本帖最后由 sylknb 于 2015-7-27 10:19 编辑 ]
2015-07-27 10:18
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
我记得进入长路径时用(  )或用"  "把路径各括起来

改用 use  (bmk),不出错,好理介解,
   use  '&bmk.'也不出错,但不好理介
2015-07-27 15:48
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用吹水佬在2015-7-27 15:55:08的发言:

 
看看这样:
ss = "123 + 456"
? &ss
? "&ss"
你上面的示例当然明白,但碰具体又有不清楚了。
请看文件一个是在桌面上的某个目录中
bmk=GETFILE('DBF','接收成绩库','',0,'选择要接收的教师成绩库0682.dbf')
USE '&bmk.'
能打开
见图1的左下角状态栏中
图片附件: 游客没有浏览图片的权限,请 登录注册

另一个在D:盘下的目录中
bmk=GETFILE('DBF','接收成绩库','',0,'选择要接收的教师成绩库0682.dbf')
USE &bmk.
能打开
 请图2,左下角的状态橍
图片附件: 游客没有浏览图片的权限,请 登录注册

上面二个例子就不能用你的ss = "123 + 456"
? &ss
? "&ss"
的介释了。
2015-07-27 16:17
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
3、当名称长度在84时,不带空格,OK
4、当名称长度在260时,不带空格,OK
你指的名称长度84时或260是指什么?是不是len()测出来的长度
2015-07-27 18:25
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
张洪举VFP9指南中提到&不支持长路径或长文件,要出错,道理没有讲.
2015-07-27 18:44
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
以下是引用taifu945在2015-7-28 23:02:06的发言:


张洪举的书写的虽然很权威,但有个别地方还是说得不够精确,比如你说的这个问题。空格在VFP的语句中通常表示分隔符,那么你宏替换出来的字符中带了空格,而又不用引号引起,这空格就被当作分隔符,而不是文件名了。你可能要问:小括号括起的变量也没用引号引起,怎么就能正确识别?因为用小括号括起后,被VFP认为是“名表达式”。既然是名表达式么,这里面的内容整个就是一名字了,其中的空格也就不会被理解成分隔符了。至于宏代换变量后的那个点,在此处有没有都不影响最后结果。它主要用于隔离宏替换变量和后面紧跟的可能影响该变量识别的其它字符。
解释还是很有道理的。
2015-07-29 09:18
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1547
专家分:184
注 册:2006-6-3
收藏
得分:0 
bmk=IIF(LEFT(bmk,1)='"',bmk,'"'+bmk)+IIF(RIGHT(bmk,1)='"','','"')
能介释一下此语句?好吗?
2015-08-05 11:45
快速回复:用SQL ALLTE tabe 增加字段语句中用表名时为什么用到&宏时报错
数据加载中...
 
   



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

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