亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sqlite3.h

?? sqlite 3.3.8 支持加密的版本
?? H
?? 第 1 頁 / 共 5 頁
字號:

/*
** Values are stored in the database in one of the following fundamental
** types.
*/
#define SQLITE_INTEGER  1
#define SQLITE_FLOAT    2
/* #define SQLITE_TEXT  3  // See below */
#define SQLITE_BLOB     4
#define SQLITE_NULL     5

/*
** SQLite version 2 defines SQLITE_TEXT differently.  To allow both
** version 2 and version 3 to be included, undefine them both if a
** conflict is seen.  Define SQLITE3_TEXT to be the version 3 value.
*/
#ifdef SQLITE_TEXT
# undef SQLITE_TEXT
#else
# define SQLITE_TEXT     3
#endif
#define SQLITE3_TEXT     3

/*
** The next group of routines returns information about the information
** in a single column of the current result row of a query.  In every
** case the first parameter is a pointer to the SQL statement that is being
** executed (the sqlite_stmt* that was returned from sqlite3_prepare()) and
** the second argument is the index of the column for which information 
** should be returned.  iCol is zero-indexed.  The left-most column as an
** index of 0.
**
** If the SQL statement is not currently point to a valid row, or if the
** the colulmn index is out of range, the result is undefined.
**
** These routines attempt to convert the value where appropriate.  For
** example, if the internal representation is FLOAT and a text result
** is requested, sprintf() is used internally to do the conversion
** automatically.  The following table details the conversions that
** are applied:
**
**    Internal Type    Requested Type     Conversion
**    -------------    --------------    --------------------------
**       NULL             INTEGER         Result is 0
**       NULL             FLOAT           Result is 0.0
**       NULL             TEXT            Result is an empty string
**       NULL             BLOB            Result is a zero-length BLOB
**       INTEGER          FLOAT           Convert from integer to float
**       INTEGER          TEXT            ASCII rendering of the integer
**       INTEGER          BLOB            Same as for INTEGER->TEXT
**       FLOAT            INTEGER         Convert from float to integer
**       FLOAT            TEXT            ASCII rendering of the float
**       FLOAT            BLOB            Same as FLOAT->TEXT
**       TEXT             INTEGER         Use atoi()
**       TEXT             FLOAT           Use atof()
**       TEXT             BLOB            No change
**       BLOB             INTEGER         Convert to TEXT then use atoi()
**       BLOB             FLOAT           Convert to TEXT then use atof()
**       BLOB             TEXT            Add a \000 terminator if needed
**
** The following access routines are provided:
**
** _type()     Return the datatype of the result.  This is one of
**             SQLITE_INTEGER, SQLITE_FLOAT, SQLITE_TEXT, SQLITE_BLOB,
**             or SQLITE_NULL.
** _blob()     Return the value of a BLOB.
** _bytes()    Return the number of bytes in a BLOB value or the number
**             of bytes in a TEXT value represented as UTF-8.  The \000
**             terminator is included in the byte count for TEXT values.
** _bytes16()  Return the number of bytes in a BLOB value or the number
**             of bytes in a TEXT value represented as UTF-16.  The \u0000
**             terminator is included in the byte count for TEXT values.
** _double()   Return a FLOAT value.
** _int()      Return an INTEGER value in the host computer's native
**             integer representation.  This might be either a 32- or 64-bit
**             integer depending on the host.
** _int64()    Return an INTEGER value as a 64-bit signed integer.
** _text()     Return the value as UTF-8 text.
** _text16()   Return the value as UTF-16 text.
*/
const void *sqlite3_column_blob(sqlite3_stmt*, int iCol);
int sqlite3_column_bytes(sqlite3_stmt*, int iCol);
int sqlite3_column_bytes16(sqlite3_stmt*, int iCol);
double sqlite3_column_double(sqlite3_stmt*, int iCol);
int sqlite3_column_int(sqlite3_stmt*, int iCol);
sqlite_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol);
const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol);
const void *sqlite3_column_text16(sqlite3_stmt*, int iCol);
int sqlite3_column_type(sqlite3_stmt*, int iCol);
int sqlite3_column_numeric_type(sqlite3_stmt*, int iCol);
sqlite3_value *sqlite3_column_value(sqlite3_stmt*, int iCol);

/*
** The sqlite3_finalize() function is called to delete a compiled
** 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. 
**
** 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 cancelled,  depending on the circumstances,
** and the result code returned will be SQLITE_ABORT.
*/
int sqlite3_finalize(sqlite3_stmt *pStmt);

