4楼都清楚告诉你了。
如果想在表达式中使用某个对象的属性,需要将属性赋值给一个内存变量,然后在表达式中使用这个变量
我一般不会出现这样的问题,因为我习惯这样做。
Visual FoxPro 9.0 语言参考
UPDATE - SQL 命令
看下命令的用法
SET Column_Name1= eExpression1 [, Column_Name2 = eExpression2 ...] *NEW VFP9-用法变化
指定要进行更新的表中的列及其新值。如果省略 WHERE 子句,表中的每一行都用相同的值更新。如果想在表达式中使用某个对象的属性,需要将属性赋值给一个内存变量,然后在表达式中使用这个变量。例如,您可以指定 x = oColField("iid").Value ,然后在您的 UPDATE - SQL 命令中使用 SET 子句 set iid = x 。如果在表达式中直接引用对象属性,如 objectname.property,命令将把其当作别名对待,并使命令失败。可以在 SET 子句包含一个子查询(subquery)来指定表达式。如果子查询(subquery)没有返回任何结果,则其返回 NULL 。有关子查询(subquery)的语法和信息,请参见 SELECT - SQL 命令 - FROM 子句。
如果想在表达式中使用某个对象的属性,需要将属性赋值给一个内存变量,然后在表达式中使用这个变量
我一般不会出现这样的问题,因为我习惯这样做。
Visual FoxPro 9.0 语言参考
UPDATE - SQL 命令
看下命令的用法
SET Column_Name1= eExpression1 [, Column_Name2 = eExpression2 ...] *NEW VFP9-用法变化
指定要进行更新的表中的列及其新值。如果省略 WHERE 子句,表中的每一行都用相同的值更新。如果想在表达式中使用某个对象的属性,需要将属性赋值给一个内存变量,然后在表达式中使用这个变量。例如,您可以指定 x = oColField("iid").Value ,然后在您的 UPDATE - SQL 命令中使用 SET 子句 set iid = x 。如果在表达式中直接引用对象属性,如 objectname.property,命令将把其当作别名对待,并使命令失败。可以在 SET 子句包含一个子查询(subquery)来指定表达式。如果子查询(subquery)没有返回任何结果,则其返回 NULL 。有关子查询(subquery)的语法和信息,请参见 SELECT - SQL 命令 - FROM 子句。