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

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

?? vdbeapi.c

?? 調用sqlite開源數據的小程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
    static Mem nullMem;    if( nullMem.flags==0 ){ nullMem.flags = MEM_Null; }    sqlite3Error(pVm->db, SQLITE_RANGE, 0);    return &nullMem;  }  return &pVm->pTos[(1-vals)+i];}/**************************** sqlite3_column_  ********************************* The following routines are used to access elements of the current row** in the result set.*/const void *sqlite3_column_blob(sqlite3_stmt *pStmt, int i){  return sqlite3_value_blob( columnMem(pStmt,i) );}int sqlite3_column_bytes(sqlite3_stmt *pStmt, int i){  return sqlite3_value_bytes( columnMem(pStmt,i) );}int sqlite3_column_bytes16(sqlite3_stmt *pStmt, int i){  return sqlite3_value_bytes16( columnMem(pStmt,i) );}double sqlite3_column_double(sqlite3_stmt *pStmt, int i){  return sqlite3_value_double( columnMem(pStmt,i) );}int sqlite3_column_int(sqlite3_stmt *pStmt, int i){  return sqlite3_value_int( columnMem(pStmt,i) );}sqlite_int64 sqlite3_column_int64(sqlite3_stmt *pStmt, int i){  return sqlite3_value_int64( columnMem(pStmt,i) );}const unsigned char *sqlite3_column_text(sqlite3_stmt *pStmt, int i){  return sqlite3_value_text( columnMem(pStmt,i) );}#if 0sqlite3_value *sqlite3_column_value(sqlite3_stmt *pStmt, int i){  return columnMem(pStmt, i);}#endif#ifndef SQLITE_OMIT_UTF16const void *sqlite3_column_text16(sqlite3_stmt *pStmt, int i){  return sqlite3_value_text16( columnMem(pStmt,i) );}#endif /* SQLITE_OMIT_UTF16 */int sqlite3_column_type(sqlite3_stmt *pStmt, int i){  return sqlite3_value_type( columnMem(pStmt,i) );}/*** Convert the N-th element of pStmt->pColName[] into a string using** xFunc() then return that string.  If N is out of range, return 0.**** There are up to 5 names for each column.  useType determines which** name is returned.  Here are the names:****    0      The column name as it should be displayed for output**    1      The datatype name for the column**    2      The name of the database that the column derives from**    3      The name of the table that the column derives from**    4      The name of the table column that the result column derives from**** If the result is not a simple column reference (if it is an expression** or a constant) then useTypes 2, 3, and 4 return NULL.*/static const void *columnName(  sqlite3_stmt *pStmt,  int N,  const void *(*xFunc)(Mem*),  int useType){  Vdbe *p = (Vdbe *)pStmt;  int n = sqlite3_column_count(pStmt);  if( p==0 || N>=n || N<0 ){    return 0;  }  N += useType*n;  return xFunc(&p->aColName[N]);}/*** Return the name of the Nth column of the result set returned by SQL** statement pStmt.*/const char *sqlite3_column_name(sqlite3_stmt *pStmt, int N){  return columnName(pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, 0);}#ifndef SQLITE_OMIT_UTF16const void *sqlite3_column_name16(sqlite3_stmt *pStmt, int N){  return columnName(pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, 0);}#endif/*** Return the column declaration type (if applicable) of the 'i'th column** of the result set of SQL statement pStmt.*/const char *sqlite3_column_decltype(sqlite3_stmt *pStmt, int N){  return columnName(pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, 1);}#ifndef SQLITE_OMIT_UTF16const void *sqlite3_column_decltype16(sqlite3_stmt *pStmt, int N){  return columnName(pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, 1);}#endif /* SQLITE_OMIT_UTF16 */#if !defined(SQLITE_OMIT_ORIGIN_NAMES) && 0/*** Return the name of the database from which a result column derives.** NULL is returned if the result column is an expression or constant or** anything else which is not an unabiguous reference to a database column.*/const char *sqlite3_column_database_name(sqlite3_stmt *pStmt, int N){  return columnName(pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, 2);}#ifndef SQLITE_OMIT_UTF16const void *sqlite3_column_database_name16(sqlite3_stmt *pStmt, int N){  return columnName(pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, 2);}#endif /* SQLITE_OMIT_UTF16 *//*** Return the name of the table from which a result column derives.** NULL is returned if the result column is an expression or constant or** anything else which is not an unabiguous reference to a database column.*/const char *sqlite3_column_table_name(sqlite3_stmt *pStmt, int N){  return columnName(pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, 3);}#ifndef SQLITE_OMIT_UTF16const void *sqlite3_column_table_name16(sqlite3_stmt *pStmt, int N){  return columnName(pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, 3);}#endif /* SQLITE_OMIT_UTF16 *//*** Return the name of the table column from which a result column derives.** NULL is returned if the result column is an expression or constant or** anything else which is not an unabiguous reference to a database column.*/const char *sqlite3_column_origin_name(sqlite3_stmt *pStmt, int N){  return columnName(pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, 4);}#ifndef SQLITE_OMIT_UTF16const void *sqlite3_column_origin_name16(sqlite3_stmt *pStmt, int N){  return columnName(pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, 4);}#endif /* SQLITE_OMIT_UTF16 */#endif /* SQLITE_OMIT_ORIGIN_NAMES *//******************************* sqlite3_bind_  ***************************** ** Routines used to attach values to wildcards in a compiled SQL statement.*//*** Unbind the value bound to variable i in virtual machine p. This is the ** the same as binding a NULL value to the column. If the "i" parameter is** out of range, then SQLITE_RANGE is returned. Othewise SQLITE_OK.**** The error code stored in database p->db is overwritten with the return** value in any case.*/static int vdbeUnbind(Vdbe *p, int i){  Mem *pVar;  if( p==0 || p->magic!=VDBE_MAGIC_RUN || p->pc>=0 ){    if( p ) sqlite3Error(p->db, SQLITE_MISUSE, 0);    return SQLITE_MISUSE;  }  if( i<1 || i>p->nVar ){    sqlite3Error(p->db, SQLITE_RANGE, 0);    return SQLITE_RANGE;  }  i--;  pVar = &p->aVar[i];  sqlite3VdbeMemRelease(pVar);  pVar->flags = MEM_Null;  sqlite3Error(p->db, SQLITE_OK, 0);  return SQLITE_OK;}/*** Bind a text or BLOB value.*/static int bindText(  sqlite3_stmt *pStmt,   int i,   const void *zData,   int nData,   void (*xDel)(void*),  int encoding){  Vdbe *p = (Vdbe *)pStmt;  Mem *pVar;  int rc;  rc = vdbeUnbind(p, i);  if( rc || zData==0 ){    return rc;  }  pVar = &p->aVar[i-1];  rc = sqlite3VdbeMemSetStr(pVar, zData, nData, encoding, xDel);  if( rc ){    return rc;  }  if( rc==SQLITE_OK && encoding!=0 ){    rc = sqlite3VdbeChangeEncoding(pVar, p->db->enc);  }  return rc;}/*** Bind a blob value to an SQL statement variable.*/int sqlite3_bind_blob(  sqlite3_stmt *pStmt,   int i,   const void *zData,   int nData,   void (*xDel)(void*)){  return bindText(pStmt, i, zData, nData, xDel, 0);}int sqlite3_bind_double(sqlite3_stmt *pStmt, int i, double rValue){  int rc;  Vdbe *p = (Vdbe *)pStmt;  rc = vdbeUnbind(p, i);  if( rc==SQLITE_OK ){    sqlite3VdbeMemSetDouble(&p->aVar[i-1], rValue);  }  return rc;}int sqlite3_bind_int(sqlite3_stmt *p, int i, int iValue){  return sqlite3_bind_int64(p, i, (i64)iValue);}int sqlite3_bind_int64(sqlite3_stmt *pStmt, int i, sqlite_int64 iValue){  int rc;  Vdbe *p = (Vdbe *)pStmt;  rc = vdbeUnbind(p, i);  if( rc==SQLITE_OK ){    sqlite3VdbeMemSetInt64(&p->aVar[i-1], iValue);  }  return rc;}int sqlite3_bind_null(sqlite3_stmt* p, int i){  return vdbeUnbind((Vdbe *)p, i);}int sqlite3_bind_text(   sqlite3_stmt *pStmt,   int i,   const char *zData,   int nData,   void (*xDel)(void*)){  return bindText(pStmt, i, zData, nData, xDel, SQLITE_UTF8);}#ifndef SQLITE_OMIT_UTF16int sqlite3_bind_text16(  sqlite3_stmt *pStmt,   int i,   const void *zData,   int nData,   void (*xDel)(void*)){  return bindText(pStmt, i, zData, nData, xDel, SQLITE_UTF16NATIVE);}#endif /* SQLITE_OMIT_UTF16 *//*** Return the number of wildcards that can be potentially bound to.** This routine is added to support DBD::SQLite.  */int sqlite3_bind_parameter_count(sqlite3_stmt *pStmt){  Vdbe *p = (Vdbe*)pStmt;  return p ? p->nVar : 0;}/*** Create a mapping from variable numbers to variable names** in the Vdbe.azVar[] array, if such a mapping does not already** exist.*/static void createVarMap(Vdbe *p){  if( !p->okVar ){    int j;    Op *pOp;    for(j=0, pOp=p->aOp; j<p->nOp; j++, pOp++){      if( pOp->opcode==OP_Variable ){        assert( pOp->p1>0 && pOp->p1<=p->nVar );        p->azVar[pOp->p1-1] = pOp->p3;      }    }    p->okVar = 1;  }}/*** Return the name of a wildcard parameter.  Return NULL if the index** is out of range or if the wildcard is unnamed.**** The result is always UTF-8.*/const char *sqlite3_bind_parameter_name(sqlite3_stmt *pStmt, int i){  Vdbe *p = (Vdbe*)pStmt;  if( p==0 || i<1 || i>p->nVar ){    return 0;  }  createVarMap(p);  return p->azVar[i-1];}/*** Given a wildcard parameter name, return the index of the variable** with that name.  If there is no variable with the given name,** return 0.*/int sqlite3_bind_parameter_index(sqlite3_stmt *pStmt, const char *zName){  Vdbe *p = (Vdbe*)pStmt;  int i;  if( p==0 ){    return 0;  }  createVarMap(p);   if( zName ){    for(i=0; i<p->nVar; i++){      const char *z = p->azVar[i];      if( z && strcmp(z,zName)==0 ){        return i+1;      }    }  }  return 0;}/*** Transfer all bindings from the first statement over to the second.** If the two statements contain a different number of bindings, then** an SQLITE_ERROR is returned.*/int sqlite3_transfer_bindings(sqlite3_stmt *pFromStmt, sqlite3_stmt *pToStmt){  Vdbe *pFrom = (Vdbe*)pFromStmt;  Vdbe *pTo = (Vdbe*)pToStmt;  int i, rc = SQLITE_OK;  if( (pFrom->magic!=VDBE_MAGIC_RUN && pFrom->magic!=VDBE_MAGIC_HALT)    || (pTo->magic!=VDBE_MAGIC_RUN && pTo->magic!=VDBE_MAGIC_HALT) ){    return SQLITE_MISUSE;  }  if( pFrom->nVar!=pTo->nVar ){    return SQLITE_ERROR;  }  for(i=0; rc==SQLITE_OK && i<pFrom->nVar; i++){    rc = sqlite3VdbeMemMove(&pTo->aVar[i], &pFrom->aVar[i]);  }  return rc;}/*** Return the sqlite3* database handle to which the prepared statement given** in the argument belongs.  This is the same database handle that was** the first argument to the sqlite3_prepare() that was used to create** the statement in the first place.*/sqlite3 *sqlite3_db_handle(sqlite3_stmt *pStmt){  return pStmt ? ((Vdbe*)pStmt)->db : 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电影一区二区| 欧美日韩二区三区| 日本视频在线一区| 国产精品国产三级国产| 精品毛片乱码1区2区3区| 欧洲精品中文字幕| 成人免费视频caoporn| 日韩黄色小视频| 亚洲卡通动漫在线| 欧美韩日一区二区三区| 精品嫩草影院久久| 欧美久久久久久久久久| 99国产精品一区| 福利91精品一区二区三区| 日韩成人免费在线| 亚洲一区二区三区免费视频| 国产精品美女www爽爽爽| 日韩美女视频在线| 欧美日韩一区二区三区四区| 色婷婷综合久久久| 波多野结衣中文字幕一区 | 欧美一级免费大片| 色综合久久中文综合久久97| 东方aⅴ免费观看久久av| 另类人妖一区二区av| 三级不卡在线观看| 一区二区三区波多野结衣在线观看| 国产日韩欧美在线一区| 欧美成人video| 欧美一区二区三区思思人| 欧美日韩一级片网站| 在线影视一区二区三区| 色哟哟日韩精品| 99精品国产视频| 99久久免费国产| 94色蜜桃网一区二区三区| eeuss鲁片一区二区三区在线看| 国产成人av电影在线观看| 国内精品嫩模私拍在线| 久久av中文字幕片| 精品综合久久久久久8888| 久久aⅴ国产欧美74aaa| 老司机免费视频一区二区| 老司机精品视频在线| 久久国产尿小便嘘嘘尿| 久久99精品国产麻豆婷婷| 国产一区 二区 三区一级| 国内精品自线一区二区三区视频| 性久久久久久久| 麻豆精品新av中文字幕| 国内一区二区在线| 成人性生交大片免费看视频在线| 成人午夜av在线| 一本色道久久综合狠狠躁的推荐| 日本精品免费观看高清观看| 欧美在线一区二区| 正在播放一区二区| 26uuu久久综合| 亚洲私人影院在线观看| 亚洲国产欧美在线| 免费成人美女在线观看.| 国产一区二区三区久久久 | 麻豆91小视频| 国产精品亚洲专一区二区三区| 成人午夜精品在线| 欧美日韩精品系列| 精品国产一区二区三区不卡| 中文字幕亚洲一区二区va在线| 一区二区三区电影在线播| 免费视频一区二区| 丁香桃色午夜亚洲一区二区三区 | 日韩一区二区三区电影在线观看| 精品久久久久久久久久久院品网| 国产欧美一二三区| 亚洲国产一二三| 精品一区二区三区在线播放视频| 高清不卡在线观看av| 欧美综合视频在线观看| 欧美v日韩v国产v| 亚洲人精品午夜| 男女男精品视频| 成人a级免费电影| 欧美美女bb生活片| 久久久久久夜精品精品免费| 亚洲精品高清视频在线观看| 久久成人免费网| 色综合中文字幕国产 | 一本色道久久综合狠狠躁的推荐 | 成人av网在线| 日韩欧美国产一区二区三区 | 美国三级日本三级久久99| 国产91综合网| 91麻豆精品国产91久久久资源速度| 国产欧美一区二区精品婷婷| 午夜视频在线观看一区二区| 成人涩涩免费视频| 91精品一区二区三区在线观看| 中文字幕成人av| 久久国产精品99久久久久久老狼| 日本久久一区二区| 久久久久国产免费免费 | 国产夫妻精品视频| 欧美日韩aaaaaa| 中文字幕一区二区5566日韩| 国产一区二区在线看| 欧美日韩国产精品自在自线| 亚洲日本乱码在线观看| 国产乱码精品一品二品| 欧美顶级少妇做爰| 亚洲国产欧美在线| 日本高清免费不卡视频| 欧美国产日韩在线观看| 久久精品久久综合| 欧美二区在线观看| 亚洲国产综合在线| 色哟哟一区二区三区| 国产精品高清亚洲| 丁香天五香天堂综合| 欧美精品一区二区三区蜜桃| 日本成人中文字幕| 欧美日韩国产成人在线91| 亚洲精品国产a久久久久久 | 欧美日韩国产a| 一区二区免费在线播放| 91女人视频在线观看| 国产精品不卡视频| av中文一区二区三区| 久久久久国产一区二区三区四区| 久久精品国产亚洲高清剧情介绍 | 欧美国产综合一区二区| 国产成人高清在线| 久久久久高清精品| 国产精品白丝jk白祙喷水网站| 欧美mv日韩mv亚洲| 国产精品综合久久| www久久精品| 国产成人一区在线| 中文av字幕一区| 成人不卡免费av| 亚洲三级电影全部在线观看高清| 成人av网址在线| 亚洲乱码国产乱码精品精98午夜| 91视频xxxx| 亚洲成人高清在线| 91精品一区二区三区久久久久久| 日本不卡视频在线| 久久综合色鬼综合色| 成人一级片在线观看| 亚洲精品精品亚洲| 欧美私模裸体表演在线观看| 首页国产欧美日韩丝袜| 精品国产免费视频| 粉嫩av亚洲一区二区图片| 亚洲欧美另类小说| 欧美精品 日韩| 国产一区美女在线| 亚洲欧洲日产国码二区| 欧美性videosxxxxx| 日本不卡1234视频| 久久精品网站免费观看| 91在线porny国产在线看| 亚洲大尺度视频在线观看| 精品国产电影一区二区| 成人午夜精品在线| 亚洲123区在线观看| 久久综合色鬼综合色| 色综合久久中文字幕综合网| 天堂av在线一区| 中国色在线观看另类| 在线欧美日韩精品| 久久国产精品99精品国产 | 美女网站色91| 一区在线观看视频| 欧美美女bb生活片| 国产99久久久久| 亚洲h精品动漫在线观看| 久久综合九色综合97婷婷女人 | 99热这里都是精品| 午夜精品久久久久久不卡8050| 国产午夜亚洲精品理论片色戒| 一本色道久久加勒比精品 | 国产精品一区二区三区乱码| 亚洲精品国产精华液| 久久尤物电影视频在线观看| 91免费观看视频在线| 久久99久久99| 亚洲在线观看免费视频| 久久婷婷色综合| 欧美影院一区二区三区| 国产福利精品一区二区| 丝袜美腿一区二区三区| 国产精品色哟哟网站| 这里只有精品免费| 在线一区二区三区做爰视频网站| 国产在线不卡视频| 日韩黄色免费电影| 亚洲欧美激情小说另类| 国产香蕉久久精品综合网| 日韩一区二区三区四区| 欧美午夜精品久久久久久超碰|