5

FMDBラッパークラスのデータベースのオープンとクローズの操作について混乱しています。

AppDelegateクラスのapplicationDidFinishLoadingメソッドでデータベースを開き、アプリケーションが終了するまで閉じない場合、問題が発生しますか?

ありがとう。

4

2 に答える 2

7

スキーマを変更しない限り、閉じる必要はありません。だから開いたままにしてください。

于 2013-01-23T00:26:23.080 に答える
5

公式の FMDB ドキュメントから:

オープニング

データベースを操作する前に、データベースを開く必要があります。データベースを開いたり作成したりするためのリソースまたは権限が不十分な場合、開くことができません。

if (![db open]) {
[db release];
return;
}

閉鎖

データベースでのクエリと更新の実行が終了したら、FMDatabase 接続を閉じて、SQLite が操作中に取得したリソースを解放する必要があります。

[db close];

そのため、データベースにクエリを実行するたびに、データベースに と のペアを呼び出す必要がありopenますclose

つまり、データベースからのものが必要なときに DB 接続を開き、データベースの使用が終了したら閉じます。

ドキュメントへのリンク: https://github.com/ccgus/fmdb

于 2013-01-23T09:49:53.577 に答える