我正在为wp7编写一个应用程序,使用coolstorage和sqlite作为数据库。
我之所以选择sqlite,是因为它似乎具有很好的更新模式的能力。
但是,在我的测试中,我可以运行“alter table...”命令,但如果我添加了一列,然后尝试读取该列,则会得到该列不存在的错误。
但如果我关闭应用程序并再次运行它,列就在那里。
我想过尝试关闭我的连接,但我不知道如何使用coolstorage来实现。有什么办法吗?这样行得通吗?
我对Coolstorage和SQLite都是新手,所以如果有任何帮助,我将非常感激。
如何在不关闭和重新打开应用程序的情况下更改sqlite模式?
更新:2011年12月15日我们避免了这个问题,因为我们确保在查询受影响的表之前运行了模式更新,这可能是正确的做法。
如果有人在对表运行查询后想出了一种更改模式的方法,我仍然有兴趣知道。
发布于 2012-02-03 16:13:05
Sqlite能够就地将列添加到现有表的末尾,但是任何已经准备好的查询都不会显示更改。根据我的经验,如果您再次准备查询,它就会工作。或者,您可以关闭并重新打开数据库。请注意,不直接支持其他架构更改,需要您执行以下操作:
https://stackoverflow.com/questions/8462425
复制相似问题