Swift版的SQLite帮助类怎么创建
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,这篇文章主要讲解了"Swift版的SQLite帮助类怎么创建",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Swift版的SQLite帮助类怎么创建"吧
千家信息网最后更新 2024年11月26日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安全错误
数据库的锁怎样保障安全
达梦数据库after
中国对网络安全重视程度
服务器运行软件开发
数据库中如何打开vbe
武汉网络安全学院是专科吗
汇聚花生互联网科技有限公司
数据库什么叫优化
广东链动互联网科技有限公司
ipad无法验证身份服务器出错
上海凌数网络技术
redis怎么创建数据库
信息网络安全 普及 知识
网络安全意识现状
鄞州游戏软件开发管理
查看服务器上所有svn项目路径
数据库存储服务器
数据库注入技术
软件开发环境管理办法
东易日盛互联网科技家装怎么样
小成本创业软件开发
浙江企朋网络技术 ipo
ieee9节点数据库
长江流域医院用药数据库
java 数据库字段为空
广电网络安全培训机构
流媒体服务器样式
数据库维修
奔驰金融 软件开发
win12系统服务器版
软件开发培训都学什么条件