老司机91精品网站在线观看-老司机67194免费观看-老司国产精品视频-老熟人老女人国产老太-中文字幕日本在线-中文字幕日本一区久久

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

SQLite的C語言接口

發布時間:  2012/9/3 17:14:55

近我正在Linux平臺寫一個軟件,需要用到一個簡單的數據庫。mysql做數據庫固然很好,但其數據是存放在服務器的。我想要的基本功能也就是使用C程序創建一個數據庫本地文件,然后可以對這個數據庫文件執行基本的sql操作. 就像在Windows平臺基于VC6.0的DAO數據庫編程一樣(創建一個本地文件.mdb).
從網上找到了一個開源免費的數據庫開發工具--sqlite, 網上的關于sqlite的介紹有很多,詳細見官方網站:http://www.sqlite.com.cn/ . 我發現sqlite正是我需要的. 總結一下幾個特點:-
 

1. 開放源代碼
2. 程序特別小,在windows下應用程序sqlite.exe僅僅200kb以內。
3. 支持大多數sql指令,速度極快
4. 直接創建一個xxx.db, 就是一個數據庫,不需要服務器支持
5. 簡潔的C語言API接口

基于上面幾點,足可以看出sqlite的強大和優異之處。源代碼公開和程序特別小,甚至可以跨平臺直接編譯"gcc -o sqlite3 *",將這融合到潛入式系統是多么的美妙!

在Ubuntu6.10平臺安裝sqlite3及其開發包:
#sudo apt-get install sqlite3 libsqlite3-dev

鏈接這篇文章介紹了sqlite的使用方法:
http://www.sqlite.com.cn/MySqlite/4/378.Html

下面是我總結的sqlite3與C接口的API
我用到的主要是下面幾個函數(頭文件sqlite3.h):
int sqlite3_open(const char*, sqlite3**); //打開一個數據庫
int sqlite3_close(sqlite3*); //關閉
int sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void*, char**);//執行
int sqlite3_get_table(sqlite3*, const char *sql,char***result, int *nrow,int *ncolumn ,char **errmsg );
 //result中是以數組的形式存放所查詢的數據,首先是表名,再是數據;
 //nrow/ncolumn分別為查詢語句返回的結果集的行數/列數,沒有查到結果時返回0
sqlite3_errcode() 通常用來獲取最近調用的API接口返回的錯誤代碼.
sqlite3_errmsg() 則用來得到這些錯誤代碼所對應的文字說明.

exec錯誤碼
#define SQLITE_OK           0   /* Successful result */
#define SQLITE_ERROR        1   /* SQL error or missing database */
#define SQLITE_INTERNAL     2   /* An 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 sqlite_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   /* (Internal Only) 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   /* (Internal Only) Database table is empty */
#define SQLITE_SCHEMA      17   /* The database schema changed */
#define SQLITE_TOOBIG      18   /* Too much data for one row of a table */
#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_ROW         100  /* sqlite_step() has another row ready */
#define SQLITE_DONE        101  /* sqlite_step() has finished executing */
應用實例:

定義
sqlite3 *db = NULL;
char * errMsg = NULL;
char sql_cmd[200];

打開文件:
int rc = sqlite3_open("xxx.db", &db);
if(rc) //打開失敗
      printf("Open database failed!\n");
  else
    printf("create the database successful!\n");

建立表格:
     sprintf(sql_cmd,"CREATE TABLE datapro(package INTEGER,offset \
       INTEGER,lklen INTEGER,base INTEHER,link INTEGER,err INTEGER);");
     rc=sqlite3_exec(db,sql_cmd,0,0,&eMsg); //建立表datapro
     if(rc==SQLITE_OK) //建表成功
           printf("create the chn_to_eng table successful!\n");
      else
           printf("%s\n",eMsg);
添加數據:
   sprintf(sql_cmd,"INSERT INTO datapro VALUES(%d,%d,%d,%d,%d,%d);",4,2345,268,9,3,3);
   rc=sqlite3_exec(pro_db,pro_sqlcmd,0,0,&eMsg);

查詢:
 int nrow=0, ncolumn=0;
 char **azResult; //存放結果
 sql="SELECT * FROM datapro";
 sqlite3_get_table(db,sql,&azResult,&nrow,&ncolumn,&eMsg);
//其中nrow為行數,ncolum為列數
 printf("\nThe result of querying is : \n");
 for(int i=1;i<nrow+1;i++)
 {
     for(int j=0;j<ncolumn;j++)
         printf("%s    ",azResult[i*ncolumn+j]);
      printf("\n");
 }

刪除:
 sprintf(sql_cmd,"DELETE FROM datapro WHERE package=1;") ;
 rc=sqlite3_exec(db,sql,0,0,&eMsg);


