亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Swift使用FMDB操作SQLite

2019-11-14 19:28:20
字體:
來源:轉載
供稿:網友

  SQLite大家都懂的。本地數據庫,在移動設備上使用廣泛。IOS平臺上自然也少不了它。最近自己折騰一個小App的時候需要使用sqlite本地數據庫,上Github搜了下IOS下對SQLite的三方封裝有個星星很多的FMDB。不過是Obiect-C的庫,我是使用Swift的,本以為不能用了,不過后折騰了下發現在Swift下使用oc的庫非常簡單。下面我就介紹下如何在Swift下使用oc的FMDB庫。

  1.下載

  第一步自然是去下載FMDB了。https://github.com/ccgus/fmdb

  2.建立橋接

  把下載下來的zip解壓。打開項目文件夾,找到fmdb文件夾,把里面所有的文件選中,拖動到你的Swfit項目中。

 

  

  這時候XCode會自動提示你是否要建立橋接,選YES。XCode就會自動建立好oc到Swift的橋接了。

  

  接下來我們在Swift項目下找到一個叫做BabyLog-Bridging-Header的文件,打開編輯。在里面輸入:#import "FMDB.h"

  

  這樣我們FMDB到Swift的橋接頭就建好了。

  3.使用

  有了橋接頭,我們就可以歡快的使用FMDB了。下面給出CURD的簡單實例,不多說看代碼吧。

  獲取數據庫

  如果數據庫不存在則建立數據庫表,存在則返回數據庫對象?! ?/span>

