欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Swift 3 0 FMDB 初试

发布时间:2024/4/17 编程问答 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Swift 3 0 FMDB 初试 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

###1、pod导入FMDB

  • podfile 内容如下:
# Uncomment the next line to define a global platform for your project platform :ios, ‘8.0’target 'FMDBTest' douse_frameworks!pod 'FMDB’end复制代码
  • 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 初试的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。