如何正确选择Cursor android?

时间:2015-12-22 09:30:28

标签: android sqlite android-sqlite

我是android和SQLite的新手,所以请不要这么严格:)

我需要从db中选择行,其中一些String长度必须是>超过5个符号。

以下是我的代码的一部分:

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    mProgressBar.setVisibility(View.VISIBLE);
    mProgressBar.start();
    return new CursorLoader(
            getActivity(),
            mUri,
            CONTACT_COLUMNS,
            mSelection, null, null
    );
}

所以我的mSelection看起来如何?

非常感谢所有建议!

3 个答案:

答案 0 :(得分:2)

考虑您要检查列电子邮件的长度,然后查询

Cursor c = db.rawQuery("select * from user where length(email)>5",null);

答案 1 :(得分:2)

如果要选择特定列,例如。名称长度&gt; 5,你可以这样做,

String strSelect = "(("+ NAME + " != '' ) AND ("+"length("+NAME+") > 5 ))" ;

@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    mProgressBar.setVisibility(View.VISIBLE);
    mProgressBar.start();
    return new CursorLoader(
            getActivity(),
            mUri,
            CONTACT_COLUMNS,
            strSelect, null, null
    );
}

答案 2 :(得分:0)

您可以使用下面给出的代码获取光标

第一个参数是不同的

第二个是表的名称

3rd是String数组,包含您要返回的属性名称

4rth one where where子句

了解更多详情query

Cursor cursor = db.query(true, TABLE_NAME, new String[] {
            /* Attributes you want to get seperated by comma */
    }, "length(email)>5", null, null, null, null, null);