android - 如何在 android 中记录查询 SQLite 查询?
问题描述
我正在使用如下代码。有什么方法可以为我们查看或记录它吗?运行该查询时。例如,我想记录所有 INSERT、UPDATE、DELETE 查询以保存在我的另一个表中。
我找到了许多其他答案,但仍然无法解决这个问题。
这是例如在 INSERT 上获取日志查询的代码:
// --- add addProductServiceCategory ---//
public long addProductServiceCategory(ProductServiceCategory productServiceCategory){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(ProductServiceCategoryColumn.Entry.ID, productServiceCategory.id);
values.put(ProductServiceCategoryColumn.Entry.PROJECT_ID, productServiceCategory.project_id);
values.put(ProductServiceCategoryColumn.Entry.TITLE, productServiceCategory.title);
values.put(ProductServiceCategoryColumn.Entry.CREATE_AT, productServiceCategory.created_at);
values.put(ProductServiceCategoryColumn.Entry.UPDATE_AT, productServiceCategory.updated_at);
long todo_id = db.insert(ProductServiceCategoryColumn.Entry.TABLE_PRODUCT_SERVICE_CATEGORY, null, values);
return todo_id;
}
示例:我有一个表名 tbl_log_queries。在这张表中,我想存储记录的查询。
解决方案
围绕 SQLiteDatabase 编写一个包装类,在运行之前记录查询。使用它而不是直接使用 SQLiteDatabase。