⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 capi3ref.tcl

📁 嵌入式数据库,在嵌入式平台上实现数据库功能,没有数据引擎,符合sql92标准
💻 TCL
📖 第 1 页 / 共 5 页
字号:
} { <i>Experimental</i> Register a callback function to be invoked whenever a new transaction is committed.  The pArg argument is passed through to the callback. callback.  If the callback function returns non-zero, then the commit is converted into a rollback. If another function was previously registered, its pArg value is returned. Otherwise NULL is returned. Registering a NULL function disables the callback.  Only a single commit hook callback can be registered at a time.}api {} {int sqlite3_complete(const char *sql);int sqlite3_complete16(const void *sql);} { These functions return true if the given input string comprises one or more complete SQL statements. The argument must be a nul-terminated UTF-8 string for sqlite3_complete() and a nul-terminated UTF-16 string for sqlite3_complete16(). These routines do not check to see if the SQL statement is well-formed. They only check to see that the statement is terminated by a semicolon that is not part of a string literal and is not inside the body of a trigger.} {}api {} {int sqlite3_create_collation(  sqlite3*,   const char *zName,   int pref16,   void*,  int(*xCompare)(void*,int,const void*,int,const void*));int sqlite3_create_collation16(  sqlite3*,   const char *zName,   int pref16,   void*,  int(*xCompare)(void*,int,const void*,int,const void*));#define SQLITE_UTF8     1#define SQLITE_UTF16BE  2#define SQLITE_UTF16LE  3#define SQLITE_UTF16    4} { These two functions are used to add new collation sequences to the sqlite3 handle specified as the first argument.  The name of the new collation sequence is specified as a UTF-8 string for sqlite3_create_collation() and a UTF-16 string for sqlite3_create_collation16(). In both cases the name is passed as the second function argument. The third argument must be one of the constants SQLITE_UTF8, SQLITE_UTF16LE or SQLITE_UTF16BE, indicating that the user-supplied routine expects to be passed pointers to strings encoded using UTF-8, UTF-16 little-endian or UTF-16 big-endian respectively.  The SQLITE_UTF16 constant indicates that text strings are expected in UTF-16 in the native byte order of the host machine. A pointer to the user supplied routine must be passed as the fifth argument. If it is NULL, this is the same as deleting the collation sequence (so that SQLite cannot call it anymore). Each time the user supplied function is invoked, it is passed a copy of the void* passed as the fourth argument to sqlite3_create_collation() or sqlite3_create_collation16() as its first argument. The remaining arguments to the user-supplied routine are two strings, each represented by a [length, data] pair and encoded in the encoding that was passed as the third argument when the collation sequence was registered. The user routine should return negative, zero or positive if the first string is less than, equal to, or greater than the second string. i.e. (STRING1 - STRING2).}api {} {int sqlite3_collation_needed(  sqlite3*,   void*,   void(*)(void*,sqlite3*,int eTextRep,const char*));int sqlite3_collation_needed16(  sqlite3*,   void*,  void(*)(void*,sqlite3*,int eTextRep,const void*));} { To avoid having to register all collation sequences before a database can be used, a single callback function may be registered with the database handle to be called whenever an undefined collation sequence is required. If the function is registered using the sqlite3_collation_needed() API, then it is passed the names of undefined collation sequences as strings encoded in UTF-8. If sqlite3_collation_needed16() is used, the names are passed as UTF-16 in machine native byte order. A call to either function replaces any existing callback. When the user-function is invoked, the first argument passed is a copy of the second argument to sqlite3_collation_needed() or sqlite3_collation_needed16(). The second argument is the database handle. The third argument is one of SQLITE_UTF8, SQLITE_UTF16BE or SQLITE_UTF16LE, indicating the most desirable form of the collation sequence function required. The fourth argument is the name of the required collation sequence. The collation sequence is returned to SQLite by a collation-needed callback using the sqlite3_create_collation() or sqlite3_create_collation16() APIs, described above.}api {} {int sqlite3_create_function(  sqlite3 *,  const char *zFunctionName,  int nArg,  int eTextRep,  void *pUserData,  void (*xFunc)(sqlite3_context*,int,sqlite3_value**),  void (*xStep)(sqlite3_context*,int,sqlite3_value**),  void (*xFinal)(sqlite3_context*));int sqlite3_create_function16(  sqlite3*,  const void *zFunctionName,  int nArg,  int eTextRep,  void *pUserData,  void (*xFunc)(sqlite3_context*,int,sqlite3_value**),  void (*xStep)(sqlite3_context*,int,sqlite3_value**),  void (*xFinal)(sqlite3_context*));#define SQLITE_UTF8     1#define SQLITE_UTF16    2#define SQLITE_UTF16BE  3#define SQLITE_UTF16LE  4#define SQLITE_ANY      5} { These two functions are used to add SQL functions or aggregates implemented in C. The only difference between these two routines is that the second argument, the name of the (scalar) function or aggregate, is encoded in UTF-8 for sqlite3_create_function() and UTF-16 for sqlite3_create_function16(). The length of the name is limited to 255 bytes, exclusive of the  zero-terminator.  Note that the name length limit is in bytes, not characters.  Any attempt to create a function with a longer name will result in an SQLITE_ERROR error.  The first argument is the database handle that the new function or aggregate is to be added to. If a single program uses more than one database handle internally, then user functions or aggregates must  be added individually to each database handle with which they will be used. The third argument is the number of arguments that the function or aggregate takes. If this argument is -1 then the function or aggregate may take any number of arguments.  The maximum number of arguments to a new SQL function is 127.  A number larger than 127 for the third argument results in an SQLITE_ERROR error. The fourth argument, eTextRep, specifies what type of text arguments this function prefers to receive.  Any function should be able to work work with UTF-8, UTF-16le, or UTF-16be.  But some implementations may be more efficient with one representation than another.  Users are allowed to specify separate implementations for the same function which are called depending on the text representation of the arguments.  The the implementation which provides the best match is used.  If there is only a single implementation which does not care what text representation is used, then the fourth argument should be SQLITE_ANY. The fifth argument is an arbitrary pointer.  The function implementations can gain access to this pointer using the sqlite_user_data() API. The sixth, seventh and  eighth argumens, xFunc, xStep and xFinal, are pointers to user implemented C functions that implement the user function or aggregate. A scalar function requires an implementation of the xFunc callback only, NULL pointers should be passed as the xStep and xFinal arguments. An aggregate function requires an implementation of xStep and xFinal, and NULL should be passed for xFunc. To delete an existing user function or aggregate, pass NULL for all three function callbacks. Specifying an inconstant set of callback values, such as an xFunc and an xFinal, or an xStep but no xFinal, results in an SQLITE_ERROR return.}api {} {int sqlite3_data_count(sqlite3_stmt *pStmt);} { Return the number of values in the current row of the result set. After a call to sqlite3_step() that returns SQLITE_ROW, this routine will return the same value as the sqlite3_column_count() function. After sqlite3_step() has returned an SQLITE_DONE, SQLITE_BUSY or error code, or before sqlite3_step() has been called on a  prepared SQL statement, this routine returns zero.}api {} {int sqlite3_errcode(sqlite3 *db);} { Return the error code for the most recent failed sqlite3_* API call associated with sqlite3 handle 'db'.  If a prior API call failed but the most recent API call succeeded, the return value from this routine is undefined.  Calls to many sqlite3_* functions set the error code and string returned by sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16() (overwriting the previous values). Note that calls to sqlite3_errcode(), sqlite3_errmsg() and sqlite3_errmsg16() themselves do not affect the results of future invocations.  Calls to API routines that do not return an error code (examples: sqlite3_data_count() or sqlite3_mprintf()) do not change the error code returned by this routine. Assuming no other intervening sqlite3_* API calls are made, the error code returned by this function is associated with the same error as the strings returned by sqlite3_errmsg() and sqlite3_errmsg16().} {}api {} {const char *sqlite3_errmsg(sqlite3*);const void *sqlite3_errmsg16(sqlite3*);} { Return a pointer to a UTF-8 encoded string (sqlite3_errmsg) or a UTF-16 encoded string (sqlite3_errmsg16) describing in English the error condition for the most recent sqlite3_* API call. The returned string is always terminated by an 0x00 byte. The string "not an error" is returned when the most recent API call was successful.}api {} {int sqlite3_exec(  sqlite3*,                     /* An open database */  const char *sql,              /* SQL to be executed */  sqlite_callback,              /* Callback function */  void *,                       /* 1st argument to callback function */  char **errmsg                 /* Error msg written here */);} { A function to executes one or more statements of SQL. If one or more of the SQL statements are queries, then the callback function specified by the 3rd argument is invoked once for each row of the query result.  This callback should normally return 0.  If the callback returns a non-zero value then the query is aborted, all subsequent SQL statements are skipped and the sqlite3_exec() function returns the SQLITE_ABORT. The 4th argument is an arbitrary pointer that is passed to the callback function as its first argument. The 2nd argument to the callback function is the number of columns in the query result.  The 3rd argument to the callback is an array of strings holding the values for each column. The 4th argument to the callback is an array of strings holding the names of each column. The callback function may be NULL, even for queries.  A NULL callback is not an error.  It just means that no callback will be invoked. If an error occurs while parsing or evaluating the SQL (but not while executing the callback) then an appropriate error message is written into memory obtained from malloc() and *errmsg is made to point to that message.  The calling function is responsible for freeing the memory that holds the error message.   Use sqlite3_free() for this.  If errmsg==NULL, then no error message is ever written. The return value is is SQLITE_OK if there are no errors and some other return code if there is an error.  The particular return value depends on the type of error.  If the query could not be executed because a database file is locked or busy, then this function returns SQLITE_BUSY.  (This behavior can be modified somewhat using the sqlite3_busy_handler() and sqlite3_busy_timeout() functions.)} {}api {} {int sqlite3_finalize(sqlite3_stmt *pStmt);} { The sqlite3_finalize() function is called to delete a prepared SQL statement obtained by a previous call to sqlite3_prepare() or sqlite3_prepare16(). If the statement was executed successfully, or not executed at all, then SQLITE_OK is returned. If execution of the statement failed then an error code is returned.  All prepared statements must finalized before sqlite3_close() is called or else the close will fail with a return code of SQLITE_BUSY. This routine can be called at any point during the execution of the virtual machine.  If the virtual machine has not completed execution when this routine is called, that is like encountering an error or an interrupt.  (See sqlite3_interrupt().)  Incomplete updates may be rolled back and transactions canceled,  depending on the circumstances, and the result code returned will be SQLITE_ABORT.}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -