也许是这个原因:
SQL Server的逻辑列
我曾经使用下面的SQL语句设置逻辑列的值:
UPDATE {表A} SET 结账 = False
在使用内部表和Access数据源的时候,上述SQL语句均能正常执行,当转为SQl Server的时候,却出现了错误提示。
这是因为SQL Server用0表示False,1表示True,所以上述语句应该改为:
UPDATE {表A} SET 结账 = 0
同样在使用条件表达式的时候,也要做适当的调整调整,例如:
Select * From {表A} Where 结账 = 1
表示获得已经结账的行。
需要注意的是,SQL Server这种特性只有在使用SQL语句的时候才存在,数据一旦加载到Foxtable,不管数据来自何种数据源,逻辑列的值都是False和True,不再是0和1。