Swift版的SQLite帮助类怎么创建
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"Swift版的SQLite帮助类怎么创建",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Swift版的SQLite帮助类怎么创建"吧
千家信息网最后更新 2026年11月01日Swift版的SQLite帮助类怎么创建
这篇文章主要讲解了"Swift版的SQLite帮助类怎么创建",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Swift版的SQLite帮助类怎么创建"吧!
SQLiteHelper
创建SQLiteHelper类
/// SQLite数据库处理帮助类////// 此类中封装了关于SQLite数据库处理的业务函数class SQLiteHelper{ // 业务代码...}单例
private static let instance = SQLiteHelper()/// 单例 全局的数据访问接口class var sharedInstance: SQLiteHelper{return instance}全局变量
var db: COpaquePointer = nil
打开数据库
/// 打开数据库////// :param: dbName 数据库名称////// :returns: 返回 是否打开成功func openDatabase(dbName: String) -> Bool{let path = dbName.documentPath() println(path)return sqlite3_open(path, &db) == SQLITE_OK}创建示例数据表
/// 创建 T_Department 和 T_Employee 表////// :returns: 返回 是否创建成功func createTable() -> Bool{ let sql = "CREATE TABLE \n" +"IF NOT EXISTS T_Department (\n" +"id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,\n" +"DepartmentNo CHAR(10) NOT NULL DEFAULT '',\n" +"Name CHAR(50) NOT NULL DEFAULT '' \n" +"); \n" +"CREATE TABLE IF NOT EXISTS T_Employee ( \n" +"'id' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, \n" + "'name' TEXT NOT NULL, \n" + "'age' INTEGER NOT NULL, \n" + "'department_id' INTEGER, \n" + "CONSTRAINT 'FK_DEP_ID' FOREIGN KEY ('department_id') REFERENCES 'T_Department' ('id') \n" + ");" // 返回结果 return execSql(sql)}执行INSERT、UPDATE、DELETE 语句
/// 执行INSERT、UPDATE、DELETE SQL语句////// :param: sql SQL语句////// :returns: 返回 是否执行成功func execSql(sql: String) -> Bool{// 返回结果 return sqlite3_exec(db, sql.cStringUsingEncoding(NSUTF8StringEncoding)!, nil, nil, nil) == ITE_OK}执行SQL语句 返回结果数量
/// 执行SQL语句 返回结果数量////// :param: sql SQL语句////// :returns: 返回 结果func execCount(sql: String) -> Int{let record = execRecordSet(sql)// 返回结果return (record[0] as! [AnyObject])[0] as! Int}执行返回单条记录
/// 执行返回单条记录////// :param: sql SQL语句////// :returns: 返回 单条记录func execRow(sql: String) -> [AnyObject]?{let record = execRecordSet(sql)if record.count > 0{return (record[0] as! [AnyObject]) }else{return nil }}执行 SQL 返回结果集合
/// 执行 SQL 返回结果集合////// :param: sql SQL语句////// :returns: 返回 查询的结果集func execRecordSet(sql: String) -> [AnyObject]{var stmt: COpaquePointer = nilvar recordList = [AnyObject]()if sqlite3_prepare_v2(db, sql.cStringUsingEncoding(NSUTF8StringEncoding)!, -1, &stmt, nil) == TE_OK {while sqlite3_step(stmt) == SQLITE_ROW { recordList.append(singleData(stmt)!) } }// 释放语句sqlite3_finalize(stmt)// 返回结果return recordList}执行一行数据
/// 执行一行数据////// :param: stmt 执行的语句////// :returns: 返回一行数据数组func singleData(stmt: COpaquePointer) -> [AnyObject]?{var result = [AnyObject]()// 返回该表的列数let count = sqlite3_column_count(stmt)// #define SQLITE_INTEGER 1// #define SQLITE_FLOAT 2// #define SQLITE_BLOB 4// #define SQLITE_NULL 5// #ifdef SQLITE_TEXT// # undef SQLITE_TEXT// #else// # define SQLITE_TEXT 3// #endif// #define SQLITE3_TEXT 3for index in 0.. = sqlite3_column_text(stmt, index)let chars = UnsafePointer(sqlite3_column_text(stmt, index))let str = String(CString: chars, encoding: NSUTF8StringEncoding)! result.append(str)case let type: println("不支持的类型 \(type)") } }// 返回结果return result} 感谢各位的阅读,以上就是"Swift版的SQLite帮助类怎么创建"的内容了,经过本文的学习后,相信大家对Swift版的SQLite帮助类怎么创建这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
结果
数据
语句
帮助
数据库
成功
一行
学习
业务
全局
内容
数量
类型
处理
代码
函数
变量
名称
字段
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网金融监管科技数据
互联网公司 科技公司
青岛互联网科技公司
礼当家互联网科技
碳银互联网科技
汇久创客互联网科技
互联网女皇 腾讯科技
奔汉互联网科技
火传媒上海互联网科技
科技大学互联网专业好不好
中国的互联网科技企业的崛起
剑昆互联网络科技有限公司临桂
现代互联网科技股
崇明区互联网教育科技售后服务
互联网5g黑科技有哪些
启辰互联网科技
互联网科技股为什么大涨
风投北京互联网科技
普陀区互联网教育科技管理办法
山东亿川互联网科技有限责任公司
互联网科技
山东特亿宝互联网科技有限公司
科技互联网政务服务
狮子座互联网科技
须眉科技是互联网公司吗
互联网科技教育视频
深圳育鹏互联网科技有限公司招聘
2021世界互联网领先科技成果发布
昆明中奇联合互联网科技
亚光科技低轨卫星互联网