• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            eryar

            PipeCAD - Plant Piping Design Software.
            RvmTranslator - Translate AVEVA RVM to OBJ, glTF, etc.
            posts - 603, comments - 590, trackbacks - 0, articles - 0

            SQLite Getting Started

            Posted on 2012-10-27 22:04 eryar 閱讀(1392) 評論(0)  編輯 收藏 引用

            使用SQLite很簡單,不需要讀很多文檔,也不需要做很多配置。

            一、下載源代碼 Download The Code

            http://www.sqlite.org/download.html下載程序,也可以下載源代碼自己編譯。

            下載Windows下的預編譯二進制文件包:

            • sqlite-shell-win32-x86-<build#>.zip
            • sqlite-dll-win32-x86-<build#>.zip

            注:<build#>是SQLite的編譯版本號。

            將 zip 文件解壓到你的磁盤,并將解壓后的目錄添加到系統(tǒng)的 PATH 變量中,以方便在命令行中執(zhí)行 sqlite 命令。

            可選: 如果你計劃發(fā)布基于 sqlite 數(shù)據(jù)庫的應用程序,你還需要下載源碼以便編譯和利用其 API
            sqlite-amalgamation-<build#>.zip

             

            二、創(chuàng)建數(shù)據(jù)庫 Create A New Database

            安裝好SQLite后,在命令窗口中進入到SQLite3.exe所在的目錄,輸入以下命令:

              1: D:\SQLite>sqlite3 test.db

            注:我的SQLite放在了D:\SQLite中。若配置了環(huán)境變量,則可以在命令窗口中直接輸入:

              1: sqlite3 test.db

            在命令窗口中輸入SQL命令,去創(chuàng)建和填寫這個新的數(shù)據(jù)庫。

            注意: 最少必須為新建的數(shù)據(jù)庫創(chuàng)建一個表或者視圖,這么才能將數(shù)據(jù)庫保存到磁盤中,否則數(shù)據(jù)庫不會被創(chuàng)建。

            三、使用SQLite編程 Write Programs That Use SQLite

            如下所示為怎么使用C/C++接口的簡單程序。

              1: #include <stdio.h>                                                           
            
              2: #include <sqlite3.h>                                                         
            
              3:                                                                              
            
              4: static int callback(void *NotUsed, int argc, char **argv, char **azColName){ 
            
              5:   int i;                                                                     
            
              6:   for(i=0; i<argc; i++){                                                     
            
              7:     printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");           
            
              8:   }                                                                          
            
              9:   printf("\n");                                                              
            
             10:   return 0;                                                                  
            
             11: }                                                                            
            
             12:                                                                              
            
             13: int main(int argc, char **argv){                                             
            
             14:   sqlite3 *db;                                                               
            
             15:   char *zErrMsg = 0;                                                         
            
             16:   int rc;                                                                    
            
             17:                                                                              
            
             18:   if( argc!=3 ){                                                             
            
             19:     fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);          
            
             20:     return(1);                                                               
            
             21:   }                                                                          
            
             22:   rc = sqlite3_open(argv[1], &db);                                           
            
             23:   if( rc ){                                                                  
            
             24:     fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));        
            
             25:     sqlite3_close(db);                                                       
            
             26:     return(1);                                                               
            
             27:   }                                                                          
            
             28:   rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);                     
            
             29:   if( rc!=SQLITE_OK ){                                                       
            
             30:     fprintf(stderr, "SQL error: %s\n", zErrMsg);                             
            
             31:     sqlite3_free(zErrMsg);                                                   
            
             32:   }                                                                          
            
             33:   sqlite3_close(db);                                                         
            
             34:   return 0;                                                                  
            
             35: }                                                                            

            數(shù)據(jù)庫的名稱由第一個參數(shù)指定,第二個參數(shù)可以是一個或多個SQL語句。需要注意的是在22行調用函數(shù)sqilte3_open()用來打開數(shù)據(jù)庫。28行調用的函數(shù)sqlite3_exec()是用來執(zhí)行SQL命令。33行調用函數(shù)sqlite3_close()用來關閉數(shù)據(jù)庫。

            關于SQLite更多的C/C++接口函數(shù)可以參考《Introduction To The SQLite C/C++ Interface》。

            久久99热精品| 久久婷婷五月综合成人D啪| 亚洲AV无码1区2区久久| 一本久久知道综合久久| 日韩人妻无码一区二区三区久久99 | 亚洲人成网站999久久久综合| 久久人人爽人爽人人爽av| 久久精品国产一区二区| 久久精品无码一区二区三区日韩| 免费观看成人久久网免费观看| 久久精品国产亚洲AV高清热 | 色婷婷综合久久久久中文 | 欧美午夜精品久久久久免费视 | 久久久无码精品亚洲日韩蜜臀浪潮 | 久久久久国产日韩精品网站| 欧美亚洲日本久久精品| 久久精品国产亚洲αv忘忧草| 久久精品国产亚洲AV无码娇色| AA级片免费看视频久久| 国内精品久久久久影院薰衣草 | 狠狠色丁香婷婷久久综合不卡| 久久青青国产| AV无码久久久久不卡蜜桃| 中文字幕精品久久久久人妻| 伊人久久精品无码av一区| 国产AV影片久久久久久| 久久精品国产亚洲AV不卡| 一本色道久久88加勒比—综合| 狠狠色噜噜色狠狠狠综合久久| 国产高潮久久免费观看| 久久99精品久久久久婷婷| 亚洲伊人久久综合中文成人网| 伊人久久免费视频| 91精品国产综合久久久久久| 婷婷久久综合九色综合绿巨人| 99久久精品免费看国产一区二区三区| 久久精品青青草原伊人| 亚洲午夜福利精品久久| 人妻精品久久久久中文字幕| 国产精品丝袜久久久久久不卡| 久久青青草原国产精品免费 |