查询

时间:2017-10-02 11:34:26

标签: dbflow

我是DBFLow的新手。 我想根据where子句制作返回一行的aquery ..我似乎没有找到带有和的where子句。

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

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

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

的位置

什么是正确的查询?

1 个答案:

答案 0 :(得分: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();

你也可以这样写(用&#34;。和#34;在这种情况下。你可以选择&#34;。或&#34;和其他运算符而不是&#34;。和&#34 ;)

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();