2

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

我选择 sqlite 的原因是因为它似乎有很好的更新模式的能力。

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

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

我想过尝试关闭我的连接,但我不知道如何使用coolstorage来做到这一点。有办法吗?那行得通吗?

我是 Coolstorage 和 SQLite 的新手,因此不胜感激。

如何在不关闭并重新打开应用程序的情况下更改 sqlite 架构?

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

如果有人在对表运行查询后想出一种方法来更改架构,我仍然有兴趣知道。

4

1 回答 1

0

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

  1. 重命名原始表
  2. 创建一个包含所需更改的新表。
  3. 如果适用,将旧表中的数据复制到新表中。
  4. 删除原表。
于 2012-02-03T08:13:04.597 回答