Swift 中使用 SQLite——打开数据库

news/2024/7/5 8:45:56

关于Swift中使用SQLite,接下来可能会分别从打开、增、删、改、查,几个方面来介绍SQLite的具体使用,这一篇重点介绍一下如何打开。

  • 定义全局数据库访问句柄

/// 全局数据库访问句柄
private var db: COpaquePointer = nil

  • 实现打开数据库函数

/// 打开数据库
///
/// - parameter dbName: 数据库文件名
func openDB(dbName: String) {var path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]path = (path as NSString).stringByAppendingPathComponent(dbName)print(path)if sqlite3_open(path, &db) != SQLITE_OK {print("打开数据库失败")return}print("打开数据库成功")
}

  • 在 AppDelegate.swift 中添加以下代码打开数据库

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {DBManager.sharedManager.openDb("my.db")return true
}

小结

  • 建立数据库需要给定完整的数据库路径
  • sqlite3_open 函数会打开数据库,如果数据库不存在,会新建一个空的数据库,并且返回数据库指针(句柄)
  • 后续的所有数据库操作,都基于此 数据库句柄 进行
  • SQLite 数据库是直接保存在沙盒中的一个文件,只有当前应用程序可以使用
  • 在移动端开发时,数据库通常是以 持久式 连接方式使用的
  • 所谓 持久式连接 指的是只做一次 打开数据库 的操作,永远不做 关闭 数据库的操作,从而可以提高数据库的访问效率

http://lihuaxi.xjx100.cn/news/235502.html

相关文章

01-HTML基础与进阶-day6-录像281

04css选择器.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title><style type"text/css">/* p div 标签选择器*/p {color: red; /* k:v color表示样式属性 颜…

js中的装饰器执行顺序

/*** 执行顺讯* [(property)...]->[(parameter->method)...]->constructor->class* [属性...]->[((方法参数...)->方法)...]->[constructor...]->class* 声明周期 property|parameter|method|constructor|class* 声明周期 [始化完毕]init->[属性添加…

常用 SQL介绍

创建表 /*创建数据表CREATE TABLE 表名 (字段名 类型(INTEGER, REAL, TEXT, BLOB)NOT NULL 不允许为空PRIMARY KEY 主键AUTOINCREMENT 自增长,字段名2 类型,...)注意&#xff1a;在开发中&#xff0c;如果是从 Navicat 粘贴的 SQL&#xff0c;需要自己添加一个指令IF NO…

spark集群使用hanlp进行分布式分词操作说明

本篇分享一个使用hanlp分词的操作小案例&#xff0c;即在spark集群中使用hanlp完成分布式分词的操作&#xff0c;文章整理自【qq_33872191】的博客&#xff0c;感谢分享&#xff01;以下为全文&#xff1a;分两步&#xff1a;第一步&#xff1a;实现hankcs.hanlp/corpus.io.IIO…

NoSQL数据库探讨 - 为什么要用非关系数据库?

源地址&#xff1a;http://robbin.javaeye.com/blog/524977 随着互联网web2.0网站的兴起&#xff0c;非关系型的数据库现在成了一个极其热门的新领域&#xff0c;非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站&#xff0c;特别是超大规模和高并发的SNS类…

云计算时代,如何选择适合自己的云服务器厂商?

据百科定义&#xff0c;云服务器是一种处理能力可弹性伸缩的计算服务&#xff0c;帮助您快速构建更稳定、安全的应用&#xff0c;降低开发运维的难度和整体IT成本&#xff0c;使您能够更专注于核心业务的创新。云服务器相对传统服务器有些优势&#xff1a;按国内市场上云服务器…

软件包管理 之 软件在线升级更新yum 图形工具介绍

作者&#xff1a;北南南北来自&#xff1a;LinuxSir.Org提要&#xff1a;yum 是Fedora/Redhat 软件包管理工具&#xff0c;包括文本命令行模式和图形模式&#xff1b;图形模式的yum也是基于文本模式的&#xff1b;目前yum图形前端程序主要有 yumex和kyum &#xff1b; 正文一、…

Swift 中使用 SQLite——批量更新(事务处理)

本文是Swift 中使用 SQLite系列的收官之作&#xff0c;介绍一下在数据库中的批量更新。 事务 在准备做大规模数据操作前&#xff0c;首先开启一个事务&#xff0c;保存操作前的数据库的状态开始数据操作如果数据操作成功&#xff0c;提交事务&#xff0c;让数据库更新到数据操…