2016-10-26 25 views
0

iOSアプリケーションではどのようにデータベースファイルを作成しますか?私はXcodeでFMDB(スウィフト)を使用していると私はここにクエリを実行する関数を作成しました:初級FMDB iOSデータベース、テーブル作成

func query() 
{ 
    let DB = FMDatabase(path: dbFilePath as String) 
    if DB.open() 
    { 
     let querySQL = "SELECT * FROM SHOPS" 
     let results:FMResultSet? = DB.executeQuery(querySQL, withArgumentsInArray: nil) 
     print(querySQL) 
     DB.close() 
     print(results) 
    } 
    else 
    { 
     print("Error: \(DB.lastErrorMessage())") 
    } 
} 

は、データベース機能を作成するマイFMDBのドキュメントの状態のように助けを必要とする:アンFMDatabaseは、SQLiteのへのパスを使用して作成されましたデータベースファイル。このパスは、次の3つのいずれかになります。 ファイルシステムのパス。このファイルはディスク上に存在する必要はありません。存在しない場合は作成されます。しかし、データベースファイルへのファイルパスはどこから取得できますか?

私はまた、作成、テーブル機能を継続する方法について質問があります:

func create() 
    { 
    let createString = "CREATE TABLE Shops(id INT PRIMARY KEY NOT NULL, name char(255);)" 
    } 

私はのexecuteUpdateを使用していますか?あまりにも時間がかかりすぎない場合は、私が初心者なので簡潔で明確な答えを提供してください。前もって感謝します。

答えて

0

のXcode 8.0スウィフト3.0バージョンあなたのAppdelegate.swiftコピーで

以下のコード

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool 
    { 
     // Override point for customization after application launch. 
     Util.copyFile("<yourDatabaseName>.sqlite") 
     getDocDir() 
     return true 
    } 

func getDocDir() -> String 
    { 
     print(NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]) 
     return NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] 
    } 

そして実行のXcode:ショートカットキー:ビルド(CMD + B) - >ファイル名を指定して実行(CMD + R)のXcodeの

チェックコンソールは、たとえば以下のようなパスを取得:

サンプル画像:https://i.stack.imgur.com/xH0AV.png

コピーからのパス:

/users//tooti/Library/Developer/CoreSimulator/Devices/..../data/Containers/Data/Application/.../Documents/ 

- >開くFinder->移動 - >フォルダと

上記のサンプル画像からコピーしたパスを貼り付けます: https://i.stack.imgur.com/DmzH8.png

- > [Enter]をクリックします。それは終わった。また、あなたはSQLiteのマネージャ/ Firefoxのブラウザ/ DBManagerExtensionツールを使用してデータベースファイルを開くことができ.sqliteファイル

  • があります。