iOS 数据存储 - 03SQLite编程

来源:互联网 发布:mac 管理员账户没有了 编辑:程序博客网 时间:2024/06/05 14:36

1、准备工作

在iOS中要使用SQLite开发需要做一些准备工作

1. 添加库文件libsqlite3.dylib


2. 导入主头文件




2、核心接口

1.打开数据库

int sqlite3_open(    const char *filename,   // 数据库的文件路径    sqlite3 **ppDb          // 数据库实例);

2. 执行任何SQL语句
int sqlite3_exec(    sqlite3*,                                  // 一个打开的数据库实例    const char *sql,                           // 需要执行的SQL语句    int (*callback)(void*,int,char**,char**),  // SQL语句执行完毕后的回调    void *,                                    // 回调函数的第1个参数    char **errmsg                              // 错误信息);

3. 预先编译SQL

int sqlite3_prepare_v2(    sqlite3 *db,            // 数据库句柄    const char *zSql,       // 需要检查的SQL语句    int nByte,              // 以字节为单位的 SQL 语句的长度,使用 -1 可以自动计算    sqlite3_stmt **ppStmt,  // sqlite3_stmt实例,用来获得数据库数据,编译后的语句句柄,后续操作都依赖这个句柄,需要释放    const char **pzTail     // 未使用的指针,nil);

4. 逐行取出记录

int sqlite3_step(sqlite3_stmt*);

执行一次 sqlite3_prepare 函数返回的 prepared_statement 对象

5. sqlite3_column

用于获取当前指定行的数据

int sqlite3_column_count(sqlite3_stmt *pStmt);// 反回当前行的列数const char *sqlite3_column_name(sqlite3_stmt*, int N);// 返回当前列的名称int sqlite3_column_type(sqlite3_stmt*, int iCol);// 放回当前列的类型


6. sqlite3_finalize

销毁 prepared_statement 对象,否则会造成内存泄露

7. sqlite3_close

关闭之前打开的 database_connection 对象

所有和该对象相关的 prepared_statements 对象都必须在此之前被销毁

关闭数据库








0 0