ssqlit3.0数据库使用方法
由于考虑将来还要开发Android版本app,为了移植方便,所以使用了sqlite3来做数据持久化,到时候把sql语句拷过去还能用。
1、 首先用xcode载入sqlite3类库
选择工程的TARGETS-build phases-link binary with libraries,点击“+”按钮,选择类库,点击“add”添加:
(输入sql查找:)
2、 sqlite3是 c语言写的类库,所以还要引用他的头文件。在工程里新建一个文件,类型为“.h”文件,命名为:ProjectSecretary2-Bridging-Header.h ,这个文件就是桥接文件,然后在这个文件里加一行代码:
#import "sqlite3.h"
3、 然后告诉xcode编译时要引入这个类库头文件
在targets->build settings ->Object-C Bridging Header 输入头文件名即可,要注意的是
- 找swift compiler时,要选择“ALL”和“Combined”,否则不好找。
- 输入文件名时可能要加上级文件路径,自己试试好了
4、 现在可以在代码里打开数据库了:
- let DBFILE_NAME = "psList.sqlite3"
- var db:COpaquePointer = nil
- //获取sqlite3数据库文件位置
- func applicationDocumentsDirectoryFile() ->String {
- let documentDirectory: NSArray = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)
- let path = documentDirectory[0].stringByAppendingPathComponent(DBFILE_NAME) as String
- NSLog("path : %@", path)
- return path
- }
- //创建一个系统配置表
- func getSysConfig()->Dictionary<String,String>{
- var theResult:Dictionary<String,String>=Dictionary<String,String>()
- let writableDBPath = self.applicationDocumentsDirectoryFile()
- let cpath = writableDBPath.cStringUsingEncoding(NSUTF8StringEncoding)
- if sqlite3_open(cpath!, &db) != SQLITE_OK {
- sqlite3_close(db)
- assert(false, "数据库打开失败。")
- } else {
- //创建一个系统参数配置表,有3个字段,分别是 名字、值和备注
- let sql = "CREATE TABLE IF NOT EXISTS SysConfig (name TEXT PRIMARY KEY, value TEXT , comment TEXT)"
- let cSql = sql.cStringUsingEncoding(NSUTF8StringEncoding)
- if (sqlite3_exec(db,cSql!, nil, nil, nil) != SQLITE_OK) {
- sqlite3_close(db)
- assert(false, "建表失败。")
- }
- sqlite3_close(db)
- }
- return theResult
- }
ssqlit3.0数据库使用方法相关推荐
- ubuntu mysql 迁移_(最新)ubuntu20.04LTS版迁移mysql8.0数据库的方法
(最新)ubuntu20.04LTS版迁移mysql8.0数据库的方法 之前mysql通过apt安装的,运行一段时间之后,发现根分区过小,有必要将占用空间大的数据库迁移到home分区,于是,有了这篇文 ...
- PLSQL Developer 9.0 下载+汉化+注册机 以及无法连接到64位数据库解决方法
一.PLSQL Developer 9.0 下载 http://download.allroundautomations.com/plsqldev906.exe PLSQL De ...
- .net连接mysql数据_.net连接MYSQL数据库的方法及示例!
连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...
- php图片保存在mysql_php实现上传图片保存到数据库的方法
php实现上传图片保存到数据库的方法.分享给大家供大家参考.具体分析如下: php 上传图片,一般都使用move_uploaded_file方法保存在服务器上.但如果一个网站有多台服务器,就需要把图片 ...
- java struts2 session mysql 内存不足_Java - 用户在线的数据库实现方法和内存实现方法...
一,数据库实现方法:(实现思路:基于Struts2.0的拦截器) 0,流程:struts.xml -> ApplicationContext.xml -> LoginInterceptor ...
- C#连接Oracle数据库的方法(Oracle.DataAccess.Client也叫ODP.net)
官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...
- oracle数据库修改写入状态,【学习笔记】Oracle oradebug 使用oradebug修改数据库SCN方法案例...
天萃荷净 使用oradebug修改数据库scn,使用oradebug修改数据库scn的案例. 这里也做了两个测试,发现该功能确实很巧妙,通过修改内存中的scn值,然后写入控制文件和数据文件,实现修改s ...
- python读取数据库导出文件_Python 获取 datax 执行结果保存到数据库的方法
执行 datax 作业,创建执行文件,在 crontab 中每天1点(下面有关系)执行: 其中 job_start 及 job_finish 这两行记录是自己添加的,为了方便识别出哪张表. #!/bi ...
- 创建oracle数据库有哪些方法,oracle11g创建数据库的方法-Oracle
oracle11g创建数据库的方法 最近自己想动手写个项目,却无从下手,因为自己以前从未用Oracle数据开发过,使用到是使用过一切都是云里雾里,看到理论的知识无用,只用动手的实践才能创造自我的价值, ...
最新文章
- leetcode算法题--只有两个键的键盘
- ITK:高斯的一阶导数进行卷积来计算图像的梯度
- php 实现百度文库搭建
- 使用python进行渗透测试_利用Python进行Web渗透测试(五):剖析HTTP请求
- 结构体中函数应该怎样定义才能返回值_15 函数的基本使用
- Node.js Error: Cannot find module express
- 【转】 TechED2010与我(三) —— 初识云计算
- SQLserver插入\更新中文乱码
- 如何安装cpolar内网穿透群晖NAS套件
- B - Silly Mistake set +思维
- 实战演习(二)——网站点击流数据分析
- 《分布式与云计算》课程笔记——2.2 Distributed Systems:P2P
- 端午节书法作品楷书内容_端午节毛笔字
- 基于 layui 的纯前端框架 cy-ui
- 盘点五款轻松提高工作效率的任务管理软件
- windows下修改黑苹果config_[Windows]【神器推荐】PearBIOS,一键傻瓜式安装黑苹果
- css3之before、after伪类以及简单实现购物车图标
- 电脑编程技巧与维护征稿启示
- 数据库视图的使用和原理
- abator配置mysql_使用Abator生产ibatis配置文件
热门文章
- Nginx源码分析--数据对齐posix_memalign和memalign函数
- 主成分分析(PCA)Python代码实现
- OpenFace库(Tadas Baltrusaitis)中基于Haar Cascade Classifiers进行人脸检测的测试代码
- 【Qt】ubuntu14.04.5 qt5.6中使用opencv3.4报错:Using GTK+ 2.x and GTK+ 3 in the same process is not supported
- 鸿蒙系统首批更新机器,鸿蒙系统升级名单
- base64 python兼容js_无法在中读取Base64编码的图像节点.js它是从Python发送的
- 什么场景使用mysql的存储过程_mysql存储过程的使用
- git 强制推送_Git 常用命令清单,掌握这些,轻松驾驭版本管理
- linux挂载media装服务,CentOS8服务器入门系列教程(五):Linux挂载光盘、yum安装软件包...
- matlab单机无限大系统_基于MATLAB的单机无穷大系统短路故障分析_吕鹏