2016-06-23 10 views
0

私は外部データベースファイルを持っており、そのファイルからレコードにアクセスしたいと思っています。以下は、私がリンクhttp://www.techotopia.com/index.php/An_Example_SQLite_based_iOS_8_Application_using_Swift_and_FMDBから得たコードです。次のコードでは、データベースの作成方法について説明しました。私はXcodeで私の外部sqliteのファイルを置く必要があるとどのようにFMDBを使用してデータベースからデータを取得するためのコードがされているが、私は、私は私の外部にアクセスできる方法を知っていることができません後FMDBSWIFTでFMDBを使用した外部データベースへのアクセス

override func viewDidLoad() { 
    super.viewDidLoad() 

    let filemgr = NSFileManager.defaultManager() 
    let dirPaths = 
    NSSearchPathForDirectoriesInDomains(.DocumentDirectory, 
      .UserDomainMask, true) 

    let docsDir = dirPaths[0] as! String 

    databasePath = docsDir.stringByAppendingPathComponent(
        "contacts.db") 

    if !filemgr.fileExistsAtPath(databasePath as String) { 

     let contactDB = FMDatabase(path: databasePath as String) 

     if contactDB == nil { 
      println("Error: \(contactDB.lastErrorMessage())") 
     } 

     if contactDB.open() { 
      let sql_stmt = "CREATE TABLE IF NOT EXISTS CONTACTS (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, ADDRESS TEXT, PHONE TEXT)" 
      if !contactDB.executeStatements(sql_stmt) { 
       println("Error: \(contactDB.lastErrorMessage())") 
      } 
      contactDB.close() 
     } else { 
      println("Error: \(contactDB.lastErrorMessage())") 
     } 
    } 
} 

経由でアクセスするために、どこに私を助けてくださいFMDBを使用したデータベースこの例では、人は)(

@IBAction func findContact(sender: AnyObject) { 
    let contactDB = FMDatabase(path: databasePath as String) 

    if contactDB.open() { 
     let querySQL = "SELECT address, phone FROM CONTACTS WHERE name = '\(name.text)'" 

     let results:FMResultSet? = contactDB.executeQuery(querySQL, 
     withArgumentsInArray: nil) 

     if results?.next() == true { 
      address.text = results?.stringForColumn("address") 
      phone.text = results?.stringForColumn("phone") 
      status.text = "Record Found" 
     } else { 
      status.text = "Record not found" 
      address.text = "" 
      phone.text = "" 
     } 
     contactDB.close() 
    } else { 
     println("Error: \(contactDB.lastErrorMessage())") 
    } 
} 
+0

フラグを設定しましたか? – JAck

+0

どこにフラグを設定するのですか? –

答えて

0

を、彼は最初のviewDidLoadで作成したデータベースにアクセスした私はどのようにSwiftFMDBを設定することを完全な答えを掲載しています。..

それは段階的なプロセスです。..

  1. ファイルをfmdbmaster/src/fmdbからプロジェクトにコピーして貼り付けます。
  2. は、その後、あなたはあなたは、さらにあなたがここにソースに

  3. をコンパイルします>>>ターゲットをプロジェクトの設定を構築するために

    • Go]を以下のとおりフラグを設定する必要がヘッダに#import "FMDB.h"

    • を橋渡し作成する必要がありますいくつかのファイルを見つけるでしょう.h.m

    • フラグ'-fno-objc-arc'を3つのファイルに設定しますあなたは、コンパイルのリソース内のファイルのフィールドの前をダブルクリックする必要がフラグを設定するにはFMResultSet.m & FMDatabaseAdditions.m


    • FMDatabase.mと命名。それでおしまい。フラグが設定されます。それでも

任意のあなたが私に尋ねることができます疑います。

関連する問題