Sqlite参考手册
C界面 | C Interface
Error Codes And Messages
int sqlite3_errcode(sqlite3 *db);
int sqlite3_extended_errcode(sqlite3 *db);
const char *sqlite3_errmsg(sqlite3*);
const void *sqlite3_errmsg16(sqlite3*);
const char *sqlite3_errstr(int);
如果与数据库连接D关联的最近的sqlite3_ * API调用失败,则sqlite3_errcode(D)接口将返回该API调用的数字结果代码或扩展结果代码。如果最近的API调用成功,则sqlite3_errcode()的返回值是未定义的。sqlite3_extended_errcode()接口是相同的,只是它总是返回扩展结果代码,即使扩展结果代码被禁用。
sqlite3_errmsg()和sqlite3_errmsg16()分别返回描述错误的英文文本,分别为UTF-8或UTF-16。保存错误消息字符串的内存在内部进行管理。应用程序不需要担心释放结果。但是,错误字符串可能会被其他SQLite接口函数的后续调用覆盖或解除分配。
sqlite3_errstr()接口返回描述结果代码的英文文本,如UTF-8。保存错误消息字符串的内存在内部进行管理,不能由应用程序释放。
在使用序列化线程模式时,可能会出现在第一个错误和对这些接口的调用之间的单独线程中发生第二个错误的情况。当发生这种情况时,会报告第二个错误,因为这些接口总是报告最新的结果。为避免这种情况,每个线程都可以在开始使用D之前调用sqlite3_mutex_enter(sqlite3_db_mutex(D))并在完成对此处列出的接口的所有调用之后调用sqlite3_mutex_leave(sqlite3_db_mutex(D))来获得数据库连接D的独占使用。
如果接口使用SQLITE_MISUSE失败,则意味着接口被应用程序错误地调用。在这种情况下,可能会或可能不会设置错误代码和消息。
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 |