Неверные данные на выходе при запросе select(exists....)
- Для работы с бд использую jdbc
- Создаю переменную запроса: String select = "SELECT EXISTS(SELECT * FROM пользователи WHERE Логин="" + login + "")"; где login- переменная, заполняемая пользователем
- На любое значение login команда statement.execute(select) всегда выдаёт true, хотя моя бд девственно чистая.
Что мешает грамотному чтению данных?
Ответы (1 шт):
Автор решения: FatherOfFiveChildren
→ Ссылка
statement.execute() применимо к update, insert, delete и в некоторых языках могут возвращать значения о количестве обновленных строк, новый id записи, или успехе операции удаления.
Запрос select возвращает набор записей (query) в формате курсор(Cursor).
Для проверки есть ли записи используется методы для определения количества записей moveToFirst, getCount. В каждом языке они могут отличаться и выглядят примерно так
Cursor c = db.rawQuery("select * from objects where x=" + x, null);
//есть ли записи
if(c.moveToFirst()) {
objCount = c.getCount();//количество записей
}
c.close();