0

我是 DBFLow 的新手。我想做一个根据 where 子句返回一行的查询。我似乎找不到带有 and 的 where 子句。

String phone = uname_pass[0];
String pass = uname_pass[1];

List<User> userList = SQLite.select().from(User.class).where("phone ?",phone ).execute();

我想检索 wherephone = uname_pass[0];password = uname_pass[1];

什么可能是正确的查询?

4

1 回答 1

1

1)同步:

List<User> userList = SQLite.select()
                     .from(User.class)
                     .where(User_Table.phone.eq(uname_pass[0], User_Table.password.eq(uname_pass[1]))
                     .queryList();

您也可以这样写(在这种情况下使用“.and”。您可以选择“.or”和其他运算符而不是“.and”)

List<User> userList = SQLite.select()
                     .from(User.class)
                     .where(User_Table.phone.eq(uname_pass[0]))
                     .and(User_Table.password.eq(uname_pass[1]))
                     .queryList();

2)异步:

SQLite.select()
    .from(User.class)
    .where(User_Table.phone.eq(uname_pass[0]),User_Table.password.eq(uname_pass[1]))
    .async()
    .queryListResultCallback(new QueryTransaction.QueryResultListCallback<User>() {
        @Override
        public void onListQueryResult(QueryTransaction transaction, List<User> tResult) {

        //your list will be tResult
        }
    }).execute();
于 2017-10-19T15:53:33.133 回答