首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

带括号的变量与不带括号的变量有什么区别解决思路

2012-12-31 
带括号的变量与不带括号的变量有什么区别例如下面三句中的a与(a)有什么区别aalltrim(thisform.text1.valu

带括号的变量与不带括号的变量有什么区别
例如下面三句中的a与(a)有什么区别
a=alltrim(thisform.text1.value)
select * from 学生 where 姓名=a into table (a)
thisform.grid1.recordsource="select * from (a) into cursor bb"

(a)写成&a可以吗?
a=alltrim(thisform.text1.value)
select * from 学生 where 姓名=a into table &a
thisform.grid1.recordsource="select * from &a into cursor bb"

[解决办法]


*---问题1
**********
* ( )命令
**********
语法:
(字符表达式)

参数:
字符表达式:为字符型变量。

返回值:字符型

说明:名字表达式的功能类似于&(宏替换),当程序在执行过程中,遇到名字表达式时,计算字符表达式,用结果进行替换,然后继续执行命令。名字表达式要比宏替换快,但适用范围较窄,用于字段名、文件名等。
当字符型表达式是一个字符型变量时,必须用圆括号括起来;
-----------------------------
DBFILE="PEOPLE"
IDXFILE="PEONAME"
USE (DBFILE) INDEX (IDXFILE)
-----------------------------
如果含有操作符,则圆括号可以省略。
----------------------------------
DBFILE="PEOPLE"
IDXFILE="PEONAME"
USE (DBFILE) INDEX IDXFILE+".IDX"
----------------------------------
IDXFILE+".IDX"中的操作符"+"告诉VFP它是名字表达式,因此不需要用圆括号括起来。
*---问题2
可以
查看VFP帮助文件中& 命令的说明


[解决办法]
本帖最后由 dkfdtf 于 2012-07-22 11:06:41 编辑 写成 & 也可以,如果 a 中不包含空格的话,例如:
a = 'C:\Documents and Settings\Administrator\My Documents\aaa.dbf'

select * from ttt into table (a) 可以
select * from ttt into table &a  出错
改成 select * from ttt into table "&a"  才可以

热点排行