1 | Int sqlite3_open(const char *filename, sqlite3 **ppDb) 该函数打开一个指向 SQLite 数据库文件的连接,返回一个用于其他 SQLite 程序的数据库连接对象。如果 filename 参数是 NULL 或 ':memory:',那么 sqlite3_open() 将会在 RAM 中创建一个内存数据库,这只会在 session 的有效时间内持续。 如果文件名 filename 不为 NULL,那么 sqlite3_open() 将使用这个参数值尝试打开数据库文件。如果该名称的文件不存在,sqlite3_open() 将创建一个新的命名为该名称的数据库文件并打开。 |
2 | int sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg) 该函数提供了一个执行 SQL 命令的快捷方式,SQL 命令由 sql 参数提供,可以由多个 SQL 命令组成。在这里,第一个参数 sqlite3 是打开的数据库对象,sqlite_callback 是一个回调,data 作为其第一个参数,errmsg 将被返回用来获取程序生成的任何错误。 sqlite3_exec() 程序解析并执行由 sql 参数所给的每个命令,直到字符串结束或者遇到错误为止。 |
3 | int sqlite3_close(sqlite3*) 该函数关闭之前调用 sqlite3_open() 打开的数据库连接。所有与连接相关的语句都应在连接关闭之前完成。 如果还有查询没有完成,sqlite3_close() 将返回 SQLITE_BUSY 禁止关闭的错误消息。 |
4 | int sqlite3_prepare(sqlite3 *db,const char *zSql,int nByte,sqlite3_stmt **ppStmt,const char **pzTail) 该函数将SQL文本转换为prepared_statement对象,并在函数执行后返回该对象的指 针。事实上,该函数并不会评估参数指定SQL语句,它仅仅是将SQL文本初始化为待 执行的状态。最后需要指出的,对于新的应用程序我们可以使用sqlite3_prepare_v2接 口函数来替代该函数以完成相同的工作。 |
5 | int sqlite3_step(sqlite3_stmt*) 该函数用于评估sqlite3_prepare函数返回的prepared_statement对象,在执行完该函 数之后, prepared_statement对象的内部指针将指向其返回的结果集的第一行。如果 打算进一步迭代其后的数据行,就需要不断的调用该函数,直到所有的数据行都遍历 完毕。然而对于INSERT、 UPDATE和DELETE等DML语句,该函数执行一次即可完 成。 |
6 | int sqlite3_finalize(sqlite3_stmt *pStmt); 该函数用于销毁prepared statement对象,否则将会造成内存泄露。 |