この記事について
| 環境 | Xcode、Objective-C、FMDB |
|---|---|
| 目的 | runするとコンソールに出る「The FMDatabase is not open」エラーを解消する |
| 結果 | [db open]をexecuteQueryより先に実行するよう順番を入れ替えて解決 |
つまずきポイント要約
- [db open]の前にexecuteQueryを書いていたのが原因
事象
Objective-C で記述したソースを run するとコンソールにエラーが出た
エラー内容
2015-xx-xx 19:xx:xx.xxx FMDBTest[xxxx:xxxxxx] The FMDatabase <FMDatabase: xxxxxxxxxxxxxx> is not open.
原因
下記の記述が反対だった([db open]の前にexecuteQueryを実行していた)
FMResultSet *rs = [db executeQuery:@"select id,title from testdb"];
[db open];
対処
記述の順番を入れ替えた
[db open];
FMResultSet *rs = [db executeQuery:@"select id,title from testdb"];
