Sqlite参考手册
C界面 | C Interface
Retrieving Statement SQL
const char *sqlite3_sql(sqlite3_stmt *pStmt);
char *sqlite3_expanded_sql(sqlite3_stmt *pStmt);
如果P是由sqlite3_prepare_v2(),sqlite3_prepare_v3(),sqlite3_prepare16_v2()或sqlite3_prepare16_v3()创建的,则sqlite3_sql(P)接口将返回一个指向用于创建预备语句P的UTF-8 SQL文本副本的指针。sqlite3_expanded_sql(P)接口返回一个指向UTF-8字符串的指针,该字符串包含展开绑定参数的预备语句P的SQL文本。
例如,如果使用SQL文本“SELECT $ abc,:xyz”创建预准备语句,并且参数$ abc绑定到整数2345,并且参数:xyz未绑定,则sqlite3_sql()将返回原始字符串“SELECT $ abc,:xyz“,但sqlite3_expanded_sql()将返回”SELECT 2345,NULL“。
如果内存不足可用于保存结果,或者结果将超过由SQLITE_LIMIT_LENGTH确定的最大字符串长度,sqlite3_expanded_sql()接口将返回NULL。
SQLITE_TRACE_SIZE_LIMIT编译时选项限制了绑定参数展开的大小。SQLITE_OMIT_TRACE编译时选项会导致sqlite3_expanded_sql()始终返回NULL。
sqlite3_sql(P)返回的字符串由SQLite管理,并在准备好的语句完成时自动释放。另一方面,由sqlite3_expanded_sql(P)返回的字符串是从sqlite3_malloc()获得的,并且必须由应用程序通过将其传递给sqlite3_free()来释放。
C界面 | C Interface相关
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来
主页 | https://sqlite.org/ |
源码 | https://www.sqlite.org/src/ |
发布版本 | 3.21.0 |