2

Coolstorage と sqlite をデータベースとして使用して、wp7 用のアプリを作成しています。

私が sqlite を選んだ理由は、スキーマを更新する機能が優れているように見えるからです。

ただし、私のテストでは「alter table...」コマンドを実行できますが、列を追加してからその列を読み取ろうとすると、列が存在しないというエラーが発生します。

しかし、アプリを閉じて再度実行すると、列が表示されます。

接続を閉じようと考えましたが、coolstorage を使用してそれを行う方法がわかりません。方法はありますか?それはうまくいくでしょうか?

私は Coolstorage と SQLite の両方に慣れていないので、助けていただければ幸いです。

アプリを閉じて再度開くことなく、sqlite スキーマを変更するにはどうすればよいですか?

[更新: 2011 年 12 月 15 日] 影響を受けるテーブルをクエリする前にスキーマの更新を実行することで、この問題を回避しました。

テーブルに対してクエリを実行した後にスキーマを変更する方法を誰かが思いついた場合は、引き続き知りたいと思います。

4

1 に答える 1

0

Sqlite には、既存のテーブルの末尾にインプレースで列を追加する機能がありますが、既に準備されているクエリには変更が表示されません。私の経験では、クエリを再度準備すると機能します。または、データベースを閉じてから再度開くこともできます。その他のスキーマの変更は直接サポートされていないため、次の操作が必要になることに注意してください。

  1. 元のテーブルの名前を変更する
  2. 必要な変更を加えた新しいテーブルを作成します。
  3. 必要に応じて、古いテーブルから新しいテーブルにデータをコピーします。
  4. 元のテーブルを削除します。
于 2012-02-03T08:13:04.597 に答える