当前位置: 首页 > 工具软件 > SQLiteDB > 使用案例 >

[Swift]SQLiteDB的使用

史良哲
2023-12-01

关于SQLiteDB的介绍请访问:https://github.com/FahimF/SQLiteDB

SQLiteDB使用demo:
1、打开Firefox,工具下的SQLite Manager,没有的安装此插件的自行百度。

2、新建数据库,命名为:data.db。
注意:一定要命名这个名称,至于为什么,你上面的链接找原因。

3、新建一个Xcode项目,把data.db拖到项目中

4、把SQLiteDB库(包含:SQLiteDB.swift和SQLTable.swift两个文件)拖到项目。

5、关于bridging header。如果你的项目之前已经有了Bridging-Header.h文件,只需要把库里面的Bridging-Header.h内容拷贝进去;
如果项目没有Bridging-Header.h文件,需要新建一个,方法是:点击项目,进入Build Settings,找到 Objective-C Bridging Header,填入:Bridging-Header.h即可。

6、使用方法参考下面代码:

/*
 * !!!重要说明!!!
 * 使用前使用SQLiteManager建一个库data.db,百度搜火狐的插件
 * 把data.db加入工程,否则编译报错,找到不库文件
 */
import UIKit
class ViewController: UIViewController {

    var db:SQLiteDB!
    @IBOutlet var usernam: UITextField!
    @IBOutlet var password: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()

        let path = NSHomeDirectory()
        print(path)

        db = SQLiteDB.shared

        let result = db.execute(sql: "create table if not exists t_user (uid integer primary key, uname varchar(20), mobile varchar(20))")
        print(result)

        initUser()


    }


    @IBAction func save(_ sender: AnyObject) {
        saveUser()
    }

    func initUser() {
        let data = db.query(sql: "select * from t_user")
        if data.count>0 {
            let user = data[data.count - 1]
            usernam.text = user["uname"] as? String
            password.text = user["mobile"] as? String

        }
    }

    func saveUser() {
        let uname = self.usernam.text!
        let mobile = self.password.text!
        //插入数据库,这里用到了esc字符编码函数,其实是调用bridge.m实现的
        let sql = "insert into t_user(uname,mobile) values('\(uname)','\(mobile)')"
        print("sql: \(sql)")
        //通过封装的方法执行sql
        let result = db.execute(sql: sql)
        print(result)
    }

}

 类似资料: