Exemple de projets iOS Xcode
Ces-cis sont des exemples de projets de test. Le nom du projet doit donc être litesync-test pour qu'ils fonctionnent correctement.
Cette limitation n'est pas présente sur les bibliothèques complètes.
Wrapper SQLite.swift
Il y a 2 exemples de projets utilisant le wrapper SQLite.swift
Le premier a une interface simple qui utilise SQL :
try db.execute("CREATE TABLE IF NOT EXISTS Tasks (id INTEGER PRIMARY KEY, name TEXT, done INTEGER)") try db.run("INSERT INTO Tasks (name, done) VALUES (?,?)", name, Int(done!)) for row in try db.prepare("SELECT * FROM Tasks") { let id = row[0] as! Int64 let name = row[1] as! String let done = Int(row[2] as! Int64) print("id: \(id) name: \(name) done: \(done)") }
Le deuxième utilise des objets :
let tasks = Table("tasks")
let id = Expression
Interface native SQLite
Cet exemple de projet utilise l'interface native SQLite
let queryString = "SELECT * FROM Tasks" var stmt:OpaquePointer? if sqlite3_prepare(db, queryString, -1, &stmt, nil) != SQLITE_OK{ let errmsg = String(cString: sqlite3_errmsg(db)!) print("error preparing statement: \(errmsg)") return } while(sqlite3_step(stmt) == SQLITE_ROW){ let id = sqlite3_column_int(stmt, 0) let name = String(cString: sqlite3_column_text(stmt, 1)!) let done = sqlite3_column_int(stmt, 2) print("id: \(id) name: \(name) done: \(done)") } sqlite3_finalize(stmt)
Instructions
Pour les deux projets :
1 Installer le shell SQLite modifié et les dépendances sur un ordinateur
2 Démarrer un shell SQLite en tant que nœud principal en liaison avec une adresse TCP
3 Modifier l'adresse TCP à laquelle vous devrez vous connecter sur le code du projet
4 Générer et exécuter le projet sur le simulateur ou l'appareil
Pour ouvrir la base de données sur le nœud principal, nous utilisons une commande comme cette-ci :
sqlite3 "file:test.db?node=primary&bind=tcp://0.0.0.0:1234"