我正在尝试开发一个小应用程序,在流程结束时需要在SQLite数据库中插入一行数据。
以下是我尝试插入的代码:
SQLiteDatabase db = this.getReadableDatabase();
ContentValues values = new ContentValues();
values.put("UserId",1);
values.put("A",scoreValues.get("I"));
values.put("B",scoreValues.get("J"));
values.put("C",scoreValues.get("K"));
db.insert("ScoreTbl",null,values);
db.close();
运行上面的代码时,我收到一条错误消息,
W / FileUtils:失败 chmod(/data/user/0/com.abc.xyz/databases/mydatabase.db :: android.system.ErrnoException:chmod失败:EPERM
有人可以帮我解决这个错误吗?
答案 0 :(得分:3)
改变这个..
SQLiteDatabase db = this.getReadableDatabase();
到
SQLiteDatabase db = this.getWritableDatabase();
getReadableDatabase()
方法创建和/或打开数据库。
getWritableDatabase()
方法创建和/或打开将用于读写的数据库。
检查Docs
答案 1 :(得分:0)
db类扩展了SQLiteOpenHelper,并在使用下面的代码插入数据之后再创建表。
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
values.put("UserId",1);
values.put("A",scoreValues.get("I"));
values.put("B",scoreValues.get("J"));
values.put("C",scoreValues.get("K"));
db.insert("ScoreTbl",null,values);
db.close();