FMDB的基本使用

//
//  FMDBTestController.swift
//  微博项目
//
//  Created by zhang on 16/3/13.
//  Copyright © 2016年 jin. All rights reserved.
//

import UIKit

class FMDBTestController: UIViewController {
    var queue:FMDatabaseQueue?
    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = UIColor.whiteColor()
        // 拼接文件名
        let filePath = "\(NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true).last!)database.sqlite"
        print(filePath)
        self.queue = FMDatabaseQueue(path: filePath)

        // Do any additional setup after loading the view.
    }
    @IBAction func createTable(sender: AnyObject) {
        let sql = "create table if not exists t_user (id integer primary key autoincrement,name text,phone text);"
        // 创建数据库表
        // 提供了一个多线程安全的数据库实例
        self.queue?.inDatabase({ (database:FMDatabase!) -> Void in
            let flag = database.executeUpdate(sql, withArgumentsInArray: nil)
            if (flag) {
                print("ok")
            }else{
                print("error")
            }
        })

    }

    @IBAction func insert(sender: AnyObject) {
        let sql = "insert into t_user (name,phone) values (?,?)"
        self.queue?.inDatabase({ (database:FMDatabase!) -> Void in
            let flag = database.executeUpdate(sql, withArgumentsInArray: ["\(rand())","\(rand())"])
            if (flag) {
                print("ok")
            }else{
                print("error")
            }
        })
    }
    @IBAction func deleteTest(sender: AnyObject) {
        let sql = "DELETE FROM t_user "
        self.queue?.inDatabase({ (database:FMDatabase!) -> Void in
            let flag = database.executeUpdate(sql, withArgumentsInArray: nil)
            if (flag) {
                print("ok")
            }else{
                print("error")
            }
        })
    }
    @IBAction func update(sender: AnyObject) {
        let sql = "UPDATE t_user SET name = '2222222'"
        self.queue?.inDatabase({ (database:FMDatabase!) -> Void in
            let flag = database.executeUpdate(sql, withArgumentsInArray: nil)
            if (flag) {
                print("ok")
            }else{
                print("error")
            }
        })
    }
    @IBAction func selectTest(sender: AnyObject) {
        let sql = "select * from t_user;"
        self.queue?.inDatabase({ (database:FMDatabase!) -> Void in
            let res:FMResultSet? = database.executeQuery(sql, withArgumentsInArray: nil)
            var arr:NSMutableArray = NSMutableArray()
            if res != nil
            {
                while(res!.next())
                {
                    let dic:NSDictionary = ["name":"\((res?.intForColumn("name"))!)","phone":(res?.stringForColumn("phone"))!,"id":(res?.stringForColumn("id"))!]
                    arr.addObject(dic)
                }
            }

            print(arr)
        })
    }
}

标签: swift

添加新评论