2012-04-19 75 views
1

有一种(潜在的)问题,使用sqlite3_errmsg()获得从错误代码的SQLite3错误消息

它可能是在第一个错误的时间之间在独立的线程中发生的第二错误的情况下对这些接口的呼叫

因此,如果我已经有一些函数返回的错误代码,我可以用其他方式得到相应的错误信息吗?

回答

1

没有为sqliteErrStr()的公共API包装,你可以使用

SQLITE_API const char *sqlite3_errstr(int rc); 
1

,没有工作的功能是

SQLITE_PRIVATE const char *sqlite3ErrStr(int); 

,但被声明为PRIVATE又名static

docs他们建议锁定数据库连接,然后读取错误代码和错误消息。

替代容易解决方案是使该功能公开,如果您有权访问源代码。


+0

谢谢。我已经在文档中看到过这个建议,但希望有一个更简单的方法。 – 2012-04-19 17:54:23