Swift版的SQLite帮助类怎么创建
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要讲解了"Swift版的SQLite帮助类怎么创建",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Swift版的SQLite帮助类怎么创建"吧
千家信息网最后更新 2025年11月07日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安全错误
数据库的锁怎样保障安全
暗黑重制版服务器找不到角色
不做网站也需要备案吗 服务器
某公司主要通过系统数据库
文件保存到数据库失败
安徽搜集客户外贸软件开发
2014年绿色发展数据库
路由器连接不上DNS服务器
mongodb切换数据库目录
web部署到服务器上
网络安全教育的总结
东南亚本土服务器
未转变者服务器中怎么给箱子上锁
信息网络安全的2个时代
网络安全职业技能大赛训练题
mdf数据库管理系统
linux校时服务器
服务器后台管理系统是指
宁波软件开发培训班
技术侦查 软件开发
最新网络技术热词
指飞扬网络技术有限公司
南邮网络技术与应用作业
CSOL代码软件开发
与国外服务器传送数据
软件开发可以用手机吗
网络技术发展之下媒介融合
软件开发中心与省分行
徽县网络安全宣传周
mysql数据库无法卸载
闵行辅助网络技术