SQLite数据库的简单应用(swift)
2016-05-22 22:29
369 查看
第一遍
(不完全)封装SQLite工具,使用该工具,可以实现对模型数据的增删改查.注意:SQLite数据库中是不区分大小写的;
import UIKit class SQLiteTool: NSObject { //单例(单例的定义并没有实际应用中做的那么严格) static let shareinstance = SQLiteTool() //初始化一个数据库对象,很多地方都要用到,声明为类的一个变量 var db : COpaquePointer = nil //因为考虑到实际应用中,凡使用该类的即为数据库操作,所以,只有调用该类的单例对象,就会打开数据库 override init() { super.init() openDB() } //打开指定数据库文件 func openDB() -> Void { let sql = "/Users/lizhanpeng/Desktop/dataBase/demo.sqlite" if sqlite3_open(sql, &db) != SQLITE_OK{ print("打开数据库失败") }else{ print("打开数据库成功") } } //创建表格 func createTable() -> Void { let sql = "create table if not exists t_student (name text, age integer ,id integer)" if execSQlite(sql){ print("创建表格成功") }else{ print("创建表格失败") } } //删除表格 func dropTable() -> Void { let sql = "drop table if exists t_student" if execSQlite(sql){ print("删除表格成功") }else{ print("删除表格失败") } } //修改表格 func alterTable() -> Void { let sql = "alter table t_person add column cL text" if execSQlite(sql){ print("修改表格成功") }else{ print("修改表格失败") } } //执行语句 func execSQlite(sql : String) -> Bool { return (sqlite3_exec(db, sql, nil, nil, nil) == SQLITE_OK) } }
第二篇
代码定义的是Student模型;import UIKit class Student: NSObject { var name : String = "" var age : Int = 0 var score : Double = 0 override init() { } //使用该方法初始化student对象的时候,直接对属性进行赋值 init(name : String,age : Int,score : Double) { self.name = name self.age = age self.score = score } //插入 func insertStu() -> Bool { //字符串类型,一定要加'' let sql = "insert into t_person(name,age,score) values ('\(name)',\(age),\(score))" return SQLiteTool.shareinstance.execSQlite(sql) } //删除 func deleteStu() -> Bool { let sql = "delete from t_person where name = '\(name)'" return SQLiteTool.shareinstance.execSQlite(sql) } //更新 func updateStu(newStu : Student) -> Bool { let sql = "update t_person set name = '\(newStu.name)',age = \(newStu.age),score = \(newStu.score)" return SQLiteTool.shareinstance.execSQlite(sql) } }
第三遍
下面代码是在控制器中实例化student对象,进行数据库操作注意:实例化的一个student对象,即为一个模型
class ViewController: UIViewController { override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { let stu = Student(name: "Batac", age: 19, score: 99) stu.insertStu() // stu.deleteStu() let newStu = Student(name: "Batac_Lee", age: 20, score: 100) newStu.updateStu(newStu) } }
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- Python动态类型的学习---引用的理解
- 数据库链接字符串查询网站
- 100 个最佳 Ubuntu 应用(中)
- 在 AppImage、Flathub 和 Snapcraft 平台上搜索 Linux 应用
- Apple Swift学习教程
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 24 个必备的 Linux 应用程序
- 第三章 数据库备份和还原
- 介绍 Fedora 上的 Swift
- 注册表趣味应用小集
- 创建一个空的IBM DB2 ECO数据库的方法
- 远程控制技术的应用
- 土人系列AS入门教程 -- 对象篇
- Access 2000 数据库 80 万记录通用快速分页类