使用sqlite3_errmsg()
时存在(潜在)问题:
可能是在第一个错误的时间和对这些接口的调用之间的单独线程上发生第二个错误
因此,如果我已经有某个函数返回的错误代码,是否可以通过其他方式获取相应的错误消息?
答案 0 :(得分:1)
完成工作的功能是
SQLITE_PRIVATE const char *sqlite3ErrStr(int);
但声明为PRIVATE
又名static
。
在docs中,他们建议锁定数据库连接,然后同时读取错误代码和错误消息。
如果您有权访问源代码,另一种 easy 解决方案是将该函数设置为公共。
答案 1 :(得分:1)
您可以使用
的sqliteErrStr()公共API包装器SQLITE_API const char *sqlite3_errstr(int rc);