1

の使用には (潜在的な) 問題がありますsqlite3_errmsg():

最初のエラーが発生してからこれらのインターフェイスが呼び出されるまでの間に、別のスレッドで 2 番目のエラーが発生する場合があります。

何らかの関数から既にエラー コードが返されている場合、対応するエラー メッセージを別の方法で取得できますか?

4

2 に答える 2

1

仕事をする機能は

SQLITE_PRIVATE const char *sqlite3ErrStr(int);

PRIVATEしかし、別名として宣言されていstaticます。

ドキュメントでは、データベース接続をロックしてから、エラー コードとエラー メッセージの両方を読み取ることを提案しています。

別の簡単な解決策は、ソース コードにアクセスできる場合、関数を公開することです。


于 2012-04-19T14:18:44.970 に答える
1

使用できる sqliteErrStr() のパブリック API ラッパーがあります。

SQLITE_API const char *sqlite3_errstr(int rc);
于 2013-07-23T09:13:55.783 に答える