以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  Access与SQL数据源符号区别?(解决)  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=8246)

--  作者:shixia
--  发布时间:2010/9/22 20:28:00
--  Access与SQL数据源符号区别?(解决)

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编辑过]