当前位置: 代码迷 >> VFP >> 带括号的变量与不带括号的变量有什么区别解决思路
  详细解决方案

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

热度:196   发布时间:2016-05-05 23:47:09.0
带括号的变量与不带括号的变量有什么区别
例如下面三句中的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"  才可以
  相关解决方案
本站暂不开放注册!
内测阶段只得通过邀请码进行注册!
 
  • 最近登录:Mon Jan 23 08:26:42 CST 2017
  • 最近登录:Mon Jan 23 08:26:42 CST 2017
  • 最近登录:Mon Jan 23 08:26:42 CST 2017
  • 最近登录:Mon Jan 23 08:26:42 CST 2017
  • 最近登录:Mon Jan 23 08:26:42 CST 2017