ADO Database Table Boolean Column

扶醉桌前 提交于 2019-12-23 02:29:17

问题


I am having a bit of trouble with ADO. I have deployed a database application, which uses Access. With the release of different versions database tables have different fields, some added others deleted etc. What I can't get to work is how to add a BOOLEAN field in the database.

For upgrade purposes I use the standart sql query component with a sql that looks like this :

ALTER TABLE XXX ADD COLUMN YY BOOLEAN

while this works for other data types, such as VARCHAR, INTEGER, DOUBLE etc, it does not with BOOLEAN. I suspect it's Access's fault with it's YES/NO thing for boolean, but who knows.

Also how can I add fields to a table using TADOTable?

Thanks in advance.


回答1:


In Microsoft Access SQL, The BIT column directly corresponds to the YES/NO field. I have experienced an odd behavior with it if you attempt to convert this later to SQL Server, and my advise is to then do the following:

When EVER you do a check against this field, remember the syntax should be (FIELD <> 0) for checking TRUE, and (FIELD = 0) for checking false. SQL Server doesn't understand the concept of TRUE/FALSE, and in access the value returns -1 and 0, while in SQL Server the values are 1 and 0.

In access it will only render a check box if you also set the field to not null. If nulls are allowed, then it will display the 0 or -1 or empty.




回答2:


Not sure about Access, but SQL Server uses a bit type to handle boolean values.




回答3:


Try BIT, not BOOLEAN




回答4:


You can't do many operations on BIT (or your own custom) type, much better is TINYINT(1) and use 0 / 1.



来源:https://stackoverflow.com/questions/786021/ado-database-table-boolean-column

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!