db.Query причина фатального исключения

#android #sqlite

#Android #sqlite

Вопрос:

Среда: база данных Android: на основе SQLite

У меня есть база данных, созданная с помощью sqlite, база данных содержит сведения о пользователях, такие как логин, пароль, имя, фамилия, страна. Моя проблема заключается в создании запроса, который будет проверять логин и пароль [поэтому выберите query], а затем разрешить или не продолжать.

 public void logineSelector(String log, String pass){
String[] kolumny = new String[]{colLogin, colPassword};
Cursor cursor= sqLiteDatabase.query(Usr_TABLE, kolumny, pass, null, null, null, null);
}
 

но это приводит к полному беспорядку всей программы, консоль отладки выдает мне это:

 Fatal Exception: Main
Java.lang.IllegalStateException: Could not execute method of the activity
.....
 

есть предложения, что делать?

Ответ №1:

Вы не вызываете метод запроса с правильными параметрами. Проверьте javadoc.

Если вы пытаетесь найти пользователя с логином / паролем, который вы передаете в метод, вы, вероятно, захотите сделать что-то вроде:

 Cursor cursor = sqLiteDatabase.query(Usr_TABLE, kolumny,USER_COL "= ? and " PASS_COL   "= ?", new String[]{log,pass},null,null,null);
 

предполагая, что вы определили USER_COL и PASS_COL, чтобы содержать имена рассматриваемых столбцов.

Комментарии:

1. что ж, запрос может быть в порядке, но ошибка все та же :/

2. хорошо, я нашел причину, я забыл открыть для чтения базу данных <facepalm>