我正在使用coolstorage和sqlite作为数据库为wp7编写一个应用程序。

我选择sqlite的原因是因为它似乎具有对架构进行更新的良好能力。

但是,在测试中,我可以运行“ alter table ...”命令,但是如果我添加一列然后尝试读取该列,则会收到该列不存在的错误。

但是,如果我关闭该应用程序并再次运行它,则该列在那里。

我曾考虑过尝试关闭我的连接,但是我不知道如何使用coolstorage进行连接。有办法吗?那行得通吗?

我对Coolstorage和SQLite都是陌生的,因此可以提供任何帮助。

如何在不关闭和重新分配应用程序的情况下更改sqlite模式?

[更新:2011年12月15日]
通过确保在查询受影响的表之前运行架构更新来避免此问题,无论如何这可能是正确的选择。

如果有人对表运行查询后想出一种方法来进行模式更改,我仍然会对了解有所兴趣。

最佳答案

Sqlite可以就地将列添加到现有表的末尾,但是任何已准备好的查询都不会显示更改。以我的经验,如果您再次准备查询,它将成功。或者,您可以关闭然后重新打开数据库。请注意,不直接支持其他架构更改,并且需要您执行以下操作:


重命名原始表格
创建具有所需更改的新表。
将数据从旧表复制到新表(如果适用)。
删除原始表。

关于sqlite - 如何在wp7上使用coolstorage更改sqlite数据库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8462425/

10-16 17:08