精品日韩在线,日韩精品福利一区二区三区,日韩午夜黄色,国产日韩欧美高清免费

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

SQLite的C語言接口

發(fā)布時間:  2012/9/3 17:14:55

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

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

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

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

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

下面是我總結(jié)的sqlite3與C接口的API
我用到的主要是下面幾個函數(shù)(頭文件sqlite3.h):
int sqlite3_open(const char*, sqlite3**); //打開一個數(shù)據(jù)庫
int sqlite3_close(sqlite3*); //關閉
int sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void*, char**);//執(zhí)行
int sqlite3_get_table(sqlite3*, const char *sql,char***result, int *nrow,int *ncolumn ,char **errmsg );
 //result中是以數(shù)組的形式存放所查詢的數(shù)據(jù),首先是表名,再是數(shù)據(jù);
 //nrow/ncolumn分別為查詢語句返回的結(jié)果集的行數(shù)/列數(shù),沒有查到結(jié)果時返回0
sqlite3_errcode() 通常用來獲取最近調(diào)用的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);
添加數(shù)據(jù):
   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; //存放結(jié)果
 sql="SELECT * FROM datapro";
 sqlite3_get_table(db,sql,&azResult,&nrow,&ncolumn,&eMsg);
//其中nrow為行數(shù),ncolum為列數(shù)
 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.zuiquanben.com】

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

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1-20183354
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 網(wǎng)絡版權侵權舉報電話:0371-60135995
  • 警情提示:注意防范電信網(wǎng)絡詐騙
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2026 ENKJ All Rights Reserved 地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師  B1-20183354   京公網(wǎng)安備41019702002023號 
      0
     
     
     
     

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

     
     
    精品日韩在线,日韩精品福利一区二区三区,日韩午夜黄色,国产日韩欧美高清免费
    中文字幕一区二区三区四区久久 | 99久久亚洲精品| 欧美激情aⅴ一区二区三区| 欧美日韩精品一区二区三区视频 | 亚洲美洲欧洲综合国产一区| 欧美成人久久| 男女精品网站| 四虎成人精品一区二区免费网站| 亚洲精品中文字幕99999| 日本一不卡视频| 国产精品日本一区二区不卡视频 | 视频一区中文| 尤物在线精品| 一二三区精品| 日韩在线麻豆| 国产精品久久久久久久久免费高清| 国产精品最新自拍| 精品三级在线| 激情偷拍久久| 免费日韩av片| 日韩一区二区三区四区五区 | 国产一区亚洲| 丝袜诱惑制服诱惑色一区在线观看 | 国产日韩中文在线中文字幕| 国产激情久久| 日韩精品中文字幕第1页| 免费观看不卡av| 亚洲人成亚洲精品| 久久中文精品| 国精品一区二区三区| 男人的天堂久久精品| 欧美视频久久| 日韩专区精品| 欧美精品一卡| 91伊人久久| 精品久久电影| 午夜日本精品| 国产麻豆精品久久| 日韩精品网站| 免费国产亚洲视频| 欧美国产亚洲精品| 久久婷婷av| 婷婷综合一区| 日本欧美国产| 久久亚洲图片| 精品视频99| 自由日本语亚洲人高潮| 清纯唯美亚洲综合一区| 国产第一亚洲| 99成人在线| 麻豆极品一区二区三区| 亚洲福利精品| 国产另类在线| 婷婷激情综合| 国产精品亚洲综合色区韩国| 免费黄色成人| 国产精品tv| 亚洲综合丁香| 精品三级久久久| 丝袜美腿亚洲一区| 91综合网人人| 亚洲精品影视| 国产99亚洲| 久久激情av| 999国产精品视频| 国产欧美高清视频在线| 欧美日韩第一| 麻豆高清免费国产一区| 亚洲一区不卡| 国产一二在线播放| 日韩精品三区四区| 国产在线日韩| 韩国女主播一区二区三区| 免费日韩视频| 午夜精品成人av| 国产精品三p一区二区| 香蕉久久久久久久av网站| 精品免费在线| 亚洲日本在线观看视频| 日韩精品免费一区二区在线观看| 欧美欧美黄在线二区| 亚洲作爱视频| 亚洲成人一区在线观看| 国产精品国码视频| 亚洲精品麻豆| 午夜精品亚洲| 亚洲不卡系列| 国产66精品| 国产精品亲子伦av一区二区三区| 丝袜脚交一区二区| 99久久激情| 综合日韩av| 欧美黄页在线免费观看| 亚洲精品进入| 香蕉久久夜色精品国产| 久久高清免费| 国产一区二区三区久久 | 国产精品一级| 免费看日韩精品| 亚洲午夜精品久久久久久app| 精品资源在线| 欧美国产中文高清| 国产午夜一区| 日本va欧美va瓶| 视频一区二区三区在线| 黄色成人精品网站| 日韩综合精品| 97精品一区二区| 久久精品亚洲| 麻豆传媒一区二区三区| 国产日韩欧美| 青草国产精品| 91福利精品在线观看| 亚洲精品影视| 日韩在线麻豆| 日韩三级视频| 青草综合视频| 欧美一区激情| 欧美日韩一区二区三区在线电影| 日韩激情啪啪| 91精品日本| 日韩欧美中文在线观看| 亚洲三级国产| 日韩av午夜在线观看| 日本精品另类| 欧美日本不卡| 国产精品日本一区二区三区在线| 久久激情av| 国产福利亚洲| 国产成人精品一区二区免费看京| 精品久久网站| www.com.cn成人| 99久久精品国产亚洲精品| 蜜桃视频欧美| 麻豆亚洲精品| 日本精品在线播放| 日韩精品午夜视频| 国产劲爆久久| av中文字幕在线观看第一页| 日韩免费高清| 在线一区免费| 亚洲午夜免费| 久久国产人妖系列| 韩国女主播一区二区三区| 伊人久久av| 好看的av在线不卡观看| 日av在线不卡| 国产精选一区| av中文字幕在线观看第一页| 99久久www免费| 丝袜美腿亚洲一区二区图片| 视频在线观看国产精品| 日韩av在线播放中文字幕| 久久精品国内一区二区三区| 国产综合色区在线观看| 国产美女精品| 国产免费播放一区二区| 中文字幕成在线观看| 亚洲激情黄色| 91麻豆精品激情在线观看最新| 麻豆视频一区二区| 久久久精品久久久久久96 | 视频在线观看91| 国产另类在线| 久久电影tv| 久久亚洲美女| 国产精品激情| 亚洲www啪成人一区二区| 日韩网站在线| 国产精品二区影院| 久久精品影视| 日韩高清不卡在线| 国产一区二区三区黄网站| 四虎影视精品| 日韩免费精品| 亚洲www免费| 天堂av一区| 日韩在线短视频| 亚洲aⅴ网站| 成人黄色av| 首页国产欧美日韩丝袜| 久久精品国产亚洲aⅴ| 亚洲黄色影院| 久久精品一区二区三区中文字幕| 欧美a级片一区| 国产日韩免费| 欧美日韩黑人| 美女视频黄 久久| 久久都是精品| 国产suv精品一区| 亚洲精品一级| 三上悠亚国产精品一区二区三区| 免费久久精品视频| 久久久久免费| 一本综合精品| 色婷婷精品视频| 国产精品s色| 久久香蕉精品| 国产在线观看www| 日本久久一区|