Android Studio SQLite数据库。未知错误

时间:2018-11-26 02:31:46

标签: android sqlite

以下方法出现错误。

我想做一个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 :(得分:0)

您可以使用查询便捷方法,例如:-

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。

答案 1 :(得分:0)

您也可以使用 database.rawQuery(“此处的查询”);