////  Db.swift//  BabyLog////  Created by mj.zhou on 15/3/4.//  Copyright (c) 2015年 mjstudio. All rights reserved.//import Foundationvar logs = [FeedLog]()class Db{        class func getDb()->FMDatabase{            let filemgr = NSFileManager.defaultManager()        let dirPaths =        NSSearchPathForDirectoriesInDomains(.DocumentDirectory,            .UserDomainMask, true)                let docsDir = dirPaths[0] as String                var databasePath = docsDir.stringByAppendingPathComponent("feedlog.db")                if !filemgr.fileExistsAtPath(databasePath) {                        let db = FMDatabase(path: databasePath)                        if db == nil {                PRintln("Error: /(db.lastErrorMessage())")            }                        if db.open() {                let sql_stmt = "CREATE TABLE IF NOT EXISTS FEEDLOGS (ID TEXT PRIMARY KEY, COUNT INTEGER, TYPE INTEGER,LOGTIME DATETIME,LOGDAY TEXT, REMARK TEXT)"                if !db.executeStatements(sql_stmt) {                    println("Error: /(db.lastErrorMessage())")                }                db.close()            } else {                println("Error: /(db.lastErrorMessage())")            }        }                let feedlogDb = FMDatabase(path: databasePath)        return feedlogDb    }    }

  插入數據

 class func insert(log:FeedLog){                let sql="INSERT INTO FEEDLOGS (ID,COUNT,TYPE,LOGTIME,LOGDAY,REMARK) "+"VALUES (?,?,?,?,?,?)"        let db = Db.getDb()        db.open()        db.executeUpdate(sql, withArgumentsInArray: [log.id,log.count,log.type,log.logTime,log.logDay,log.remark])        db.close()    }

  更新數據

    class func update(log:FeedLog){                let sql = "UPDATE FEEDLOGS SET COUNT=?,TYPE=?,LOGTIME=?,LOGDAY=?,REMARK=? WHERE ID=?"        let db = Db.getDb()        db.open()        db.executeUpdate(sql, withArgumentsInArray: [log.count,log.type,log.logTime,log.logDay,log.remark,log.id])        db.close()    }

  刪除數據

    class func remove(id:String){        let sql = "DELETE FROM FEEDLOGS WHERE ID = ?"        let db = Db.getDb()        db.open()        db.executeUpdate(sql, withArgumentsInArray: [id])        db.close()    }

    查詢數據

    class func select(id:String)->FeedLog?{                let sql = "SELECT * FROM FEEDLOGS WHERE ID = ?"        let db = Db.getDb()        db.open()        let rs = db.executeQuery(sql, withArgumentsInArray: [id])        var log:FeedLog?=FeedLog()        while rs.next() {            log?.id=rs.stringForColumn("ID")            log?.count=Int(rs.intForColumn("COUNT"))            log?.type=Int(rs.intForColumn("TYPE"))            log?.remark=rs.stringForColumn("REMARK")            log?.logTime=rs.dateForColumn("LOGTIME")            log?.logDay=rs.stringForColumn("LOGDAY")        }        db.close()                return log    }

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久精品免费视频| 日韩欧美一区二区三区| 亚洲香蕉成视频在线观看| 国产精品久久久久久久久久久久久| 欧美激情乱人伦一区| 亚洲精品久久久久久久久久久| 在线观看欧美www| 亚洲成人精品在线| 欧美国产乱视频| 国产精品美女主播在线观看纯欲| 91产国在线观看动作片喷水| 国产精品www网站| 日韩亚洲精品电影| 久久免费精品日本久久中文字幕| 九九热精品视频在线播放| 国产精品久久久久久久美男| 欧美影院久久久| 成人精品视频久久久久| 九九热r在线视频精品| 亚洲欧洲日产国产网站| 亚洲免费人成在线视频观看| 精品久久久免费| 91国内精品久久| www.日韩av.com| 亚洲欧美综合图区| 精品久久香蕉国产线看观看gif| 亚洲二区在线播放视频| 免费99精品国产自在在线| 日韩高清人体午夜| 国产一区二区久久精品| 国产亚洲精品高潮| 亚洲成人aaa| 久久精品中文字幕免费mv| 久久久久久久久91| 91免费人成网站在线观看18| 久久久999精品视频| 欧美一级片在线播放| 久久综合伊人77777尤物| 91免费视频国产| 国产精品电影久久久久电影网| 黑人巨大精品欧美一区二区三区| 久久精品人人做人人爽| 亚洲男人天堂2019| 国产精品一区专区欧美日韩| 色香阁99久久精品久久久| 亚洲综合一区二区不卡| 国产成人精品在线播放| 按摩亚洲人久久| 亚洲精品一区二三区不卡| 久久久亚洲天堂| 久久久999精品视频| 亚洲综合在线播放| 欧美日韩亚洲视频| 自拍偷拍亚洲一区| 精品亚洲国产视频| 少妇精69xxtheporn| 久久久久久亚洲| 亚洲欧洲一区二区三区久久| 韩国v欧美v日本v亚洲| 亚洲色图日韩av| 日韩欧美精品免费在线| 日韩欧美在线观看视频| 97视频在线观看成人| 国产欧美精品在线播放| 日韩在线视频免费观看| 欧美极品美女电影一区| 国产精品爱啪在线线免费观看| 久久久久久久999| 亚洲精美色品网站| 一区二区三区 在线观看视| 91av中文字幕| 欧美超级乱淫片喷水| 欧美精品日韩三级| 国产深夜精品福利| 欧美专区中文字幕| 国产香蕉97碰碰久久人人| 青草青草久热精品视频在线网站| 亚洲一区二区三区在线免费观看| 亚洲国产欧美一区二区三区同亚洲| 久久琪琪电影院| 欧美尺度大的性做爰视频| 亚洲社区在线观看| 亚洲人免费视频| 亚洲精品乱码久久久久久按摩观| 国产欧美日韩丝袜精品一区| 一区二区三区视频免费| 国产成人精品久久| 国产脚交av在线一区二区| 亚洲第一福利网站| 国产欧美精品一区二区三区介绍| 九九精品在线播放| 韩国日本不卡在线| 国产丝袜一区视频在线观看| 国产精品美女久久久免费| 国产成人拍精品视频午夜网站| 久久久久久久久久久久久久久久久久av| 热草久综合在线| 日韩高清不卡av| 久久精品国产亚洲一区二区| 国产精品高清网站| 亚洲成人激情小说| 久久91亚洲精品中文字幕| 国产精品99久久久久久白浆小说| 久久成人亚洲精品| 国产69久久精品成人看| 亚洲女人被黑人巨大进入| 欧美激情在线狂野欧美精品| 亚洲色图综合久久| 欧美丰满老妇厨房牲生活| 日韩视频欧美视频| 欧美日韩国产成人高清视频| 欧美日本高清一区| 色偷偷av一区二区三区| 久久综合免费视频影院| 中文字幕亚洲一区二区三区| 日韩黄色高清视频| 欧美午夜www高清视频| 色99之美女主播在线视频| 亚洲欧美综合区自拍另类| 日本国产欧美一区二区三区| 欧美激情第6页| 国产精品中文字幕久久久| 国产一区av在线| 2019亚洲日韩新视频| 欧美成人精品在线视频| 国产97色在线|日韩| 亚洲精品乱码久久久久久金桔影视| 亚洲欧美另类国产| 久久精品欧美视频| 亚洲第一区中文99精品| 欧美黑人性视频| 久久精品国产2020观看福利| 久久久久久97| 亚洲国产精品免费| 国产精品久在线观看| 国产69精品久久久久久| 自拍偷拍亚洲一区| 欧美日韩色婷婷| 国产精品久久一区主播| 日韩免费在线看| 国产精品综合不卡av| 国产精品极品尤物在线观看| 中文字幕亚洲专区| 成人免费观看网址| 日韩欧美极品在线观看| 韩国精品美女www爽爽爽视频| www欧美xxxx| 久久久久国产一区二区三区| 日韩精品视频免费专区在线播放| 亚洲国产精品久久久| 亚洲综合av影视| 成人在线国产精品| 精品成人国产在线观看男人呻吟| 91国产视频在线| 国产97色在线| 国产成人亚洲精品| 26uuu另类亚洲欧美日本老年| 自拍偷拍亚洲一区| 成年人精品视频| 久久精品国产亚洲7777| 欧美成人激情视频免费观看| 亚洲第一区中文字幕| 国产成+人+综合+亚洲欧美丁香花| 亚洲天堂免费在线|