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。
请问,DataTables("表A").Select("[第一列]=True")中的True是否也统统修改为 1?还是只局限于在Select 、UpDate、Delete、Insert inot语句中修改?
尤其在 SQLCrossTableBuilder统计中 g.Filter 中的引用逻辑列作为条件时,是用1还是true?
filter和LoadFilter中的True都要修改为1
[此贴子已经被作者于2010-9-23 13:45:40编辑过]