Swift 3 0 FMDB 初试
生活随笔
收集整理的这篇文章主要介绍了
Swift 3 0 FMDB 初试
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
###1、pod导入FMDB
- podfile 内容如下:
- pod install
2、FMDB的使用
import UIKit import FMDBclass MDFMDB: NSObject {static let shared: MDFMDB = MDFMDB() //单例let databaseFileName = "test.sqlite" //数据库名var pathToDatabase: String! //数据库路径var database: FMDatabase! //数据库override init() {super.init()let documentsDirectory = (NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as NSString) as StringpathToDatabase = documentsDirectory.appending("/\(databaseFileName)")print(pathToDatabase)}func creatDatabase()->Bool{var created = falseif !FileManager.default.fileExists(atPath: pathToDatabase){database = FMDatabase(path: pathToDatabase)if database != nil{if database.open() {//如果user表不存在,创建user表let createSchedualTableQuery = "create table if not exists user (id integer primary key autoincrement,name string not null,gender string not null,age string not null);"database.executeUpdate(createSchedualTableQuery, withArgumentsIn: []) //建表created = truedatabase.close()}}else{print("Could not open the database.")}}return created}func openDatabase() -> Bool {if database == nil {if FileManager.default.fileExists(atPath: pathToDatabase) {database = FMDatabase(path: pathToDatabase)}}if database != nil {if database.open() {return true}}return false}//数据库插入操作func insertScedualData(name:String,gender:String,age:String) {if openDatabase() {let sqlString = "insert into user (name, gender, age) values ('\(name)', '\(gender)', '\(age)')"if !database.executeStatements(sqlString) {print("Failed to insert initial data into the database.")print(database.lastError(), database.lastErrorMessage())}database.close()}}//数据库读取操作func loadTestDatas(){if openDatabase() {let query = "select * from user order by name asc;"let results = database.executeQuery(query, withArgumentsIn: [])while (results?.next())! {let id = results?.object(forColumn: "id")print(id!)let name = results?.object(forColumn: "name")print(name!)let gender = results?.object(forColumn: "gender")print(gender!)let age = results?.object(forColumn: "age")print(age!)}database.close()}}//数据库读取(具体)func loadTest(id : NSInteger){if openDatabase() {//查询时问号作为占位符占位,在database.executeQuery中将占位的参数带上。let query = "select * from user where id = ?"let results = database.executeQuery(query, withArgumentsIn: [id])while (results?.next())! {let id = results?.object(forColumn: "id")print(id!)let name = results?.object(forColumn: "name")print(name!)let gender = results?.object(forColumn: "gender")print(gender!)let age = results?.object(forColumn: "age")print(age!)}database.close()}} } 复制代码转载于:https://juejin.im/post/5a31ebd36fb9a0450b66667d
总结
以上是生活随笔为你收集整理的Swift 3 0 FMDB 初试的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: sass的高级用法
- 下一篇: 爬虫、框架scrapy