在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

Swift版的SQLite帮助类怎么创建

155次阅读
没有评论

共计 3314 个字符,预计需要花费 9 分钟才能阅读完成。

这篇文章主要讲解了“Swift 版的 SQLite 帮助类怎么创建”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“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.. count
 {let type = sqlite3_column_type(stmt, index)//  根据字段的类型,提取对应列的值 switch type {case SQLITE_INTEGER:
 result.append(Int(sqlite3_column_int64(stmt, index)))case SQLITE_FLOAT:
 result.append(sqlite3_column_double(stmt, index))case SQLITE_NULL:
 result.append(NSNull())case SQLITE_TEXT:let rrrrr: UnsafePointer UInt8  = sqlite3_column_text(stmt, index)let chars = UnsafePointer CChar (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 帮助类怎么创建这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-15发表,共计3314字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 天天弄天天操 | 91成人午夜性a一级毛片 | 亚洲欧美香蕉在线日韩精选 | 欧美日韩国产一区三区 | 少妇人妻无码精品视频 | 伊人成年综合网 | 国产内射合集颜射 | 妞干网免费视频 | 特级aaa片毛片免费观看 | 免费一级做a爰片久久毛片 免费一级做a爰片性色毛片 | 亚洲午夜国产精品无码老牛影视 | 8x8ⅹ在线永久免费入口 | 中国a级毛片免费观看 | 亚洲人成高清在线播放 | 国产日韩精品suv | 久久久久久久久久毛片精品美女 | 午夜家庭影院 | 亚洲欧美一区二区三区四区 | 一级福利 | 免费a级毛片高清在钱 | 免费在线观看一级毛片 | 国产大片中文字幕在线观看 | 国产末成年女av片 | 成年在线网站免费观看无广告 | 欧美毛片aaa激情 | 国产婷婷高清在线观看免费 | 亚洲久操| www男人的天堂 | 亚洲精品色婷婷在线影院麻豆 | 四虎免费永久在线播放 | 四虎www成人影院观看 | 日日摸夜添夜夜夜添高潮 | a毛片基地免费全部香蕉 | 公与淑婷厨房猛烈进出 | 国产一区二区中文字幕 | 久久久久国产视频 | 中文字幕在线一区二区在线 | 久久久国产99久久国产首页 | 被窝国产理论一二三影院 | 国产高清一区 | 色成人综合|