0

事前に作成されたデータベースを備えたアプリがあります。このデータベースのエントリを変更して保存したいのですが、問題が発生しています。内部に次のメソッドを持つ 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 でのデータベースの使用に関する私の知識は不完全なので、単純なものが欠けている可能性があります。誰が何が問題なのか知っていますか?

4

1 に答える 1

0

これを使ってみてください

ContentValues dataToInsert = new ContentValues();
                            dataToInsert.put(ALBUM_IS_COMPLETE, "true");
                            String where = "album_id=?";
                            String[] whereArgs = {albumid};
                            try
                                {
                                    openDataBase();
                                    myDataBase.update(DATABASE_ALBUM_TABLE, dataToInsert, where, whereArgs);
                                }
                            catch (Exception e)
                                {
                                }

これがあなたを助けることを願っています

于 2013-07-02T10:14:30.377 に答える