如何正确选择 Cursor android?
How to make correct selection for Cursor android?
我在 android 和 SQLite 方面比较新,所以请不要那么严格:)
我需要 select 数据库中的行,其中某些字符串长度必须大于 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
应该是什么样子的?
非常感谢大家的建议!
考虑到您要检查电子邮件列的长度,那么查询将是
Cursor c = db.rawQuery("select * from user where length(email)>5",null);
您可以使用下面给出的代码获取光标
第一个参数不同
第二个是table
的名字
第 3 个是字符串数组,其中包含您要 return
的属性名称
第 4 个是 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);
如果您想 select 特定列,例如。 NAME 的长度 > 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
);
}
我在 android 和 SQLite 方面比较新,所以请不要那么严格:)
我需要 select 数据库中的行,其中某些字符串长度必须大于 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
应该是什么样子的?
非常感谢大家的建议!
考虑到您要检查电子邮件列的长度,那么查询将是
Cursor c = db.rawQuery("select * from user where length(email)>5",null);
您可以使用下面给出的代码获取光标
第一个参数不同
第二个是table
的名字第 3 个是字符串数组,其中包含您要 return
的属性名称第 4 个是 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);
如果您想 select 特定列,例如。 NAME 的长度 > 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
);
}