/*
** The sqlite3_reset() function is called to reset a compiled SQL
** statement obtained by a previous call to sqlite3_prepare() or
** sqlite3_prepare16() back to it's initial state, ready to be re-executed.
** Any SQL statement variables that had values bound to them using
** the sqlite3_bind_*() API retain their values.
*/
int sqlite3_reset(sqlite3_stmt *pStmt);

/*
** The following two functions are used to add user functions or aggregates
** implemented in C to the SQL langauge interpreted by SQLite. The
** difference only between the two is that the second parameter, 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 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 parameter is the number of arguments that the function or
** aggregate takes. If this parameter is negative, then the function or
** aggregate may take any number of arguments.
**
** The fourth parameter is one of SQLITE_UTF* values defined below,
** indicating the encoding that the function is most likely to handle
** values in.  This does not change the behaviour of the programming
** interface. However, if two versions of the same function are registered
** with different encoding values, SQLite invokes the version likely to
** minimize conversions between text encodings.
**
** The seventh, eighth and ninth parameters, 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 parameters. An aggregate function requires an implementation
** of xStep and xFinal, but NULL should be passed for xFunc. To delete an
** existing user function or aggregate, pass NULL for all three function
** callback. Specifying an inconstent set of callback values, such as an
** xFunc and an xFinal, or an xStep but no xFinal, SQLITE_ERROR is
** returned.
*/
int sqlite3_create_function(
  sqlite3 *,
  const char *zFunctionName,
  int nArg,
  int eTextRep,
  void*,
  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*,
  void (*xFunc)(sqlite3_context*,int,sqlite3_value**),
  void (*xStep)(sqlite3_context*,int,sqlite3_value**),
  void (*xFinal)(sqlite3_context*)
);

/*
** This function is deprecated.  Do not use it.  It continues to exist
** so as not to break legacy code.  But new code should avoid using it.
*/
int sqlite3_aggregate_count(sqlite3_context*);

/*
** The next group of routines returns information about parameters to
** a user-defined function.  Function implementations use these routines
** to access their parameters.  These routines are the same as the
** sqlite3_column_* routines except that these routines take a single
** sqlite3_value* pointer instead of an sqlite3_stmt* and an integer
** column number.
*/
const void *sqlite3_value_blob(sqlite3_value*);
int sqlite3_value_bytes(sqlite3_value*);
int sqlite3_value_bytes16(sqlite3_value*);
double sqlite3_value_double(sqlite3_value*);
int sqlite3_value_int(sqlite3_value*);
sqlite_int64 sqlite3_value_int64(sqlite3_value*);
const unsigned char *sqlite3_value_text(sqlite3_value*);
const void *sqlite3_value_text16(sqlite3_value*);
const void *sqlite3_value_text16le(sqlite3_value*);
const void *sqlite3_value_text16be(sqlite3_value*);
int sqlite3_value_type(sqlite3_value*);
int sqlite3_value_numeric_type(sqlite3_value*);

/*
** Aggregate functions use the following routine to allocate
** a structure for storing their state.  The first time this routine
** is called for a particular aggregate, a new structure of size nBytes
** is allocated, zeroed, and returned.  On subsequent calls (for the
** same aggregate instance) the same buffer is returned.  The implementation
** of the aggregate can use the returned buffer to accumulate data.
**
** The buffer allocated is freed automatically by SQLite.
*/
void *sqlite3_aggregate_context(sqlite3_context*, int nBytes);

/*
** The pUserData parameter to the sqlite3_create_function()
** routine used to register user functions is available to
** the implementation of the function using this call.
*/
void *sqlite3_user_data(sqlite3_context*);

/*
** The following two functions may be used by scalar user functions to
** associate meta-data with argument values. If the same value is passed to
** multiple invocations of the user-function during query execution, under
** some circumstances the associated meta-data may be preserved. This may
** be used, for example, to add a regular-expression matching scalar
** function. The compiled version of the regular expression is stored as
** meta-data associated with the SQL value passed as the regular expression
** pattern.
**
** Calling sqlite3_get_auxdata() returns a pointer to the meta data
** associated with the Nth argument value to the current user function
** call, where N is the second parameter. If no meta-data has been set for
** that value, then a NULL pointer is returned.
**
** The sqlite3_set_auxdata() is used to associate meta data with a user
** function argument. The third parameter is a pointer to the meta data
** to be associated with the Nth user function argument value. The fourth
** parameter specifies a 'delete function' that will be called on the meta
** data pointer to release it when it is no longer required. If the delete
** function pointer is NULL, it is not invoked.
**
** In practice, meta-data is preserved between function calls for
** expressions that are constant at compile time. This includes literal
** values and SQL variables.
*/
void *sqlite3_get_auxdata(sqlite3_context*, int);
void sqlite3_set_auxdata(sqlite3_context*, int, void*, void (*)(void*));


