当先锋百科网

首页 1 2 3 4 5 6 7

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 对象都必须在此之前被销毁

关闭数据库