sql select不起作用

时间:2017-04-30 18:08:13

标签: sql asp.net visual-studio-2010 ms-access-2016

我在我的asp.net项目中使用Microsoft Access 2016。 我有一个名为isAdmin的是/否字段,我想创建一个sql,显示所有管理员用户。我试过"从table1中选择* isAdmin =' 1'。",但它没有用。它给了我一条错误信息:"数据类型不匹配"。我应该在代码中更改什么?

3 个答案:

答案 0 :(得分:1)

MS Access存储与标准SQL服务器不同的是/否字段,甚至是MS SQL Server,其中布尔值为1或0.在MS中访问BIT数据类型,即布尔值是/否字段,由-1(真)或0(假)表示。负值-1具有所有位设置的位模式。您可以将WHERE子句写为

WHERE isAdmin = -1

为了更方便地移植到其他SQL数据库,您还可以使用

WHERE isAdmis <> 0

后一个对于MS Access以及MS SQL Server或大多数其他SQL方言都是正确的。

另见https://support.office.com/en-us/article/Add-a-check-box-control-to-show-Yes-No-values-4FA55FFF-B3A0-4D03-A7A6-A2CFE4D03D4C

答案 1 :(得分:0)

这取决于您的数据类型。如果此列的数据类型是varchar,那么

select * from table1 where isAdmin = 'yes'

如果是int类型则

select * from table1 where isAdmin = 1

答案 2 :(得分:-1)

看起来你应该尝试:

select * from table1 where isAdmin = 1;