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

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

?? shell.c

?? 調用sqlite開源數據的小程序
?? C
?? 第 1 頁 / 共 4 頁
字號:
    if( nArg==1 ){      run_schema_dump_query(p,         "SELECT name, type, sql FROM sqlite_master "        "WHERE sql NOT NULL AND type=='table'", 0      );      run_schema_dump_query(p,         "SELECT name, type, sql FROM sqlite_master "        "WHERE sql NOT NULL AND type!='table' AND type!='meta'", 0      );    }else{      int i;      for(i=1; i<nArg; i++){        zShellStatic = azArg[i];        run_schema_dump_query(p,          "SELECT name, type, sql FROM sqlite_master "          "WHERE tbl_name LIKE shellstatic() AND type=='table'"          "  AND sql NOT NULL", 0);        run_schema_dump_query(p,          "SELECT name, type, sql FROM sqlite_master "          "WHERE tbl_name LIKE shellstatic() AND type!='table'"          "  AND type!='meta' AND sql NOT NULL", 0);        zShellStatic = 0;      }    }    if( zErrMsg ){      fprintf(stderr,"Error: %s\n", zErrMsg);      sqlite3_free(zErrMsg);    }else{      fprintf(p->out, "COMMIT;\n");    }  }else  if( c=='e' && strncmp(azArg[0], "echo", n)==0 && nArg>1 ){    int j;    char *z = azArg[1];    int val = atoi(azArg[1]);    for(j=0; z[j]; j++){      z[j] = tolower((unsigned char)z[j]);    }    if( strcmp(z,"on")==0 ){      val = 1;    }else if( strcmp(z,"yes")==0 ){      val = 1;    }    p->echoOn = val;  }else  if( c=='e' && strncmp(azArg[0], "exit", n)==0 ){    rc = 1;  }else  if( c=='e' && strncmp(azArg[0], "explain", n)==0 ){    int j;    static char zOne[] = "1";    char *z = nArg>=2 ? azArg[1] : zOne;    int val = atoi(z);    for(j=0; z[j]; j++){      z[j] = tolower((unsigned char)z[j]);    }    if( strcmp(z,"on")==0 ){      val = 1;    }else if( strcmp(z,"yes")==0 ){      val = 1;    }    if(val == 1) {      if(!p->explainPrev.valid) {        p->explainPrev.valid = 1;        p->explainPrev.mode = p->mode;        p->explainPrev.showHeader = p->showHeader;        memcpy(p->explainPrev.colWidth,p->colWidth,sizeof(p->colWidth));      }      /* We could put this code under the !p->explainValid      ** condition so that it does not execute if we are already in      ** explain mode. However, always executing it allows us an easy      ** was to reset to explain mode in case the user previously      ** did an .explain followed by a .width, .mode or .header      ** command.      */      p->mode = MODE_Column;      p->showHeader = 1;      memset(p->colWidth,0,ArraySize(p->colWidth));      p->colWidth[0] = 4;      p->colWidth[1] = 14;      p->colWidth[2] = 10;      p->colWidth[3] = 10;      p->colWidth[4] = 33;    }else if (p->explainPrev.valid) {      p->explainPrev.valid = 0;      p->mode = p->explainPrev.mode;      p->showHeader = p->explainPrev.showHeader;      memcpy(p->colWidth,p->explainPrev.colWidth,sizeof(p->colWidth));    }  }else  if( c=='h' && (strncmp(azArg[0], "header", n)==0                 ||                 strncmp(azArg[0], "headers", n)==0 )&& nArg>1 ){    int j;    char *z = azArg[1];    int val = atoi(azArg[1]);    for(j=0; z[j]; j++){      z[j] = tolower((unsigned char)z[j]);    }    if( strcmp(z,"on")==0 ){      val = 1;    }else if( strcmp(z,"yes")==0 ){      val = 1;    }    p->showHeader = val;  }else  if( c=='h' && strncmp(azArg[0], "help", n)==0 ){    fprintf(stderr,zHelp);  }else  if( c=='i' && strncmp(azArg[0], "import", n)==0 && nArg>=3 ){    char *zTable = azArg[2];    /* Insert data into this table */    char *zFile = azArg[1];     /* The file from which to extract data */    sqlite3_stmt *pStmt;        /* A statement */    int rc;                     /* Result code */    int nCol;                   /* Number of columns in the table */    int nByte;                  /* Number of bytes in an SQL string */    int i, j;                   /* Loop counters */    int nSep;                   /* Number of bytes in p->separator[] */    char *zSql;                 /* An SQL statement */    char *zLine;                /* A single line of input from the file */    char **azCol;               /* zLine[] broken up into columns */    char *zCommit;              /* How to commit changes */       FILE *in;                   /* The input file */    int lineno = 0;             /* Line number of input file */    nSep = strlen(p->separator);    if( nSep==0 ){      fprintf(stderr, "non-null separator required for import\n");      return 0;    }    zSql = sqlite3_mprintf("SELECT * FROM '%q'", zTable);    if( zSql==0 ) return 0;    nByte = strlen(zSql);    rc = sqlite3_prepare(p->db, zSql, 0, &pStmt, 0);    sqlite3_free(zSql);    if( rc ){      fprintf(stderr,"Error: %s\n", sqlite3_errmsg(db));      nCol = 0;    }else{      nCol = sqlite3_column_count(pStmt);    }    sqlite3_finalize(pStmt);    if( nCol==0 ) return 0;    zSql = malloc( nByte + 20 + nCol*2 );    if( zSql==0 ) return 0;    sqlite3_snprintf(nByte+20, zSql, "INSERT INTO '%q' VALUES(?", zTable);    j = strlen(zSql);    for(i=1; i<nCol; i++){      zSql[j++] = ',';      zSql[j++] = '?';    }    zSql[j++] = ')';    zSql[j] = 0;    rc = sqlite3_prepare(p->db, zSql, 0, &pStmt, 0);    free(zSql);    if( rc ){      fprintf(stderr, "Error: %s\n", sqlite3_errmsg(db));      sqlite3_finalize(pStmt);      return 0;    }    in = fopen(zFile, "rb");    if( in==0 ){      fprintf(stderr, "cannot open file: %s\n", zFile);      sqlite3_finalize(pStmt);      return 0;    }    azCol = malloc( sizeof(azCol[0])*(nCol+1) );    if( azCol==0 ) return 0;    sqlite3_exec(p->db, "BEGIN", 0, 0, 0);    zCommit = "COMMIT";    while( (zLine = local_getline(0, in))!=0 ){      char *z;      i = 0;      lineno++;      azCol[0] = zLine;      for(i=0, z=zLine; *z && *z!='\n' && *z!='\r'; z++){        if( *z==p->separator[0] && strncmp(z, p->separator, nSep)==0 ){          *z = 0;          i++;          if( i<nCol ){            azCol[i] = &z[nSep];            z += nSep-1;          }        }      }      *z = 0;      if( i+1!=nCol ){        fprintf(stderr,"%s line %d: expected %d columns of data but found %d\n",           zFile, lineno, nCol, i+1);        zCommit = "ROLLBACK";        break;      }      for(i=0; i<nCol; i++){        sqlite3_bind_text(pStmt, i+1, azCol[i], -1, SQLITE_STATIC);      }      sqlite3_step(pStmt);      rc = sqlite3_reset(pStmt);      free(zLine);      if( rc!=SQLITE_OK ){        fprintf(stderr,"Error: %s\n", sqlite3_errmsg(db));        zCommit = "ROLLBACK";        break;      }    }    free(azCol);    fclose(in);    sqlite3_finalize(pStmt);    sqlite3_exec(p->db, zCommit, 0, 0, 0);  }else  if( c=='i' && strncmp(azArg[0], "indices", n)==0 && nArg>1 ){    struct callback_data data;    char *zErrMsg = 0;    open_db(p);    memcpy(&data, p, sizeof(data));    data.showHeader = 0;    data.mode = MODE_List;    zShellStatic = azArg[1];    sqlite3_exec(p->db,      "SELECT name FROM sqlite_master "      "WHERE type='index' AND tbl_name LIKE shellstatic() "      "UNION ALL "      "SELECT name FROM sqlite_temp_master "      "WHERE type='index' AND tbl_name LIKE shellstatic() "      "ORDER BY 1",      callback, &data, &zErrMsg    );    zShellStatic = 0;    if( zErrMsg ){      fprintf(stderr,"Error: %s\n", zErrMsg);      sqlite3_free(zErrMsg);    }  }else  if( c=='m' && strncmp(azArg[0], "mode", n)==0 && nArg>=2 ){    int n2 = strlen(azArg[1]);    if( strncmp(azArg[1],"line",n2)==0        ||        strncmp(azArg[1],"lines",n2)==0 ){      p->mode = MODE_Line;    }else if( strncmp(azArg[1],"column",n2)==0              ||              strncmp(azArg[1],"columns",n2)==0 ){      p->mode = MODE_Column;    }else if( strncmp(azArg[1],"list",n2)==0 ){      p->mode = MODE_List;    }else if( strncmp(azArg[1],"html",n2)==0 ){      p->mode = MODE_Html;    }else if( strncmp(azArg[1],"tcl",n2)==0 ){      p->mode = MODE_Tcl;    }else if( strncmp(azArg[1],"csv",n2)==0 ){      p->mode = MODE_Csv;      strcpy(p->separator, ",");    }else if( strncmp(azArg[1],"tabs",n2)==0 ){      p->mode = MODE_List;      strcpy(p->separator, "\t");    }else if( strncmp(azArg[1],"insert",n2)==0 ){      p->mode = MODE_Insert;      if( nArg>=3 ){        set_table_name(p, azArg[2]);      }else{        set_table_name(p, "table");      }    }else {      fprintf(stderr,"mode should be on of: "         "column csv html insert line list tabs tcl\n");    }  }else  if( c=='n' && strncmp(azArg[0], "nullvalue", n)==0 && nArg==2 ) {    sprintf(p->nullvalue, "%.*s", (int)ArraySize(p->nullvalue)-1, azArg[1]);  }else  if( c=='o' && strncmp(azArg[0], "output", n)==0 && nArg==2 ){    if( p->out!=stdout ){      fclose(p->out);    }    if( strcmp(azArg[1],"stdout")==0 ){      p->out = stdout;      strcpy(p->outfile,"stdout");    }else{      p->out = fopen(azArg[1], "wb");      if( p->out==0 ){        fprintf(stderr,"can't write to \"%s\"\n", azArg[1]);        p->out = stdout;      } else {         strcpy(p->outfile,azArg[1]);      }    }  }else  if( c=='p' && strncmp(azArg[0], "prompt", n)==0 && (nArg==2 || nArg==3)){    if( nArg >= 2) {      strncpy(mainPrompt,azArg[1],(int)ArraySize(mainPrompt)-1);    }    if( nArg >= 3) {      strncpy(continuePrompt,azArg[2],(int)ArraySize(continuePrompt)-1);    }  }else  if( c=='q' && strncmp(azArg[0], "quit", n)==0 ){    rc = 1;  }else  if( c=='r' && strncmp(azArg[0], "read", n)==0 && nArg==2 ){    FILE *alt = fopen(azArg[1], "rb");    if( alt==0 ){      fprintf(stderr,"can't open \"%s\"\n", azArg[1]);    }else{      process_input(p, alt);      fclose(alt);    }  }else#ifdef SQLITE_HAS_CODEC  if( c=='r' && strncmp(azArg[0],"rekey", n)==0 && nArg==4 ){    char *zOld = p->zKey;    if( zOld==0 ) zOld = "";    if( strcmp(azArg[1],zOld) ){      fprintf(stderr,"old key is incorrect\n");    }else if( strcmp(azArg[2], azArg[3]) ){      fprintf(stderr,"2nd copy of new key does not match the 1st\n");    }else{      sqlite3_free(p->zKey);      p->zKey = sqlite3_mprintf("%s", azArg[2]);      sqlite3_rekey(p->db, p->zKey, strlen(p->zKey));    }  }else#endif  if( c=='s' && strncmp(azArg[0], "schema", n)==0 ){    struct callback_data data;    char *zErrMsg = 0;    open_db(p);    memcpy(&data, p, sizeof(data));    data.showHeader = 0;    data.mode = MODE_Semi;    if( nArg>1 ){      int i;      for(i=0; azArg[1][i]; i++) azArg[1][i] = tolower(azArg[1][i]);      if( strcmp(azArg[1],"sqlite_master")==0 ){        char *new_argv[2], *new_colv[2];        new_argv[0] = "CREATE TABLE sqlite_master (\n"                      "  type text,\n"                      "  name text,\n"                      "  tbl_name text,\n"                      "  rootpage integer,\n"                      "  sql text\n"                      ")";        new_argv[1] = 0;        new_colv[0] = "sql";        new_colv[1] = 0;        callback(&data, 1, new_argv, new_colv);      }else if( strcmp(azArg[1],"sqlite_temp_master")==0 ){        char *new_argv[2], *new_colv[2];        new_argv[0] = "CREATE TEMP TABLE sqlite_temp_master (\n"                      "  type text,\n"                      "  name text,\n"                      "  tbl_name text,\n"                      "  rootpage integer,\n"                      "  sql text\n"                      ")";        new_argv[1] = 0;        new_colv[0] = "sql";        new_colv[1] = 0;        callback(&data, 1, new_argv, new_colv);      }else{        zShellStatic = azArg[1];        sqlite3_exec(p->db,          "SELECT sql FROM "          "  (SELECT * FROM sqlite_master UNION ALL"          "   SELECT * FROM sqlite_temp_master) "          "WHERE tbl_name LIKE shellstatic() AND type!='meta' AND sql NOTNULL "          "ORDER BY substr(type,2,1), name",          callback, &data, &zErrMsg);        zShellStatic = 0;      }    }else{      sqlite3_exec(p->db,         "SELECT sql FROM "         "  (SELECT * FROM sqlite_master UNION ALL"         "   SELECT * FROM sqlite_temp_master) "         "WHERE type!='meta' AND sql NOTNULL AND name NOT LIKE 'sqlite_%'"         "ORDER BY substr(type,2,1), name",         callback, &data, &zErrMsg      );    }    if( zErrMsg ){      fprintf(stderr,"Error: %s\n", zErrMsg);      sqlite3_free(zErrMsg);    }  }else  if( c=='s' && strncmp(azArg[0], "separator", n)==0 && nArg==2 ){    sprintf(p->separator, "%.*s", (int)ArraySize(p->separator)-1, azArg[1]);  }else  if( c=='s' && strncmp(azArg[0], "show", n)==0){    int i;    fprintf(p->out,"%9.9s: %s\n","echo", p->echoOn ? "on" : "off");    fprintf(p->out,"%9.9s: %s\n","explain", p->explainPrev.valid ? "on" :"off");    fprintf(p->out,"%9.9s: %s\n","headers", p->showHeader ? "on" : "off");    fprintf(p->out,"%9.9s: %s\n","mode", modeDescr[p->mode]);    fprintf(p->out,"%9.9s: ", "nullvalue");      output_c_string(p->out, p->nullvalue);      fprintf(p->out, "\n");    fprintf(p->out,"%9.9s: %s\n","output",                                 strlen(p->outfile) ? p->outfile : "stdout");    fprintf(p->out,"%9.9s: ", "separator");      output_c_string(p->out, p->separator);      fprintf(p->out, "\n");    fprintf(p->out,"%9.9s: ","width");    for (i=0;i<(int)ArraySize(p->colWidth) && p->colWidth[i] != 0;i++) {      fprintf(p->out,"%d ",p->colWidth[i]);    }    fprintf(p->out,"\n");  }else  if( c=='t' && n>1 && strncmp(azArg[0], "tables", n)==0 ){    char **azResult;    int nRow, rc;    char *zErrMsg;    open_db(p);    if( nArg==1 ){      rc = sqlite3_get_table(p->db,        "SELECT name FROM sqlite_master "        "WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'"        "UNION ALL "        "SELECT name FROM sqlite_temp_master "        "WHERE type IN ('table','view') "        "ORDER BY 1",        &azResult, &nRow, 0, &zErrMsg      );    }else{      zShellStatic = azArg[1];      rc = sqlite3_get_table(p->db,        "SELECT name FROM sqlite_master "        "WHERE type IN ('table','view') AND name LIKE '%'||shellstatic()||'%' "        "UNION ALL "        "SELECT name FROM sqlite_temp_master "        "WHERE type IN ('table','view') AND name LIKE '%'||shellstatic()||'%' "        "ORDER BY 1",        &azResult, &nRow, 0, &zErrMsg      );      zShellStatic = 0;    }    if( zErrMsg ){      fprintf(stderr,"Error: %s\n", zErrMsg);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99riav久久精品riav| 日韩午夜电影av| 欧美日韩精品系列| www国产亚洲精品久久麻豆| 国产精品色在线| 日韩电影网1区2区| 99久久99久久精品国产片果冻| 欧美乱妇23p| 亚洲人成伊人成综合网小说| 精品在线免费观看| 欧美高清视频在线高清观看mv色露露十八 | 欧美精品一区二区三区在线 | 亚洲国产高清aⅴ视频| 视频一区二区中文字幕| 色屁屁一区二区| 一区视频在线播放| 国产麻豆成人传媒免费观看| 欧美一区二区三区影视| 亚洲成人综合在线| 色香蕉久久蜜桃| 亚洲人成精品久久久久久| 国产福利一区在线观看| 精品国产乱码久久久久久久久 | 91精品国产福利| 一区二区三区欧美视频| 91蜜桃传媒精品久久久一区二区| 久久久久久9999| 国产福利精品导航| 中文字幕成人在线观看| 国产a视频精品免费观看| 久久久久久久一区| 风间由美一区二区三区在线观看| 久久免费的精品国产v∧| 国产老女人精品毛片久久| 精品少妇一区二区三区免费观看| 精品一区二区三区久久| 欧美成人女星排名| 国产一区二区三区免费在线观看| 精品精品国产高清一毛片一天堂| 久久国产精品72免费观看| 亚洲精品一区在线观看| 国产精品1区二区.| 国产精品成人免费精品自在线观看| 国产99精品视频| 亚洲三级在线观看| 欧美在线不卡视频| 日韩高清在线一区| 欧美大白屁股肥臀xxxxxx| 国产精品99久久不卡二区| 一区精品在线播放| 久久精品日韩一区二区三区| 国产一区二区日韩精品| 国产精品入口麻豆原神| 日本电影欧美片| 日本亚洲电影天堂| 欧美激情中文字幕一区二区| 97精品视频在线观看自产线路二| 亚洲综合一区二区| 欧美一级二级三级蜜桃| 国产成人久久精品77777最新版本| 亚洲欧洲99久久| 欧美色区777第一页| 久久国内精品视频| 综合亚洲深深色噜噜狠狠网站| 欧美在线影院一区二区| 精品一区二区三区在线观看国产| 国产精品伦一区| 欧美精品欧美精品系列| 成人网在线免费视频| 亚洲mv大片欧洲mv大片精品| 国产欧美在线观看一区| 欧美日韩视频在线第一区 | 色偷偷成人一区二区三区91| 日韩成人伦理电影在线观看| 国产午夜久久久久| 6080国产精品一区二区| 成人国产亚洲欧美成人综合网| 日韩制服丝袜先锋影音| 国产精品久久久久久久久免费樱桃| 欧美美女视频在线观看| 国产不卡免费视频| 免费的国产精品| 亚洲精品一卡二卡| 国产欧美视频在线观看| 91精品一区二区三区在线观看| 91在线porny国产在线看| 麻豆成人久久精品二区三区小说| 一区二区三区在线视频观看| 久久久欧美精品sm网站| 91精品国产一区二区人妖| 91成人免费网站| av网站免费线看精品| 国产精品亚洲第一区在线暖暖韩国| 日韩电影网1区2区| 亚洲国产精品一区二区久久恐怖片| 中文字幕在线观看不卡| 26uuu久久天堂性欧美| 欧美一级黄色片| 欧美浪妇xxxx高跟鞋交| 91在线观看免费视频| 成人午夜电影网站| 国产乱码一区二区三区| 黄网站免费久久| 久久成人免费网| 极品少妇一区二区三区精品视频| 视频一区二区中文字幕| 日韩专区欧美专区| 日韩激情一二三区| 热久久免费视频| 免费一区二区视频| 看片网站欧美日韩| 国产一区视频网站| 国产福利91精品一区二区三区| 国产麻豆一精品一av一免费| 欧美日韩高清一区二区三区| 欧美亚洲一区二区在线观看| 一本色道亚洲精品aⅴ| 日本精品一区二区三区高清 | 不卡一卡二卡三乱码免费网站| 国产成人精品影视| 成人福利电影精品一区二区在线观看| 国产精品一区不卡| 99久精品国产| 欧美亚洲综合一区| 欧美一二三四区在线| 精品国产一区二区在线观看| 欧美精品一区二区三区在线| 国产色产综合产在线视频| 国产精品毛片久久久久久| 亚洲人成在线观看一区二区| 一片黄亚洲嫩模| 午夜精品福利一区二区蜜股av| 婷婷六月综合亚洲| 极品少妇xxxx精品少妇偷拍| 国产精品一区二区黑丝| 色网站国产精品| 欧美一级黄色录像| 国产精品久久久久毛片软件| 亚洲老妇xxxxxx| 日韩中文欧美在线| 国产成人在线网站| 一本久久a久久精品亚洲| 欧美日韩欧美一区二区| 精品粉嫩超白一线天av| 日韩美女久久久| 日韩av在线免费观看不卡| 东方aⅴ免费观看久久av| 在线视频欧美精品| 精品国产a毛片| 一区二区在线观看视频 | 成人午夜av在线| 欧美日韩电影一区| www欧美成人18+| 亚洲永久免费视频| 国产一区欧美日韩| 在线观看免费亚洲| 精品福利在线导航| 亚洲一区二区欧美| 国v精品久久久网| 91精品国产一区二区三区香蕉| 国产精品青草综合久久久久99| 舔着乳尖日韩一区| 波多野结衣的一区二区三区| 884aa四虎影成人精品一区| 国产精品二三区| 精品在线一区二区| 欧美日韩在线三级| 亚洲欧美在线高清| 韩国视频一区二区| 欧美女孩性生活视频| 亚洲欧洲精品天堂一级| 久久99久久99精品免视看婷婷 | 一区二区三区鲁丝不卡| 国产一本一道久久香蕉| 欧美性videosxxxxx| 国产精品视频看| 国产黑丝在线一区二区三区| 7777精品伊人久久久大香线蕉的| 国产精品成人一区二区三区夜夜夜| 精品在线一区二区| 日韩欧美视频在线| 日韩精品一二区| 欧美日韩国产欧美日美国产精品| 一区在线观看视频| 白白色 亚洲乱淫| 亚洲国产高清在线观看视频| 国内精品在线播放| 精品国产髙清在线看国产毛片 | 精品日韩一区二区| 免费人成在线不卡| 91精品国产一区二区三区蜜臀| 亚洲成a人片在线不卡一二三区| 91高清在线观看| 一区二区三区日韩精品视频| 99re免费视频精品全部| 国产精品免费观看视频| 成人视屏免费看| 国产精品久久久久久亚洲伦| 懂色av一区二区三区免费观看| 国产欧美日本一区二区三区|