我正在创建一个应用程序,其中我使用了sqlite db.I已成功创建表并将数据插入其中。但是当我尝试删除数据时,查询似乎无法正常工作。
代码
public void deleteSubject(int Id) {
String query = "DELETE FROM " + TABLE_NAME + " WHERE " + DataBaseColumns.SUBJECT_ID + "=" + Id;
// String whereClause = DataBaseColumns.SUBJECT_ID + "=?";
database = openDb();
Cursor cursor = null;
try {
// result = database.delete(TABLE_NAME, whereClause, new String[Id]);
cursor = database.rawQuery(query, null);
} catch (SQLiteException e) {
Log.e("Error in delete Subjects", e.getMessage());
}
database = closeDb();
cursor.close();
}
答案 0 :(得分:5)
使用execSQL()
而非rawQuery()
进行DELETE
次查询。
rawQuery()
仅编译SQL,但在移动光标之前不会运行它。 execSQL()
编译并运行SQL。