Chinaunix首页 | 论坛 | 博客
  • 博客访问: 174768
  • 博文数量: 33
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 501
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-26 11:00
文章分类

全部博文(33)

文章存档

2014年(11)

2013年(22)

我的朋友

分类: LINUX

2013-12-17 15:20:22

PC环境
32位ubuntu
软件安装
apt-get install libsqlite3-dev
apt-get install sqlite3
装了libsqlite3-dev后,就可以include sqlite3.h了;装了sqlite3后,就可以使用数据库。

注:我在安装sqlite3时安装失败,原因可能是在cn.archive.ubuntu.com/ubuntu上没有这个软件包,所以我用的是us.archive.ubuntu.com/ubuntu,也就是修改/etc/apt/sources.list。

命令行的数据库操作(创建数据库)
  • 创建数据库: sqlite3 wtp.db;
  • 创建表: create table wtplist(idx, wtpname, mac);
  • 插入表项: insert into wtplist values (0, 'shit wtp', '00:E1:4C:81:96:C1'); 
  • 查看表项是否插入成功: select * from wtplist;
C语言操作数据库


  1. #include
  2. #include "sqlite3.h"

  3. int callback(void * v,int nCount,char** pValue,char** pName)
  4. {
  5.   int i = 0;
  6.   for ( ; i < nCount; ++i){
  7.     printf("[%s] = [%s]\n", pName[i], pValue[i]);
  8.   }

  9.   return 0;
  10. }

  11. int main(void)
  12. {
  13.   sqlite3 * db;
  14.   int result;
  15.   char * errmsg;

  16.   /*open database*/
  17.   result=sqlite3_open("./wtp.db",&db);
  18.   if(SQLITE_OK!=result){
  19.     printf("OPEN DB ERROR!\n");
  20.     return 0;
  21.   }

  22.   /*excute sql*/
  23.   result=sqlite3_exec(db,"select * from wtplist",callback,NULL,&errmsg);

  24.   /*free resoutce*/
  25.   sqlite3_free(errmsg);
  26.   sqlite3_close(db);

  27.   return 0;
  28. }
假设c代码文件名为db.c,则可以这么编译:gcc -o db db.c -lsqlite3

以之前创建的wtp.db的wtplist表为例,则callback函数输出为:

  1. [idx] = [0]
  2. [wtpname] = [shit wtp]
  3. [mac] = [00:E1:4C:81:96:C1]







阅读(1652) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~