2015-04-07 3 views
0

Я хочу найти в столбце, содержащем String, как «У меня будет #dinner с @Akki на ее # Bday.Я сейчас ищу, но это заметка работает. , в то время как поиск переменных имеет значение, например #dinner. . выКак я могу использовать Regex для получения данных из sqlite?

selectionArgs = new String[] {"'"+search+"'"}; String qur="SELECT * FROM TODOS WHERE fullnote REGEXP"; Cursor c = db.rawQuery(qur,selectionArgs);

+0

Попробуйте 'String qur =" SELECT * FROM TODOS WHERE fullnote LIKE% # dinner% '"'. –

+0

Мне нужно использовать rawQuery, как пытаюсь. поэтому я должен передать два аргумента в 'rawQuery (query, args);' –

+0

Вы пытались добавить пробел после «REGEXP»? –

ответ

-1

После долгого R & D я пришел, чтобы указать, что я не могу использовать REGEXP непосредственно. затем я попробовал Cursor c = db.rawQuery("SELECT * FROM TODOS WHERE tag LIKE '%"+search+"%' ",null);

, и все было хорошо. Спасибо всем.

2

Попробуйте использовать

String[] selectionArgs = new String[] {"%"+search+"%"}; 
Cursor c = db.rawQuery("SELECT * FROM TODOS WHERE fullnote LIKE ?",selectionArgs); 

Android SQLite reference См:

public Cursor rawQuery (String sql, String[] selectionArgs)

selectionArgs - Вы можете включить ? с в котором положение в запросе, который будут заменены значениями из selectionArgs. Значения будут равны , связанным как строки.

+0

Это останавливается, когда появляется Cursor c = .... :(к сожалению, остановлено. –

+0

вы можете создать метод с методом query(). –

+0

Проверьте, правильно ли написаны все имена, и они действительно присутствуют. Убедитесь, что ваш * поиск * не равен нулю. –

-1
selectionArgs = new String[] {search}; 
    Cursor c = db.rawQuery("SELECT * FROM TODOS WHERE fullnote LIKE '%?%'",selectionArgs); 
+0

Пожалуйста, добавьте некоторое объяснение, почему это помогает – Wain

+0

не работает. @Vikas –

+0

См. http://stackoverflow.com/вопросы/25932519/андроид-failes к вызову-SQLite-где-колонка, как-The-оператор-имеет-0-параме – chntgomez

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