2015-12-22 9 views
0

Я довольно новичок в Android и SQLite, поэтому, пожалуйста, не будьте такими строгими :)Как сделать правильный выбор для Cursor android?

Мне нужно выбрать строки из db, где длина строки должна быть> 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 сусло выглядит как?

Большое спасибо за все советы!

+0

как это выглядело бы в запросе на квадратный sqlite? – Blackbelt

ответ

2

Conside вы хотите проверить длину столбца электронной почты, то запрос будет

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

Вы можете получить курсор, используя код, указанный ниже

1 параметр отличается

второй является имя таблицы

3rd представляет собой массив строк, содержащий имя атрибута, которое вы хотите вернуть

4rth одно где положение

для более подробной информации 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); 
2

Если вы хотите, чтобы выбрать конкретный столбец, например. НАЗВАНИЕ длины> 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 
    ); 
} 
+0

отлично помог мне – Pranav

Смежные вопросы