在安卓中尝试写入只读数据库

3

当试图更新值时,出现以下错误:

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

我的数据库文件

...data/data/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个回答

6

在您的checkMarried()方法中执行查询之前,请使用getWritableDatabase()

 public void checkMarried(int checkPoint) {

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

      }

希望现在可以正常工作了。

如果您认为答案对您有帮助,应该接受它。 - Dinesh Sharma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接