android ORMLite获取查询Where NOTal

时间:2015-06-21 05:14:51

标签: android ormlite

在ORMLite文档中的

我找不到任何关于这个SQL命令的文档:

SELECT * FROM table WHERE state <> 1

我可以通过此代码获得相同的查询:

List<ContactLists> contacts = G.CONTACTLISTSDAO.queryForEq("state","1");

如何将此代码更改为NOT Equal

2 个答案:

答案 0 :(得分:6)

  

如何将此代码更改为NOT Equal

ORMLite DAO有一个简单的queryForEq(...)方法。如果您查看code for queryForEq(...),您会发现它只是一种方便的方法:

return queryBuilder().where().eq(fieldName, value).query();

这意味着您可以更改使用ne(...)而不是eq(...)的位置:

return queryBuilder().where().ne(fieldName, value).query();

要执行更复杂的查询,您应该RTFM关于QueryBuilder

  

http://ormlite.com/docs/query-builder

QueryBuilder使用where() method and Where class来定义查询的WHERE部分。等于eq,大于小gt,小于lt,不等于ne等等。所以,正如@BrownKang指出的那样,您的查询将类似于:

List<ContactLists> contacts =
    G.CONTACTLISTSDAO.queryBuilder().where().ne("state", "1").query();

答案 1 :(得分:3)

您可以使用“ne”

List<ContactLists> contacts =
    G.CONTACTLISTSDAO.queryBuilder().where().ne("state", "1").query();

像这样使用。