标题:用SQL ALLTE tabe 增加字段语句中用表名时为什么用到&宏时报错
只看楼主
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
结帖率:79.3%
已结贴  问题点数:20 回复次数:20 
用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
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
VFP9测试两种方法都无异常
2015-07-27 09:44
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册: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
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
以下是引用吹水佬在2015-7-27 09:44:51的发言:

VFP9测试两种方法都无异常
请见3楼如图
2015-07-27 10:07
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册: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
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
以下是引用sylknb在2015-7-27 10:18:49的发言:

我又重新测式分二种情况
1)我把文件在桌面上操作时
bmk=GETFILE('DBF','接收成绩库','',0,'选择要接收成绩库1502.dbf')
use &bmk.就产生错误。
2)而放在D:\下操作时
bmk=GETFILE('DBF','接收成绩库','',0,'选择要接收成绩库1502.dbf')
use &bmk.&&能打开

放在桌面,估计是文件名中带有空格或者文件名太长,我曾经用 COPY TO 来导到EXCL表去,放在桌面的时,就报错,放去其它C,D,等盘去,就可以。
2015-07-27 15:33
沙枣
Rank: 4
来 自:宁夏银川
等 级:业余侠客
威 望:5
帖 子:103
专家分:221
注 册:2015-5-31
得分:3 
以下是引用mywisdom88在2015-7-27 15:33:45的发言:

 
放在桌面,估计是文件名中带有空格或者文件名太长,我曾经用 COPY TO 来导到EXCL表去,放在桌面的时,就报错,放去其它C,D,等盘去,就可以。
同意6楼的看法,放在桌面上,文件名前面的路径中有“空格”,会导致程序运行出错,而改在具体的硬盘上且文件夹没有空格时,就运行正常。
2015-07-27 15:40
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
我记得进入长路径时用(  )或用"  "把路径各括起来

改用 use  (bmk),不出错,好理介解,
   use  '&bmk.'也不出错,但不好理介
2015-07-27 15:48
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用sylknb在2015-7-27 15:48:30的发言:

我记得进入长路径时用(  )或用"  "把路径各括起来

改用 use  (bmk),不出错,好理介解,
   use  '&bmk.'也不出错,但不好理介

看看这样:
ss = "123 + 456"
? &ss
? "&ss"
2015-07-27 15:55
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册: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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-455819-1-1.html




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

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