sqlite库学习(4)sqlite库核心API

 

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 UPDATEDELETEDML语句,该函数执行一次即可完

成。

6

int sqlite3_finalize(sqlite3_stmt *pStmt);

该函数用于销毁prepared statement对象,否则将会造成内存泄露。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章