/*
** These are special value for the destructor that is passed in as the
** final argument to routines like sqlite3_result_blob().  If the destructor
** argument is SQLITE_STATIC, it means that the content pointer is constant
** and will never change.  It does not need to be destroyed.  The 
** SQLITE_TRANSIENT value means that the content will likely change in
** the near future and that SQLite should make its own private copy of
** the content before returning.
*/
#define SQLITE_STATIC      ((void(*)(void *))0)
#define SQLITE_TRANSIENT   ((void(*)(void *))-1)

/*
** User-defined functions invoke the following routines in order to
** set their return value.
*/
void sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*));
void sqlite3_result_double(sqlite3_context*, double);
void sqlite3_result_error(sqlite3_context*, const char*, int);
void sqlite3_result_error16(sqlite3_context*, const void*, int);
void sqlite3_result_int(sqlite3_context*, int);
void sqlite3_result_int64(sqlite3_context*, sqlite_int64);
void sqlite3_result_null(sqlite3_context*);
void sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*));
void sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*));
void sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*));
void sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*));
void sqlite3_result_value(sqlite3_context*, sqlite3_value*);

/*
** These are the allowed values for the eTextRep argument to
** sqlite3_create_collation and sqlite3_create_function.
*/
#define SQLITE_UTF8           1
#define SQLITE_UTF16LE        2
#define SQLITE_UTF16BE        3
#define SQLITE_UTF16          4    /* Use native byte order */
#define SQLITE_ANY            5    /* sqlite3_create_function only */
#define SQLITE_UTF16_ALIGNED  8    /* sqlite3_create_collation only */

