1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
3
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
4
<title>Error Codes And Messages</title>
5
<style type="text/css">
8
font-family: Verdana, sans-serif;
13
a:visited { color: #734559 }
15
.logo { position:absolute; margin:3px; }
31
.toolbar a { color: white; text-decoration: none; padding: 6px 12px; }
32
.toolbar a:visited { color: white; }
33
.toolbar a:hover { color: #044a64; background: white; }
35
.content { margin: 5%; }
36
.content dt { font-weight:bold; }
37
.content dd { margin-bottom: 25px; margin-left:20%; }
38
.content ul { padding:0px; padding-left: 15px; margin:0px; }
41
.se { background: url(../images/se.gif) 100% 100% no-repeat #044a64}
42
.sw { background: url(../images/sw.gif) 0% 100% no-repeat }
43
.ne { background: url(../images/ne.gif) 100% 0% no-repeat }
44
.nw { background: url(../images/nw.gif) 0% 0% no-repeat }
46
/* Things for "fancyformat" documents start here. */
47
.fancy img+p {font-style:italic}
48
.fancy .codeblock i { color: darkblue; }
49
.fancy h1,.fancy h2,.fancy h3,.fancy h4 {font-weight:normal;color:#044a64}
50
.fancy h2 { margin-left: 10px }
51
.fancy h3 { margin-left: 20px }
52
.fancy h4 { margin-left: 30px }
53
.fancy th {white-space:nowrap;text-align:left;border-bottom:solid 1px #444}
54
.fancy th, .fancy td {padding: 0.2em 1ex; vertical-align:top}
55
.fancy #toc a { color: darkblue ; text-decoration: none }
56
.fancy .todo { color: #AA3333 ; font-style : italic }
57
.fancy .todo:before { content: 'TODO:' }
58
.fancy p.todo { border: solid #AA3333 1px; padding: 1ex }
59
.fancy img { display:block; }
60
.fancy :link:hover, .fancy :visited:hover { background: wheat }
61
.fancy p,.fancy ul,.fancy ol { margin: 1em 5ex }
62
.fancy li p { margin: 1em 0 }
63
/* End of "fancyformat" specific rules. */
69
<div><!-- container div to satisfy validator -->
71
<a href="../index.html">
72
<img class="logo" src="../images/sqlite370_banner.gif" alt="SQLite Logo"
74
<div><!-- IE hack to prevent disappearing logo--></div>
75
<div class="tagline">Small. Fast. Reliable.<br>Choose any three.</div>
77
<table width=100% style="clear:both"><tr><td>
78
<div class="se"><div class="sw"><div class="ne"><div class="nw">
79
<table width=100% style="padding:0;margin:0;cell-spacing:0"><tr>
82
<a href="../about.html">About</a>
83
<a href="../sitemap.html">Sitemap</a>
84
<a href="../docs.html">Documentation</a>
85
<a href="../download.html">Download</a>
86
<a href="../copyright.html">License</a>
87
<a href="../news.html">News</a>
88
<a href="../support.html">Support</a>
91
gMsg = "Search SQLite Docs..."
92
function entersearch() {
93
var q = document.getElementById("q");
94
if( q.value == gMsg ) { q.value = "" }
95
q.style.color = "black"
96
q.style.fontStyle = "normal"
98
function leavesearch() {
99
var q = document.getElementById("q");
100
if( q.value == "" ) {
102
q.style.color = "#044a64"
103
q.style.fontStyle = "italic"
108
<div style="padding:0 1em 0px 0;white-space:nowrap">
109
<form name=f method="GET" action="http://www.sqlite.org/search">
110
<input id=q name=q type=text
111
onfocus="entersearch()" onblur="leavesearch()" style="width:24ex;padding:1px 1ex; border:solid white 1px; font-size:0.9em ; font-style:italic;color:#044a64;" value="Search SQLite Docs...">
112
<input type=submit value="Go" style="border:solid white 1px;background-color:#044a64;color:white;font-size:0.9em;padding:0 1ex">
116
</div></div></div></div>
118
<div class=startsearch></div>
120
<a href="intro.html"><h2>SQLite C Interface</h2></a><h2>Error Codes And Messages</h2><blockquote><pre>int sqlite3_errcode(sqlite3 *db);
121
int sqlite3_extended_errcode(sqlite3 *db);
122
const char *sqlite3_errmsg(sqlite3*);
123
const void *sqlite3_errmsg16(sqlite3*);
124
</pre></blockquote><p>
125
The sqlite3_errcode() interface returns the numeric <a href="../c3ref/c_abort.html">result code</a> or
126
<a href="../c3ref/c_abort_rollback.html">extended result code</a> for the most recent failed sqlite3_* API call
127
associated with a <a href="../c3ref/sqlite3.html">database connection</a>. If a prior API call failed
128
but the most recent API call succeeded, the return value from
129
sqlite3_errcode() is undefined. The sqlite3_extended_errcode()
130
interface is the same except that it always returns the
131
<a href="../c3ref/c_abort_rollback.html">extended result code</a> even when extended result codes are
134
<p>The sqlite3_errmsg() and sqlite3_errmsg16() return English-language
135
text that describes the error, as either UTF-8 or UTF-16 respectively.
136
Memory to hold the error message string is managed internally.
137
The application does not need to worry about freeing the result.
138
However, the error string might be overwritten or deallocated by
139
subsequent calls to other SQLite interface functions.</p>
141
<p>When the serialized <a href="../threadsafe.html">threading mode</a> is in use, it might be the
142
case that a second error occurs on a separate thread in between
143
the time of the first error and the call to these interfaces.
144
When that happens, the second error will be reported since these
145
interfaces always report the most recent result. To avoid
146
this, each thread can obtain exclusive use of the <a href="../c3ref/sqlite3.html">database connection</a> D
147
by invoking <a href="../c3ref/mutex_alloc.html">sqlite3_mutex_enter</a>(<a href="../c3ref/db_mutex.html">sqlite3_db_mutex</a>(D)) before beginning
148
to 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)) after
149
all calls to the interfaces listed here are completed.</p>
151
<p>If an interface fails with SQLITE_MISUSE, that means the interface
152
was invoked incorrectly by the application. In that case, the
153
error code and message may or may not be set.
154
</p><p>See also lists of
155
<a href="objlist.html">Objects</a>,
156
<a href="constlist.html">Constants</a>, and
157
<a href="funclist.html">Functions</a>.</p>