質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

解決済

1回答

5846閲覧

FMDBでSQLite利用時の、DB Error: 1 “no such table: エラーを解決したい

tek_tekeo

総合スコア16

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2015/09/23 15:14

初心者です。

FMDBでSQLiteを利用して
マスターデータの入ったデータベースを反映させたいと考えておりますが、
Xcodeのでバッグバーに以下が表示されます。

DB Error : 1 "no such table: テーブル名”

解決策を探していたところ、
FMDBでSQLite利用時の、DB Error: 1 “no such table: エラーについて
という記事を見つけ拝見させていただきましたが、よく理解できず、未だデバッグできておりません。

記事を見て、マスターデータが入ったデータベースファイルをCopy Bundle Resourcesに設置してみたのですがうまくいきません。

またリンク先の記事に、

アプリケーションをビルドした際、データベースSelfPhoto.sqliteの位置は当然ながらXcodeプロジェクト内ではなく、シミュレータもしくは実機の対象アプリケーション専用のサンドボックス(アプリケーション専用のディレクトリ)内で、Documentsディレクトリ以下に設置される。
引用テキスト場所は下記のとおり。

/Users/ユーザ名/Library/Application Support/iPhone Simulator/iOSのバージョン/Applications/アプリケーションのUUID/Documents

と記述されていますが、私のMacにはそのようなディレクトリがなく、ビルド後のデータベースがどこにあるのかわかりません。
(Xcode7.0を使用しているのでディレクトリの場所が変わってしまっているのでしょうが、データベースのファイル名で検索しても見つかりません。)

具体的な解決策とご説明をいただけないでしょうか。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Copy Bundle Resourcesに配置しただけでは、多分、うまくいかない気がします。
コード上で、マスターDBが存在するかFileManager等でチェックして、
Documentディレクトリにコピーする操作が必要ではないでしょうか?

ビルド後にシミュレータのディレクトリには必ずアプリのディレクトリが存在するはずですので、
そこを確認してみてください。

(/Users/ユーザー名/Libraryディレクトリは隠しフォルダですが、ここが見つからないというオチではないですよね?)

投稿2015/09/25 05:21

rifuch

総合スコア1901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tek_tekeo

2015/09/25 15:39

アプリのディレクトリを見つけ、中身を確認したら0kbのDBを確認できました。 (参考にした記事とディレクトリが異なっていました。) その後、仰る通りにDocumentディレクトリをコピーする操作を書くとうまく動きました。 参考サイト:https://akira-watson.com/iphone/sqlite.html 実現する過程で十分に理解していない気もしますが、 自分で調べてみます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問