SQLiteDatabase中的数据插入失败

时间:2017-10-26 01:40:44

标签: java android database sqlite sqliteopenhelper

我正在尝试创建一个person对象,并希望将其保存在SQLiteDatabase中,但最终数据插入失败。以下是插入方法及其调用。你能告诉我,这里发生了什么问题?此外,我面临着保存图像和检索图像的问题。我已经注释掉了保存图像的代码,因为它正在停止应用程序。

myArray

保存方法

//Insert
long insertPerson(Person person) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();

    //values.put(ID_FIELD, person.getId());
    values.put(NAME_FIELD, person.getName());
    values.put(DOB_FIELD, person.getDateOfBirth());
    values.put(MOBILE_FIELD, person.getMobile());
    values.put(AGE_FIELD, person.getAge());
    values.put(NEXT_BIRTHDAY_FIELD, person.getNext_birthday());
    //values.put(IMAGE_FIELD, person.getBitmap().compress(Bitmap.CompressFormat.PNG, 0, stream));

    long inserted = db.insert(PERSON_TABLE, null, values);
    db.close();

    return inserted;
}

1 个答案:

答案 0 :(得分:1)

请尝试以下方法之一:

  • 确保数据库名称和架构正确无误。
  • 从设备上卸载/清除应用的数据,然后重新安装应用。

要卸载的原因:

在编码时,您可能已经更改了数据库的架构。但遗憾的是,如果应用程序的版本代码相同,则在使用旧架构已存在的其他架构重新安装应用程序时,架构将不会更新。因此,清除应用数据将是允许更新新架构的最简单方法。