微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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会更好.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