2016-05-19 6 views
0

Ich erstelle eine SQlite-Datenbank auf dem iPhone 5 ios 7 mit dem folgenden Code in der ViewDidLoad-Funktion eines View-Controllers. Jedes Mal, wenn ich viewDidLoad ausgeführt werde, bekomme ich "// db mydb created". Dies geschieht, obwohl ich die Klausel "create table if not exist" verwende. Warum passiert das? Ich möchte die Datenbank nur einmal erstellen lassen und es scheint, dass sie irgendwie "unsichtbar" ist und immer wieder neu erstellt wird.Erstelle Datenbank immer wieder auf iPhone 5 ios 7

// open database 

    if sqlite3_open(fileURL.path!, &db) != SQLITE_OK { 
     print("error opening database") 
    } 

    if sqlite3_exec(db, "create table if not exists mydb (id integer primary key autoincrement, age text, hobby text, band text)", nil, nil, nil) != SQLITE_OK { 

      let errmsg = String.fromCString(sqlite3_errmsg(db)) 
      print("error creating table: \(errmsg)") 
    }else{ 
     print("// db mydb created") 
    } 

Antwort

0

Wenn

sqlite3_exec(db, "create table if not exists mydb (id integer primary key autoincrement, age text, hobby text, band text)", nil, nil, nil) 

nicht SQLITE_OK ist, dann gibt es kein Fehler während der Ausführung query-- es nicht, dass db mydb bedeutet wird immer wieder erstellt.

Verwandte Themen