以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于true和false  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=32998)

--  作者:chnfo
--  发布时间:2013/5/11 17:15:00
--  [求助]关于true和false
看到帮助的“逻辑列的查询”这一节里,说数据库中true=1,false=0
但我用了ACCESS2010做数据库,打开数据库的表后,发现里面代表true的值是0,而代表false的值是-1.
这是咋回事呢?

--  作者:chnfo
--  发布时间:2013/5/12 12:15:00
--  

t.Fill("select * from {表A} where AAA = False and BBB = true " ,"PMCS", True)

或者

t.Fill("select * from {表A} where AAA = 0 and BBB = 1 " ,"PMCS", True)


这两种方式执行的结果完全不一样啊。

方式一:t.Fill("select * from {表A} where AAA = False and BBB = true " ,"PMCS", True)

方式二:t.Fill("select * from {表A} where AAA = 0 and BBB = -1 " ,"PMCS", True)

的结果是一样的。


那么,是方式一的效率高还是方式二的效率高呢?

[此贴子已经被作者于2013-5-12 12:25:32编辑过]

--  作者:chnfo
--  发布时间:2013/5/19 13:39:00
--  
再问一下:是不是所有的Filter里,都可以用0代替false,用1代替 true?
例如deletefor,select,find,findrow等?
tables("表A“).filter = "第一列 = 1“?
tables("表A“).filter = "第一列 = 0“?
[此贴子已经被作者于2013-5-19 13:42:27编辑过]

--  作者:don
--  发布时间:2013/5/19 13:50:00
--  
自己測試下就知道,何必事事依賴別人
--  作者:chnfo
--  发布时间:2013/5/19 14:05:00
--  
你说得很有哲理,这些测试工作我也在做,但是涉及到的地方太多了,我希望有权威的解释而已。
本来所有的地方都用true 和false肯定不会出错,但有的地方运行效率确实不敢恭维。
[此贴子已经被作者于2013-5-19 14:05:50编辑过]

--  作者:don
--  发布时间:2013/5/19 14:11:00
--  
幫助===> 常見效率問題,已說的很清楚了:
在查詢表達式中用1代替True,用0代替False,效率提高超過100倍,切記切記。
--  作者:chnfo
--  发布时间:2014/3/5 11:27:00
--  
在fill方法中不能用1代替true,但可以用0代替false。如果用access数据库的话