Swift是一種新型的編程語(yǔ)言,由蘋(píng)果公司開(kāi)發(fā),旨在替代Objective-C。它是一種類(lèi)型安全的、通用的編程語(yǔ)言,支持過(guò)程式和面向?qū)ο缶幊?。Swift具有簡(jiǎn)單易學(xué)、高效安全、跨平臺(tái)等特點(diǎn),受到廣大開(kāi)發(fā)者的歡迎。
以下是使用Swift操作SQLite數(shù)據(jù)庫(kù)的代碼示例:
import Foundation import SQLite3 // 創(chuàng)建數(shù)據(jù)庫(kù)連接 var db: OpaquePointer? = nil let path = Bundle.main.path(forResource: "test", ofType: "sqlite")! if sqlite3_open(path, &db) != SQLITE_OK { print("無(wú)法打開(kāi)數(shù)據(jù)庫(kù)") } // 創(chuàng)建表 let createTableSQL = "CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INT)" if sqlite3_exec(db, createTableSQL, nil, nil, nil) != SQLITE_OK { print("創(chuàng)建表失敗") } // 插入數(shù)據(jù) let insertSQL = "INSERT INTO user (name, age) VALUES (?, ?)" let statement = sqlite3_prepare_v2(db, insertSQL, -1, &OpaquePointer(OpaquePointer.null()), nil, nil) if sqlite3_step(statement) != SQLITE_DONE { print("插入數(shù)據(jù)失敗") } sqlite3_finalize(statement, nil) // 查詢(xún)數(shù)據(jù) let querySQL = "SELECT * FROM user WHERE age > ?" let statement2 = sqlite3_prepare_v2(db, querySQL, -1, &OpaquePointer(OpaquePointer.null()), nil, nil) if sqlite3_bind_int(statement2, 1, 20) != SQLITE_OK { print("綁定參數(shù)失敗") } while sqlite3_step(statement2) == SQLITE_ROW { let name = String(cString: sqlite3_column_text(statement2, 1)) let age = sqlite3_column_int(statement2, 2) print("name:(name), age:(age)") } sqlite3_finalize(statement2, nil) // 關(guān)閉數(shù)據(jù)庫(kù)連接 sqlite3_close(db)
上述代碼中,我們首先創(chuàng)建了數(shù)據(jù)庫(kù)連接,并創(chuàng)建了一個(gè)名為"user"的表。然后,我們向表中插入了一條數(shù)據(jù),并使用SELECT語(yǔ)句查詢(xún)了年齡大于20歲的用戶(hù)信息。最后,我們關(guān)閉了數(shù)據(jù)庫(kù)連接。