【发布时间】:2013-07-02 18:14:30
【问题描述】:
我有一个带有预制数据库的应用程序。我想更改这个数据库中的一个条目并保存它,但我遇到了一些麻烦。我有一个 DatabaseHelper,里面有以下方法:
public void updateStats(int rowId, int correct, int attempts) {
//Method for updating the stats after a question is answered
SQLiteDatabase db = this.getWritableDatabase();
ContentValues args = new ContentValues();
args.put("CORRECT", correct);
args.put("ATTEMPTS", attempts);
db.update("CHARACTERS", args, "_id=" + rowId, null);
Cursor c = db.query("CHARACTERS", null, null, null, null, null, null);
c.moveToPosition(rowId-1);
Log.d("database", "test - " + String.valueOf(c.getInt(0)));
db.close();
}
似乎运行更新正常,因为查询显示日志中已进行更改。但是当我结束活动时,应用程序正在恢复到原始数据库。
我在 Android 中使用数据库的知识并不完整,所以我可能遗漏了一些简单的东西。有谁知道出了什么问题?
【问题讨论】:
-
您可以发布您的数据库路径吗?
-
@Deen Sure: "/data/data/"+context.getPackageName()+"/"+"databases/";
-
您是否检查了位于您的包文件夹中的数据库?
-
@Deen 是的,我很确定它在正确的位置。我一直在从 Eclipse 的模拟器中提取它,以便检查是否有任何更改。