首页 文章

ADO数据库表布尔列

提问于
浏览
1

我在使用ADO时遇到了一些麻烦 . 我已经部署了一个使用Access的数据库应用程序 . 随着不同版本的发布,数据库表具有不同的字段,一些添加了其他字段,等等 . 我无法工作的是如何在数据库中添加BOOLEAN字段 .

出于升级目的,我使用标准sql查询组件和一个如下所示的sql:

ALTER TABLE XXX ADD COLUMN YY BOOLEAN

虽然这适用于其他数据类型,如VARCHAR,INTEGER,DOUBLE等,但它不适用于BOOLEAN . 我怀疑它是Access的错,它的布尔值是YES / NO,但是谁知道 .

另外如何使用TADOTable向表中添加字段?

提前致谢 .

4 回答

  • 0

    不确定Access,但SQL Server使用位类型来处理布尔值 .

  • 2

    在Microsoft Access SQL中,BIT列直接对应于YES / NO字段 . 如果您稍后尝试将其转换为SQL Server,我遇到了奇怪的行为,我的建议是执行以下操作:

    当您对此字段进行检查时,请记住语法应为(FIELD <> 0)以检查TRUE,并使用(FIELD = 0)检查false . SQL Server不理解TRUE / FALSE的概念,并且在访问时,值返回-1和0,而在SQL Server中,值为1和0 .

    在访问中,如果您还将字段设置为非空,则只会呈现一个复选框 . 如果允许空值,则它将显示0或-1或空 .

  • 1

    你不能对BIT(或你自己的自定义)类型做很多操作,更好的是TINYINT(1)并使用0/1 .

  • 5

    试试BIT,而不是BOOLEAN

相关问题