下面的方法出现错误。
我想做一个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;
}
您可以使用方便查询的方法,例如:-
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。
您也可以使用database.rawQuery("您的查询在这里"(;