我的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 举报,一经查实,本站将立刻删除。