/*
** 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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区日韩精品欧美| 波多野结衣中文字幕一区| 亚洲影院理伦片| 自拍偷在线精品自拍偷无码专区 | 在线不卡一区二区| 欧美性色欧美a在线播放| 一本色道综合亚洲| 色哟哟国产精品| 欧美性xxxxxx少妇| 欧美精品欧美精品系列| 欧美区一区二区三区| 欧美区视频在线观看| 日韩欧美一二三四区| 久久久蜜桃精品| 国产欧美日韩激情| 亚洲婷婷综合久久一本伊一区| 亚洲免费观看高清| 性做久久久久久| 秋霞影院一区二区| 国产精品18久久久久久久久久久久| 国产成人在线电影| 91同城在线观看| 欧美日韩亚洲不卡| 欧美va亚洲va在线观看蝴蝶网| 久久久久久久国产精品影院| 中文一区在线播放| 一卡二卡三卡日韩欧美| 石原莉奈在线亚洲二区| 激情小说欧美图片| 成人av在线影院| 欧美日韩高清一区二区不卡| 日韩三级视频在线看| 国产精品美女久久久久久2018| 亚洲一区二三区| 免费国产亚洲视频| 成人短视频下载| 正在播放亚洲一区| 国产清纯白嫩初高生在线观看91| 一区二区三区精品在线| 另类人妖一区二区av| 成人高清av在线| 91麻豆精品久久久久蜜臀 | 日韩专区中文字幕一区二区| 黄页视频在线91| 91麻豆自制传媒国产之光| 欧美精品久久99| 国产亚洲欧洲997久久综合| 亚洲精品视频一区| 精品系列免费在线观看| 色美美综合视频| 精品国产免费视频| 一区二区国产盗摄色噜噜| 久久99国产精品成人| 99久久精品国产精品久久| 日韩视频不卡中文| 亚洲免费av高清| 国产精品99久久不卡二区| 欧美三电影在线| 亚洲国产精品精华液ab| 天堂va蜜桃一区二区三区漫画版| 国产电影精品久久禁18| 欧美日本一区二区三区四区| 国产精品乱人伦| 麻豆91精品视频| 欧美午夜精品久久久久久孕妇| 久久久精品国产99久久精品芒果| 亚洲va韩国va欧美va精品| 99在线视频精品| 国产亚洲成av人在线观看导航 | 美女国产一区二区| 在线观看网站黄不卡| 国产色产综合产在线视频| 视频一区国产视频| 在线国产亚洲欧美| 欧美国产精品劲爆| 激情文学综合网| 欧美精品日日鲁夜夜添| 亚洲欧美色图小说| jizzjizzjizz欧美| 久久久久久黄色| 激情综合色播五月| 日韩一区二区三区在线视频| 亚洲成人动漫精品| 色综合久久中文综合久久97| 中文字幕av一区二区三区高| 国产麻豆欧美日韩一区| 日韩一区二区三区免费观看| 午夜一区二区三区视频| 欧美午夜在线一二页| 亚洲黄色尤物视频| 色综合久久中文综合久久牛| 国产精品久久久久久久久图文区| 国产一区二区免费在线| 精品欧美一区二区三区精品久久| 午夜精品久久久久久久99水蜜桃 | 国产99精品国产| 26uuu精品一区二区在线观看| 蜜桃免费网站一区二区三区| 9191精品国产综合久久久久久 | 成人app在线| 中国色在线观看另类| 成人一区二区三区在线观看| 国产欧美日韩亚州综合| 国产精品一卡二卡| 国产精品网站在线播放| 国产成人在线看| 中文字幕第一区| 99精品欧美一区| 亚洲天堂免费在线观看视频| 99在线精品一区二区三区| 亚洲三级电影全部在线观看高清| 色婷婷综合久久久中文字幕| 亚洲日本乱码在线观看| 色av成人天堂桃色av| 亚洲最大成人综合| 欧美日韩高清影院| 蜜桃久久久久久久| 久久久精品黄色| 99久久综合色| 亚洲一区二区三区免费视频| 欧美精品丝袜久久久中文字幕| 免费黄网站欧美| 国产欧美综合在线| 91免费在线看| 婷婷综合另类小说色区| 日韩精品一区国产麻豆| 国产精品亚洲午夜一区二区三区| 中文欧美字幕免费| 欧美亚日韩国产aⅴ精品中极品| 日韩精品色哟哟| 国产午夜精品理论片a级大结局 | 亚洲欧美综合色| 欧美手机在线视频| 麻豆国产91在线播放| 亚洲国产激情av| 在线观看网站黄不卡| 久久国产麻豆精品| 中文字幕日韩欧美一区二区三区| 欧美日韩精品电影| 国产精品影视网| 一区二区三区在线播放| 欧美精品在线一区二区三区| 国产一区二区视频在线播放| 亚洲色图欧美激情| 欧美一区二区三区在线视频 | 久久先锋影音av鲁色资源网| av成人老司机| 日产精品久久久久久久性色| 国产欧美一区二区精品秋霞影院 | 精品奇米国产一区二区三区| 99re视频这里只有精品| 日本不卡一区二区| 国产精品狼人久久影院观看方式| 欧美日韩精品一区二区三区蜜桃| 久久国内精品自在自线400部| 中文字幕一区视频| 日韩欧美亚洲国产另类| 91日韩在线专区| 精品一区二区三区在线播放视频| 亚洲欧美视频在线观看视频| 欧美v日韩v国产v| 一本高清dvd不卡在线观看| 黑人巨大精品欧美黑白配亚洲| 亚洲欧美偷拍三级| 久久久久97国产精华液好用吗| 欧美日韩亚洲综合在线| 成人性生交大片免费看中文网站| 午夜精品久久久久久久久| 国产精品乱码人人做人人爱| 精品日韩一区二区| 欧美日韩国产中文| 色综合久久九月婷婷色综合| 国产精品一区三区| 青青青伊人色综合久久| 一区二区三区小说| 国产精品久久毛片a| 精品少妇一区二区三区日产乱码 | 亚洲欧洲日韩在线| 精品久久久久久久久久久院品网 | 99精品在线观看视频| 国产精品1024| 理论片日本一区| 天堂在线一区二区| 亚洲综合一二三区| 亚洲色图欧美激情| 国产精品不卡一区| 国产日韩av一区| 久久综合999| 欧美电影免费观看高清完整版在线 | 久久久欧美精品sm网站| 欧美一区二区三区播放老司机| 在线一区二区观看| 99精品久久免费看蜜臀剧情介绍| 国产精品一区二区黑丝| 午夜国产精品一区| 亚洲成人一二三| 亚洲成人777| 亚洲超碰精品一区二区| 亚洲黄色av一区| 亚洲美女免费在线|