尝试在android中编写只读数据库

时间:2012-02-09 06:08:41

标签: android database

尝试更新值时,会发生这些错误,

02-09 11:37:53.573: ERROR/AndroidRuntime(4809): android.database.sqlite.SQLiteException: attempt to write a readonly database: UPDATE studnet SET isMarried=1  WHERE _id = 40

我的数据库文件

...数据/数据/ A.B.C / TEST.SQL

和我在DBHelper.java中的查询

public void checkMarried(int checkPoint) {
    String Query = "UPDATE student SET ismarried=1  WHERE _id = " + checkPoint ;
    DB.execSQL(Query);
}

执行代码是

String iNumber = cur.getString(cur.getColumnIndex("_id"));
int checkNumber=Integer.parseInt(iNumber);
db.bookmarkedJok(checkNumber);

其中db是DatabaseHelper的对象。

如何更改数据库文件的权限?

1 个答案:

答案 0 :(得分:6)

在checkMarried()方法中执行查询之前

使用 getWritableDatabase()

 public void checkMarried(int checkPoint) {

        DB=this.getWritableDatabase() ;
        String Query = "UPDATE student SET ismarried=1  WHERE _id = " + checkPoint ;
        DB.execSQL(Query);

      }

希望它现在可以运作。