无法使用仿真器在SQLite中插入新记录

时间:2018-02-23 05:36:35

标签: android sqlite android-sqlite

我正在尝试开发一个小应用程序,在流程结束时需要在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

有人可以帮我解决这个错误吗?

2 个答案:

答案 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();