前言:SQLite輕量級數據庫在移動應用中使用非常普遍,但是目前的庫是C編寫的,為了方便使用,對SQLite相關的操作用Swift進行了封裝。這個封裝代碼使用了一個開源項目SQLiteDB---git
通過下面的一個實例來展示怎么簡單的使用SQLiteDB,讓我們了解和使用SQlite數據庫連接,創建表,查詢數據,插入數據等操作
一. 初期準備工作
① 搭建一個下圖界面:
界面.png
② 導入SQLiteDB的庫的文件與導入libsqlite3.0.tdb到項目中,如下圖
導包文件目錄.png
③ 創建連接頭文件SQLite-Bridging-Header.h
橋文件.png
二. 使用SQLiteDB
ViewController.swift代碼
import UIKit
class ViewController: UIViewController {
var db:SQLiteDB!
@IBOutlet weak var passWord: UITextField!
@IBOutlet weak var userName: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// 獲取數據庫實例
db = SQLiteDB.sharedInstance
// 如果表還不存在則創建表
db.execute("create table if not exists Rookie_user(uid integer primary key,username varchar(30),password varchar(30))")
// 數據庫版本號
db.setDBVersion(2)
// 打印版本號
print(db.getDBVersion())
// 如果有數據則加載
initUser()
}
// 從SQLite加載數據
func initUser(){
let data = db.query("select * from Rookie_user")
if data.count > 0 {
// 獲取最后一行數據顯示
let user = data[data.count - 1]
userName.text = user["username"] as? String
passWord.text = user["password"] as? String
}
}
//保存數據到SQLite
func saveUser() {
let uname = self.userName.text!
let mobile = self.passWord.text!
//插入數據庫,這里用到了esc字符編碼函數,其實是調用bridge.m實現的
let sql = "insert into Rookie_user(username,password) values('\(uname)','\(mobile)')"
print("sql: \(sql)")
//通過封裝的方法執行sql
let result = db.execute(sql)
print(result)
}
@IBAction func saveBtn(sender: AnyObject) {
saveUser()
}
}
// 打印db的地址:/Users/*****/Library/Developer/CoreSimulator/Devices/676CA4CF-2B1E-4091-9F78-BAEC80F18A0F/data/Containers/Data/Application/3E2F5783-67A9-40AB-9D6B-FED022862035/Documents/data.db
通過控制臺打印的結果路徑我們可以查看到我們自己建立的表,如下圖所示:
表.png
在輸入框中輸入我們用戶和密碼測試Demo,成功我們會在數據庫的表中看到我們添加的數據,下圖所示:
表中數據.png
其他存儲文章:
Swift數據存儲(一)