本文出自:億恩科技【www.ypdoo.com.cn】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線

     
     
    九九免费精品视频| 成人免费网站视频ww| 天堂网中文字幕| 国产福利免费视频| 久久99中文字幕久久| 久久精品店| 久久国产精品永久免费网站| 精品视频在线看 | 999久久狠狠免费精品| 午夜欧美成人久久久久久| 国产视频一区二区在线观看| 国产一区精品| 午夜精品国产自在现线拍| 99热精品一区| 国产成人啪精品| 美女免费黄网站| a级精品九九九大片免费看| 九九精品在线| 四虎论坛| 日韩综合| 久久精品免视看国产明星| 午夜家庭影院| 黄视频网站在线观看| 日韩av东京社区男人的天堂| 日本特黄特黄aaaaa大片| 午夜在线亚洲| 亚洲精品永久一区| 夜夜操网| 午夜在线亚洲男人午在线| 天天色成人网| 欧美激情伊人| 日韩中文字幕一区| 国产不卡在线观看| 国产亚洲免费观看| 亚久久伊人精品青青草原2020| 亚洲精品久久玖玖玖玖| 久久国产影院| 亚洲 激情| 美女免费精品视频在线观看| 国产综合91天堂亚洲国产| 日韩男人天堂| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 韩国三级香港三级日本三级| 一级女性全黄久久生活片| 亚欧乱色一区二区三区| 91麻豆精品国产自产在线观看一区| 欧美18性精品| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 亚洲天堂在线播放| 久久国产精品永久免费网站| 九九精品在线| 精品久久久久久中文| 999精品在线| 欧美一区二区三区在线观看| 999精品视频在线| 日本免费乱理伦片在线观看2018| 日韩免费在线| 一级毛片视频免费| 欧美国产日韩一区二区三区| 国产伦久视频免费观看 视频| 尤物视频网站在线观看| 精品国产香蕉在线播出| 99久久精品国产国产毛片| 欧美激情一区二区三区视频| 国产一区精品| 成人a大片在线观看| 高清一级做a爱过程不卡视频| 国产成人精品影视| 色综合久久手机在线| 一级女性大黄生活片免费| 国产福利免费视频| 欧美激情在线精品video| 韩国毛片| 麻豆污视频| 黄视频网站在线看| 国产成人女人在线视频观看| 999久久久免费精品国产牛牛| 免费国产在线观看| 亚洲www美色| 欧美日本免费| 国产成人精品影视| 美女免费精品视频在线观看| 国产一级生活片| 精品国产香蕉伊思人在线又爽又黄| 天天做日日爱夜夜爽| 91麻豆国产| 国产高清在线精品一区二区| 成人高清免费| 亚飞与亚基在线观看| 美女免费毛片| 精品视频一区二区三区免费| 在线观看成人网 | 深夜做爰性大片中文| 可以免费看毛片的网站| 免费毛片播放| 沈樵在线观看福利| 欧美α片无限看在线观看免费| 四虎影视久久| 欧美α片无限看在线观看免费| 青青久久国产成人免费网站| 国产伦理精品| 国产激情一区二区三区| 国产网站在线| 黄色福利| 国产国语对白一级毛片| 久久99中文字幕| 999久久狠狠免费精品| 成人免费网站久久久| 99热精品一区| 国产伦久视频免费观看视频| 韩国三级香港三级日本三级| 九九干| 国产视频一区在线| 免费国产一级特黄aa大片在线| 免费一级片在线| 国产一区精品| 国产91丝袜在线播放0| 久久国产一区二区| 国产a毛片| 欧美大片一区| 国产成人精品综合| 国产精品123| 精品久久久久久中文| 成人免费一级纶理片| 精品国产一区二区三区久| 国产91精品露脸国语对白| 欧美国产日韩精品| 亚洲 激情| 深夜做爰性大片中文| 精品视频一区二区三区免费| 欧美另类videosbestsex高清 | 成人高清免费| 黄色福利片| 欧美电影免费看大全| 国产高清在线精品一区a| 亚洲女初尝黑人巨高清在线观看| 国产91精品一区二区| 国产一区二区精品尤物| 成人av在线播放| 91麻豆国产福利精品| 国产麻豆精品视频| 日本免费乱理伦片在线观看2018| 久久99中文字幕久久| 国产伦精品一区三区视频| 一级毛片看真人在线视频| 色综合久久天天综合观看| 日韩免费在线| 天天色色色| 日韩在线观看免费| 四虎久久精品国产| 91麻豆精品国产高清在线| 天堂网中文字幕| 国产亚洲免费观看| 四虎影视库| 天堂网中文字幕| 国产麻豆精品hdvideoss| 亚欧乱色一区二区三区| 精品视频在线观看免费| 久久精品大片| 免费毛片播放| 亚洲天堂免费| 你懂的国产精品| 黄色福利| 精品在线观看国产| 久久久久久久免费视频| 久久国产精品永久免费网站| 国产一区二区精品尤物| 日韩在线观看免费完整版视频| 国产91精品系列在线观看| 日韩av片免费播放| 夜夜操网| 欧美激情在线精品video| 精品在线免费播放| 青青青草视频在线观看| 91麻豆精品国产片在线观看 | 精品视频在线观看免费| 日韩中文字幕在线观看视频| 日韩中文字幕在线播放| 国产不卡精品一区二区三区| 国产极品白嫩美女在线观看看| 国产麻豆精品hdvideoss| 麻豆污视频| 亚欧乱色一区二区三区| 久久国产影院| 青草国产在线观看| 欧美日本二区| 四虎影视库| 一本高清在线| 欧美国产日韩久久久| 精品视频在线观看免费| 日韩在线观看视频免费| 沈樵在线观看福利| 日韩中文字幕在线观看视频| 黄视频网站在线看| 久久国产一区二区| 日韩专区第一页| 天天色色色| 999久久狠狠免费精品| a级毛片免费观看网站| 夜夜操网|