Android Studio база данных SQLite.неизвестная ошибка - PullRequest
0 голосов
/ 26 ноября 2018

Я получаю сообщение об ошибке описанным ниже методом.

Я хотел бы сделать оператор SELECT WHERE.

Моя цель - узнать, есть ли имя переменной в моей базе данных.

Похоже, ошибка возникает в statement.execute(); Это: -

"Caused By : unknown error (code 0): Queries can be performed using SQLiteDatabase query or rawQuery methods only. "

Раньше программа работала правильно много раз, но теперь это не так.

Метод: -

public int count(String name) {
    SQLiteDatabase database = getWritableDatabase();
    String countQuery = "SELECT * FROM myBD WHERE NAME1 = ?";
    SQLiteStatement statement = database.compileStatement(countQuery);
    statement.clearBindings();
    statement.bindString(1, name);
    statement.execute();
    //database.close();

    SQLiteDatabase db = this.getReadableDatabase();enter code here
    Cursor cursor = db.rawQuery(countQuery, null);
    int count = cursor.getCount();
    cursor.close();
    database.close();
    return count;
}

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Вы также можете использовать database.rawQuery («Ваш запрос здесь»);

0 голосов
/ 26 ноября 2018

Вы можете использовать удобный метод запроса, например: -

public int count(String name) {
    SQLiteDatabase database = getWritableDatabase();
    String whereclause = "NAME1=?";
    String[] whereargs = new String[]{name};
    Cursor cursor = database.query("myBD",null,whereclause,whereargs,null,null,null);
    int count = cursor.getCount();
    cursor.close();
    database.close();
    return count;
}
  • Примечание приведенный выше код является принципиальным, он не был проверен или выполнен и можетпоэтому содержат некоторые ошибки.

Неизвестные ошибки часто связаны с последующими строками после ; вспомогательных методов, заключающих аргументы и создающих SQL от вашего имени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...