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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sqlite3.h.svn-base

?? SQlite 的使用 讀庫 寫庫
?? SVN-BASE
?? 第 1 頁 / 共 5 頁
字號:
/*
** 2001 September 15
**
** The author disclaims copyright to this source code.  In place of
** a legal notice, here is a blessing:
**
**    May you do good and not evil.
**    May you find forgiveness for yourself and forgive others.
**    May you share freely, never taking more than you give.
**
*************************************************************************
** This header file defines the interface that the SQLite library
** presents to client programs.
**
** @(#) $Id: sqlite.h.in,v 1.198 2007/01/26 00:51:44 drh Exp $
*/
#ifndef _SQLITE3_H_
#define _SQLITE3_H_
#include <stdarg.h>     /* Needed for the definition of va_list */

/*
** Make sure we can call this stuff from C++.
*/
#ifdef __cplusplus
extern "C" {
#endif

/*
** The version of the SQLite library.
*/
#ifdef SQLITE_VERSION
# undef SQLITE_VERSION
#endif
#define SQLITE_VERSION         "3.3.13"

/*
** The format of the version string is "X.Y.Z<trailing string>", where
** X is the major version number, Y is the minor version number and Z
** is the release number. The trailing string is often "alpha" or "beta".
** For example "3.1.1beta".
**
** The SQLITE_VERSION_NUMBER is an integer with the value 
** (X*100000 + Y*1000 + Z). For example, for version "3.1.1beta", 
** SQLITE_VERSION_NUMBER is set to 3001001. To detect if they are using 
** version 3.1.1 or greater at compile time, programs may use the test 
** (SQLITE_VERSION_NUMBER>=3001001).
*/
#ifdef SQLITE_VERSION_NUMBER
# undef SQLITE_VERSION_NUMBER
#endif
#define SQLITE_VERSION_NUMBER 3003013

/*
** The version string is also compiled into the library so that a program
** can check to make sure that the lib*.a file and the *.h file are from
** the same version.  The sqlite3_libversion() function returns a pointer
** to the sqlite3_version variable - useful in DLLs which cannot access
** global variables.
*/
extern const char sqlite3_version[];
const char *sqlite3_libversion(void);

/*
** Return the value of the SQLITE_VERSION_NUMBER macro when the
** library was compiled.
*/
int sqlite3_libversion_number(void);

/*
** Each open sqlite database is represented by an instance of the
** following opaque structure.
*/
typedef struct sqlite3 sqlite3;


/*
** Some compilers do not support the "long long" datatype.  So we have
** to do a typedef that for 64-bit integers that depends on what compiler
** is being used.
*/
#ifdef SQLITE_INT64_TYPE
  typedef SQLITE_INT64_TYPE sqlite_int64;
  typedef unsigned SQLITE_INT64_TYPE sqlite_uint64;
#elif defined(_MSC_VER) || defined(__BORLANDC__)
  typedef __int64 sqlite_int64;
  typedef unsigned __int64 sqlite_uint64;
#else
  typedef long long int sqlite_int64;
  typedef unsigned long long int sqlite_uint64;
#endif

/*
** If compiling for a processor that lacks floating point support,
** substitute integer for floating-point
*/
#ifdef SQLITE_OMIT_FLOATING_POINT
# define double sqlite_int64
#endif

/*
** A function to close the database.
**
** Call this function with a pointer to a structure that was previously
** returned from sqlite3_open() and the corresponding database will by closed.
**
** All SQL statements prepared using sqlite3_prepare() or
** sqlite3_prepare16() must be deallocated using sqlite3_finalize() before
** this routine is called. Otherwise, SQLITE_BUSY is returned and the
** database connection remains open.
*/
int sqlite3_close(sqlite3 *);

/*
** The type for a callback function.
*/
typedef int (*sqlite3_callback)(void*,int,char**, char**);

/*
** 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 parameter 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 1st parameter is an arbitrary pointer that is passed
** to the callback function as its first parameter.
**
** The 2nd parameter to the callback function is the number of
** columns in the query result.  The 3rd parameter to the callback
** is an array of strings holding the values for each column.
** The 4th parameter 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 below.)
*/
int sqlite3_exec(
  sqlite3*,                     /* An open database */
  const char *sql,              /* SQL to be executed */
  sqlite3_callback,             /* Callback function */
  void *,                       /* 1st argument to callback function */
  char **errmsg                 /* Error msg written here */
);

/*
** Return values for sqlite3_exec() and sqlite3_step()
*/
#define SQLITE_OK           0   /* Successful result */
/* beginning-of-error-codes */
#define SQLITE_ERROR        1   /* SQL error or missing database */
#define SQLITE_INTERNAL     2   /* NOT USED. Internal logic error in SQLite */
#define SQLITE_PERM         3   /* Access permission denied */
#define SQLITE_ABORT        4   /* Callback routine requested an abort */
#define SQLITE_BUSY         5   /* The database file is locked */
#define SQLITE_LOCKED       6   /* A table in the database is locked */
#define SQLITE_NOMEM        7   /* A malloc() failed */
#define SQLITE_READONLY     8   /* Attempt to write a readonly database */
#define SQLITE_INTERRUPT    9   /* Operation terminated by sqlite3_interrupt()*/
#define SQLITE_IOERR       10   /* Some kind of disk I/O error occurred */
#define SQLITE_CORRUPT     11   /* The database disk image is malformed */
#define SQLITE_NOTFOUND    12   /* NOT USED. Table or record not found */
#define SQLITE_FULL        13   /* Insertion failed because database is full */
#define SQLITE_CANTOPEN    14   /* Unable to open the database file */
#define SQLITE_PROTOCOL    15   /* Database lock protocol error */
#define SQLITE_EMPTY       16   /* Database is empty */
#define SQLITE_SCHEMA      17   /* The database schema changed */
#define SQLITE_TOOBIG      18   /* NOT USED. Too much data for one row */
#define SQLITE_CONSTRAINT  19   /* Abort due to contraint violation */
#define SQLITE_MISMATCH    20   /* Data type mismatch */
#define SQLITE_MISUSE      21   /* Library used incorrectly */
#define SQLITE_NOLFS       22   /* Uses OS features not supported on host */
#define SQLITE_AUTH        23   /* Authorization denied */
#define SQLITE_FORMAT      24   /* Auxiliary database format error */
#define SQLITE_RANGE       25   /* 2nd parameter to sqlite3_bind out of range */
#define SQLITE_NOTADB      26   /* File opened that is not a database file */
#define SQLITE_ROW         100  /* sqlite3_step() has another row ready */
#define SQLITE_DONE        101  /* sqlite3_step() has finished executing */
/* end-of-error-codes */

/*
** Using the sqlite3_extended_result_codes() API, you can cause
** SQLite to return result codes with additional information in
** their upper bits.  The lower 8 bits will be the same as the
** primary result codes above.  But the upper bits might contain
** more specific error information.
**
** To extract the primary result code from an extended result code,
** simply mask off the lower 8 bits.
**
**        primary = extended & 0xff;
**
** New result error codes may be added from time to time.  Software
** that uses the extended result codes should plan accordingly and be
** sure to always handle new unknown codes gracefully.
**
** The SQLITE_OK result code will never be extended.  It will always
** be exactly zero.
**
** The extended result codes always have the primary result code
** as a prefix.  Primary result codes only contain a single "_"
** character.  Extended result codes contain two or more "_" characters.
*/
#define SQLITE_IOERR_READ          (SQLITE_IOERR | (1<<8))
#define SQLITE_IOERR_SHORT_READ    (SQLITE_IOERR | (2<<8))
#define SQLITE_IOERR_WRITE         (SQLITE_IOERR | (3<<8))
#define SQLITE_IOERR_FSYNC         (SQLITE_IOERR | (4<<8))
#define SQLITE_IOERR_DIR_FSYNC     (SQLITE_IOERR | (5<<8))
#define SQLITE_IOERR_TRUNCATE      (SQLITE_IOERR | (6<<8))
#define SQLITE_IOERR_FSTAT         (SQLITE_IOERR | (7<<8))
#define SQLITE_IOERR_UNLOCK        (SQLITE_IOERR | (8<<8))
#define SQLITE_IOERR_RDLOCK        (SQLITE_IOERR | (9<<8))

/*
** Enable or disable the extended result codes.
*/
int sqlite3_extended_result_codes(sqlite3*, int onoff);

/*
** Each entry in an SQLite table has a unique integer key.  (The key is
** the value of the INTEGER PRIMARY KEY column if there is such a column,
** otherwise the key is generated at random.  The unique key is always
** available as the ROWID, OID, or _ROWID_ column.)  The following routine
** returns the integer key of the most recent insert in the database.
**
** This function is similar to the mysql_insert_id() function from MySQL.
*/
sqlite_int64 sqlite3_last_insert_rowid(sqlite3*);

/*
** This function returns the number of database rows that were changed
** (or inserted or deleted) by the most recent called sqlite3_exec().
**
** All changes are counted, even if they were later undone by a
** ROLLBACK or ABORT.  Except, changes associated with creating and
** dropping tables are not counted.
**
** If a callback invokes sqlite3_exec() recursively, then the changes
** in the inner, recursive call are counted together with the changes
** in the outer call.
**
** SQLite implements the command "DELETE FROM table" without a WHERE clause
** by dropping and recreating the table.  (This is much faster than going
** through and deleting individual elements form the table.)  Because of
** this optimization, the change count for "DELETE FROM table" will be
** zero regardless of the number of elements that were originally in the
** table. To get an accurate count of the number of rows deleted, use
** "DELETE FROM table WHERE 1" instead.
*/
int sqlite3_changes(sqlite3*);

/*
** This function returns the number of database rows that have been
** modified by INSERT, UPDATE or DELETE statements since the database handle
** was opened. This includes UPDATE, INSERT and DELETE statements executed
** as part of trigger programs. All changes are counted as soon as the
** statement that makes them is completed (when the statement handle is
** passed to sqlite3_reset() or sqlite_finalise()).
**
** SQLite implements the command "DELETE FROM table" without a WHERE clause
** by dropping and recreating the table.  (This is much faster than going
** through and deleting individual elements form the table.)  Because of
** this optimization, the change count for "DELETE FROM table" will be
** zero regardless of the number of elements that were originally in the
** table. To get an accurate count of the number of rows deleted, use
** "DELETE FROM table WHERE 1" instead.
*/
int sqlite3_total_changes(sqlite3*);

/* This function causes any pending database operation to abort and
** return at its earliest opportunity.  This routine is typically
** called in response to a user action such as pressing "Cancel"
** or Ctrl-C where the user wants a long query operation to halt
** immediately.
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲日韩一区二区三区| 日韩电影在线一区| 成人亚洲精品久久久久软件| 久久综合av免费| 国产精品一区二区视频| 久久精品人人做人人爽人人| 国产一区福利在线| 国产日韩欧美高清在线| 国产美女久久久久| 国产精品久久久久久久裸模 | 成人av免费在线播放| 国产丝袜欧美中文另类| jvid福利写真一区二区三区| 亚洲女性喷水在线观看一区| 欧美午夜精品久久久| 秋霞午夜鲁丝一区二区老狼| 精品久久久久一区二区国产| 黑人精品欧美一区二区蜜桃| 国产精品久久久久久久浪潮网站| 91老师国产黑色丝袜在线| 亚洲制服丝袜一区| 日韩精品自拍偷拍| 99在线精品观看| 亚州成人在线电影| 26uuu国产一区二区三区| 成人深夜在线观看| 午夜久久久久久久久久一区二区| 欧美成人乱码一区二区三区| 懂色av中文字幕一区二区三区| 亚洲欧洲精品一区二区三区| 欧美人牲a欧美精品| 国产一区二区三区黄视频| 亚洲视频一区二区在线| 欧美一二三区精品| 99久久婷婷国产精品综合| 午夜精品福利一区二区三区蜜桃| 欧美精品一区二区蜜臀亚洲| 91在线视频网址| 久久99最新地址| 亚洲男人天堂av网| 精品久久久久一区二区国产| 91黄色激情网站| 国产一区二区主播在线| 亚洲精品成a人| 久久精品人人做人人综合| 欧美三区在线观看| a级高清视频欧美日韩| 免费不卡在线观看| 综合激情成人伊人| 久久久久88色偷偷免费| 欧美久久久久免费| 91玉足脚交白嫩脚丫在线播放| 麻豆国产精品视频| 一区二区三区在线视频免费观看| 精品国产91久久久久久久妲己| 欧美亚洲自拍偷拍| 成人免费毛片片v| 精品一区二区三区在线播放视频 | 91毛片在线观看| 国产精品18久久久久久久久| 五月天激情综合网| 亚洲在线中文字幕| 国产精品久久久久久久久图文区| 精品国产91九色蝌蚪| 4438x亚洲最大成人网| 一本色道久久综合亚洲aⅴ蜜桃| 激情五月婷婷综合| 日本三级韩国三级欧美三级| 一区二区三区在线播| 中文字幕一区二区三区乱码在线| www激情久久| 精品久久一区二区三区| 91精品国产综合久久福利软件| 色欧美乱欧美15图片| 99精品欧美一区二区三区综合在线| 国产在线精品不卡| 国产一区二区免费视频| 麻豆国产精品视频| 麻豆国产一区二区| 久久99在线观看| 精品一区二区三区香蕉蜜桃| 日本伊人午夜精品| 蜜桃免费网站一区二区三区| 日本伊人色综合网| 日韩不卡手机在线v区| 日韩av午夜在线观看| 婷婷综合五月天| 三级一区在线视频先锋| 日产精品久久久久久久性色| 午夜欧美视频在线观看| 日韩—二三区免费观看av| 免费成人性网站| 韩国三级中文字幕hd久久精品| 精品在线播放免费| 国产99久久久国产精品免费看| 国产福利精品导航| k8久久久一区二区三区 | 国产一区二区三区黄视频 | 喷水一区二区三区| 免费黄网站欧美| 精久久久久久久久久久| 国产一区二区三区不卡在线观看| 高清在线观看日韩| 91麻豆国产香蕉久久精品| 在线看一区二区| 日韩亚洲欧美在线观看| 久久综合九色综合97婷婷| 国产精品色呦呦| 一个色在线综合| 捆绑变态av一区二区三区| 国产原创一区二区三区| 99久久综合色| 欧美精品99久久久**| 欧美va亚洲va香蕉在线| 国产精品情趣视频| 亚洲成人7777| 国产一区二区三区香蕉| 波多野洁衣一区| 欧美一区二区三区四区高清| 久久精品视频一区二区三区| 亚洲欧美视频在线观看| 日本欧洲一区二区| 不卡av电影在线播放| 欧美精品v日韩精品v韩国精品v| 久久久不卡网国产精品二区| 亚洲欧美激情视频在线观看一区二区三区| 午夜视频一区二区三区| 国产成人免费视频网站高清观看视频| 色综合中文字幕国产 | 亚洲欧美日韩一区二区三区在线观看| 亚洲成人久久影院| 粉嫩13p一区二区三区| 欧美日韩免费高清一区色橹橹 | 精品国产乱码91久久久久久网站| 国产精品国产三级国产aⅴ中文 | 紧缚捆绑精品一区二区| 色婷婷综合久久| xf在线a精品一区二区视频网站| 一区二区三区精品视频| 国产精品一级二级三级| 欧美喷水一区二区| 国产精品黄色在线观看| 玖玖九九国产精品| 欧美日韩视频专区在线播放| 亚洲国产成人在线| 日本亚洲三级在线| 在线日韩一区二区| 中文字幕 久热精品 视频在线| 日韩精品亚洲一区二区三区免费| 不卡电影一区二区三区| 精品99999| 美女国产一区二区| 精品视频一区二区三区免费| 中文字幕亚洲成人| 国产精品456| 久久综合色婷婷| 麻豆精品一区二区三区| 欧美精选午夜久久久乱码6080| 亚洲欧美综合在线精品| 国产成人免费av在线| 精品三级在线看| 青椒成人免费视频| 欧美一区二区视频网站| 亚洲1区2区3区视频| 欧日韩精品视频| 一区二区免费看| 在线免费一区三区| 亚洲一区二区三区爽爽爽爽爽| 91在线免费视频观看| 国产精品毛片无遮挡高清| 粉嫩高潮美女一区二区三区| 国产欧美日韩另类视频免费观看| 国产在线精品一区二区三区不卡| 欧美mv日韩mv国产网站| 麻豆91在线播放免费| 日韩欧美国产系列| 蜜芽一区二区三区| 欧美大肚乱孕交hd孕妇| 久久国产精品露脸对白| 精品国产亚洲一区二区三区在线观看| 日本 国产 欧美色综合| 欧美大片免费久久精品三p| 麻豆成人综合网| 26uuu精品一区二区在线观看| 狠狠色2019综合网| 欧美国产精品专区| 99视频一区二区| 一区二区三区波多野结衣在线观看 | 奇米色777欧美一区二区| 欧美成人国产一区二区| 国产高清亚洲一区| 国产精品美女久久久久高潮| 91丨porny丨中文| 亚洲国产一区二区a毛片| 欧美日韩三级在线| 激情六月婷婷综合| 国产精品不卡一区| 欧美亚日韩国产aⅴ精品中极品| 亚洲国产欧美日韩另类综合| 日韩一区二区影院|