当前位置:首页 > 数据库 > SQlite

Android不会更新SQLite数据库

我的Android应用程序中的SQLIte数据库遇到了一些问题.
问题是数据库永远不会更新,甚至不会在模拟器的多次重启,Eclipse或从DDMS中删除之后更新.

这是我的onCreate方法,位于扩展SQLiteOpenHelper的类中:

public void onCreate(SQLiteDatabase database) {
    try {
        database.execSQL(ESSENCE_TABLE_CREATE);
        database.execSQL(PACCO_TABLE_CREATE);
        database.execSQL(TAVOLE_TABLE_CREATE);
        database.rawQuery("insert into essenza values(1, 'Rovere')",
                null); // added later
    } catch (SQLException e) {
        Log.e("DB", e.getMessage());
    }
}

在实例化帮助程序后,我请求对数据库的引用:

    helper = new DBHelper(context, dbpath + "/" + DATABASE_NAME);
    database = helper.getWritableDatabase();

似乎rawQuery语句(稍后添加)未执行,而且正在使用的数据库是从先前版本缓存的.我也试图改变数据库的版本,但它没有用.我错过了什么吗?提前致谢.

解决方法:

您有两种选择:

>使用DDM从设备中删除数据库文件(查看/ data / data /).这将迫使Android再次运行onCreate.
>在构造函数中,增加传递给SQLiteOpenHelper的数据库版本.将原始查询添加到onUpgrade.

您可能需要选项1.如果您的应用程序的用户要更新其数据库,则选项2会更好.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!