一、简单说明
在iOS中使用sqlite3,首先要添加库文件libsqlite3.dylib和导入主头文件。
二、具体说明
新建一个项目,在项目的主界面中放四个按钮(分别是,增加、删除、修改、查询)。
1.sqlite3_open(<#const char *filename#>,<#sqlite3 **ppDb#>)函数的一些说明:
(1)作用:把一个文件名称传递给他,它会自动检测这个文件是否存在,如果不存在的话,会自动创建相应的文件(这里为数据库文件,刚创建为空)。
(2)参数:它的第一个参数为文件的名称(需转换为C语言的),第二个参数是数据库的实例,sqlite3 *db;
说明:sqlite3是一种类型,db是数据库的句柄,就是数据库的象征,如果要进行增删改查,就得操作db这个实例。
(3)返回值:它的返回值为int型的,根据函数的返回值可以知道,打开数据库文件是成功还是失败,如果返回值是sqlITE_OK则说明成功,否则为失败。
2.打开数据库
双击打开,查看发现打开的数据库连接名称为students,默认为文件名的前缀,数据库创建成功。
3.创建表
函数说明:
参数:第一个参数为数据库的句柄(db),第二个参数为sql语句,第三个参数为回调参数,是一个指向函数的指针,如果把callback前面的*改成^则就是一个block代码段,第四个参数可以写NULL,第五个参数为错误信息,用以代码调试。
1 //1.打开数据库文件(如果数据库文件不存在,那么该函数会自动创建数据库文件)
2 int result = sqlite3_open(cfileName,&db); 3 if (result==sqlITE_OK) { 打开成功
4 NSLog(@"成功打开数据库"); 5
6 2.创建表
7 const char *sql="CREATE TABLE IF NOT EXISTS t_students (id integer PRIMARY KEY AUTOINCREMENT,name text NOT NULL,age integer NOT NULL);"; 8 char *errmsg=NULL; 9 result = sqlite3_exec(db,sql,NULL,&errmsg); 10 if (result==sqlITE_OK) { 11 NSLog(创表成功12 }else
13 { 14 NSLog(创表失败----%s",errmsg); 15 } 16 }17 { 18 NSLog(打开数据库失败19 }
执行后,创表成功,打开创建的表查看:
调试技巧:
1 2 NSLog(3 }4 { 5 NSLog(@"创表失败----%s",errmsg);
6 printf(创表失败---%s----%s---%d7 }