📄 errcode.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><title>Error Codes And Messages</title><style type="text/css">body { margin: auto; font-family: "Verdana" "sans-serif"; padding: 8px 1%;}a { color: #45735f }a:visited { color: #734559 }.logo { position:absolute; margin:3px; }.tagline { float:right; text-align:right; font-style:italic; width:240px; margin:12px; margin-top:58px;}.toolbar { font-variant: small-caps; text-align: center; line-height: 1.6em; margin: 0; padding:1px 8px;}.toolbar a { color: white; text-decoration: none; padding: 6px 12px; }.toolbar a:visited { color: white; }.toolbar a:hover { color: #80a796; background: white; }.content { margin: 5%; }.content dt { font-weight:bold; }.content dd { margin-bottom: 25px; margin-left:20%; }.content ul { padding:0px; padding-left: 15px; margin:0px; }/* rounded corners */.se { background: url(../images/se.png) 100% 100% no-repeat #80a796}.sw { background: url(../images/sw.png) 0% 100% no-repeat }.ne { background: url(../images/ne.png) 100% 0% no-repeat }.nw { background: url(../images/nw.png) 0% 0% no-repeat }</style><meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head><body><div><!-- container div to satisfy validator --><a href="../index.html"><img class="logo" src="../images/SQLite.gif" alt="SQLite Logo" border="0"></a><div><!-- IE hack to prevent disappearing logo--></div><div class="tagline">Small. Fast. Reliable.<br>Choose any three.</div><table width=100% style="clear:both"><tr><td> <div class="se"><div class="sw"><div class="ne"><div class="nw"> <div class="toolbar"> <a href="../about.html">About</a> <a href="../sitemap.html">Sitemap</a> <a href="../docs.html">Documentation</a> <a href="../download.html">Download</a> <a href="../copyright.html">License</a> <a href="../news.html">News</a> <a href="http://www.sqlite.org/cvstrac/index">Developers</a> <a href="../support.html">Support</a> </div></div></div></div></div></td></tr></table> <a href="intro.html"><h2>SQLite C Interface</h2></a><h2>Error Codes And Messages</h2><blockquote><pre>int sqlite3_errcode(sqlite3 *db);int sqlite3_extended_errcode(sqlite3 *db);const char *sqlite3_errmsg(sqlite3*);const void *sqlite3_errmsg16(sqlite3*);</pre></blockquote><p>The sqlite3_errcode() interface returns the numeric <a href="../c3ref/c_abort.html">result code</a> or<a href="../c3ref/c_ioerr_access.html">extended result code</a> for the most recent failed sqlite3_* API callassociated with a <a href="../c3ref/sqlite3.html">database connection</a>. If a prior API call failedbut the most recent API call succeeded, the return value fromsqlite3_errcode() is undefined. The sqlite3_extended_errcode()interface is the same except that it always returns the<a href="../c3ref/c_ioerr_access.html">extended result code</a> even when extended result codes aredisabled.</p><p>The sqlite3_errmsg() and sqlite3_errmsg16() return English-languagetext that describes the error, as either UTF-8 or UTF-16 respectively.Memory to hold the error message string is managed internally.The application does not need to worry about freeing the result.However, the error string might be overwritten or deallocated bysubsequent calls to other SQLite interface functions.</p><p>When the serialized <a href="../threadsafe.html">threading mode</a> is in use, it might be thecase that a second error occurs on a separate thread in betweenthe time of the first error and the call to these interfaces.When that happens, the second error will be reported since theseinterfaces always report the most recent result. To avoidthis, each thread can obtain exclusive use of the <a href="../c3ref/sqlite3.html">database connection</a> Dby invoking <a href="../c3ref/mutex_alloc.html">sqlite3_mutex_enter</a>(<a href="../c3ref/db_mutex.html">sqlite3_db_mutex</a>(D)) before beginningto use D and invoking <a href="../c3ref/mutex_alloc.html">sqlite3_mutex_leave</a>(<a href="../c3ref/db_mutex.html">sqlite3_db_mutex</a>(D)) afterall calls to the interfaces listed here are completed.</p><p>If an interface fails with SQLITE_MISUSE, that means the interfacewas invoked incorrectly by the application. In that case, theerror code and message may or may not be set.</p><p><h3>Invariants:</h3><table border="0" cellpadding="5" cellspacing="0"><tr><td valign="top">H12801</td> <td valign="top">The <a href="../c3ref/errcode.html">sqlite3_errcode(D)</a> interface returns the numeric<a href="../c3ref/c_abort.html">result code</a> or <a href="../c3ref/c_ioerr_access.html">extended result code</a> for the most recentlyfailed interface call associated with the <a href="../c3ref/sqlite3.html">database connection</a> D.</td></tr><tr><td valign="top">H12802</td> <td valign="top">The <a href="../c3ref/errcode.html">sqlite3_extended_errcode(D)</a> interface returns the numeric<a href="../c3ref/c_ioerr_access.html">extended result code</a> for the most recentlyfailed interface call associated with the <a href="../c3ref/sqlite3.html">database connection</a> D.</td></tr><tr><td valign="top">H12803</td> <td valign="top">The <a href="../c3ref/errcode.html">sqlite3_errmsg(D)</a> and <a href="../c3ref/errcode.html">sqlite3_errmsg16(D)</a>interfaces return English-language text that describesthe error in the mostly recently failed interface call,encoded as either UTF-8 or UTF-16 respectively.</td></tr><tr><td valign="top">H12807</td> <td valign="top">The strings returned by <a href="../c3ref/errcode.html">sqlite3_errmsg()</a> and <a href="../c3ref/errcode.html">sqlite3_errmsg16()</a>are valid until the next SQLite interface call.</td></tr><tr><td valign="top">H12808</td> <td valign="top">Calls to API routines that do not return an error code(example: <a href="../c3ref/data_count.html">sqlite3_data_count()</a>) do notchange the error code or message returned by<a href="../c3ref/errcode.html">sqlite3_errcode()</a>, <a href="../c3ref/errcode.html">sqlite3_extended_errcode()</a>,<a href="../c3ref/errcode.html">sqlite3_errmsg()</a>, or <a href="../c3ref/errcode.html">sqlite3_errmsg16()</a>.</td></tr><tr><td valign="top">H12809</td> <td valign="top">Interfaces that are not associated with a specific<a href="../c3ref/sqlite3.html">database connection</a> (examples:<a href="../c3ref/mprintf.html">sqlite3_mprintf()</a> or <a href="../c3ref/enable_shared_cache.html">sqlite3_enable_shared_cache()</a>do not change the values returned by<a href="../c3ref/errcode.html">sqlite3_errcode()</a>, <a href="../c3ref/errcode.html">sqlite3_extended_errcode()</a>,<a href="../c3ref/errcode.html">sqlite3_errmsg()</a>, or <a href="../c3ref/errcode.html">sqlite3_errmsg16()</a>.</td></tr></table></p><p>See also lists of <a href="objlist.html">Objects</a>, <a href="constlist.html">Constants</a>, and <a href="funclist.html">Functions</a>.</p><hr><small><i>This page last modified 2008/12/09 18:44:04 UTC</i></small></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -