`

SQLite数据库Hello World

 
阅读更多

嵌入式数据库主要是Berkeley DB和SQLite,BDB功能很强可以应用于工业,但不是关系数据库,SQLite免费小巧且速度快。

1、下载源代码并编译安装
http://www.sqlite.org/download.html下载sqlite-autoconf-3080100.tar.gz,解压缩后./configure ; make ; make install,则生成了sqlite3程序和500多k的libsqlite3.so.0.8.6库文件
其中源代码包括sqlite3.c和sqlite3.h,sqlite3.h在程序中需要用到

2、程序部署
将库文件libsqlite3.so.0.8.6拷贝到部署机即可

3、测试程序

#include <stdio.h>
#include <sqlite3.h>

static int callback(void *NotUsed, int argc, char **argv, char **azColName){
   int i;
   for(i=0; i<argc; i++){
     printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
   }
   printf("\n");
   return 0;
}

int main(int argc, char **argv){
   sqlite3 *db;
   int rc;
   char *zErrMsg = 0;

//1.create or open database file
   rc = sqlite3_open("my.db", &db);
   if( rc ){
     fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
     sqlite3_close(db);
     exit(1);
   }
//2.create table
   rc = sqlite3_exec(db, "create table phonenumber(id int,name varchar(30));", NULL, 0, &zErrMsg);
   if( rc!=SQLITE_OK ){
     fprintf(stderr, "SQL error: %s\n", zErrMsg);
     sqlite3_free(zErrMsg);
   }

//3.insert data
  rc = sqlite3_exec(db, "insert into phonenumber values(1,'abc')", NULL, 0, &zErrMsg);
   if( rc!=SQLITE_OK ){
     fprintf(stderr, "SQL error: %s\n", zErrMsg);
     sqlite3_free(zErrMsg);
   }

//4.select and show data

   sqlite3_exec(db, "select * from phonenumber", callback, 0, &zErrMsg);
   if( rc!=SQLITE_OK ){
     fprintf(stderr, "SQL error: %s\n", zErrMsg);
     sqlite3_free(zErrMsg);
   }

   sqlite3_close(db);
   return 0;
}


分享到:
评论

相关推荐

    xilinx zynq7000移植sqlite3

    在xilinx zynq7000 Linux系统移植sqlite3,报告库文件

    helloworld的qt

    还学习了Qt中多线程的使用,以及SQLite、MySql数据库在Qt中的应用,还有XML的简单使用…感觉学的不多,说起来似乎又说不完,但完全消化记在脑子里的是少之又少(接口过多,重要的还是要熟悉基本的事件处理、信号与槽...

    ionic-tabs-sqlite:离子标签-sqlite

    使用带有预填充 SQLite 数据库的 Ionic 框架的示例应用程序一个使用 Ionic 框架的“Hello World”应用程序,它加载一个预填充的 SQLite 数据库。 对于专家来说,这听起来可能很容易,但如果您是移动开发、离线应用...

    Android代码-Android

    HelloWorld: ex02: 基本UI控件以及基本布局 ex03: Button设置 setOnClickListener事件监听 ex03_键盘拨号: 手机拨号界面,动态添加按钮以及绑定响应函数 ex04: Intent 和 Bundle 的机制并且使用 Intent 和 Bundle ...

    HelloToSpatialite

    HelloToSpatialite是一个相对简单的“ hello world”应用程序,说明了spacealite 的用法。 我从[originalspaceite android教程]( )开始,进行了一些更改,以将该教程带入最新的Android Studio( v1.3)构建环境...

    C++ qt5 电子版教程

    1.3 第一个程序 Hello World 7 第二章 窗体应用 1.1 窗体基类说明 12 1.2 控制窗体大小 13 1.3 窗体初始位置及背景色 13 1.4 修改标题栏图标 14 1.5 移动无边框窗体 16 1.6 去掉标题栏中最大化、最小化按钮 17 1.7 ...

    C++ QT5 电子书教程

    1.3 第一个程序 Hello World 7 第二章 窗体应用 1.1 窗体基类说明 12 1.2 控制窗体大小 13 1.3 窗体初始位置及背景色 13 1.4 修改标题栏图标 14 1.5 移动无边框窗体 16 1.6 去掉标题栏中最大化、最小化按钮 17 1.7 ...

    Android程序员入门(中文版).doc

    创建一个SQLite数据库 第十一章(2) 146 创建一个定制的Content Provider 第十一章(3) 148 创建Content Provider 第十一章(4) 150 创建FindAFriend活动 第十一章(5) 160 创建NameEditor活动 第十一章(6) 162 创建...

    中文版Android程序员入门

    创建一个SQLite数据库 第十一章(2) 146 创建一个定制的Content Provider 第十一章(3) 148 创建Content Provider 第十一章(4) 150 创建FindAFriend活动 第十一章(5) 160 创建NameEditor活动 第十一章(6) 162 创建...

    android开发指南

    创建一个SQLite数据库 第十一章(2) 129 创建一个定制的Content Provider 第十一章(3) 130 创建Content Provider 第十一章(4) 132 创建FindAFriend活动 第十一章(5) 141 创建NameEditor活动 第十一章(6) 143 创建...

    一步一步学习IOS6

    第二十八部分: 使用SQLite数据库存储数据 第二十九部分:通用应用程序、图标文件和App调试 第三十部分:自动布局(Auto Layout) 第三十一部分:应用集合视图(UICollectionView) 第三十二部分:音乐、视频多媒体...

    一步一步学习 iOS 6 编程(第四版)

    第二十八部分: 使用 SQLite 数据库存储数据 第二十九部分:通用应用程序、图标文件和 App 调试 第三十部分:自劢布局(Auto Layout) 第三十一部分:应用集合视图(UICollectionView) 第三十二部分:音乐、视频多媒体应用

    一步一步学习_iOS_6_编程(第四版)

    第二十八部分: 使用SQLite数据库存储数据 第二十九部分:通用应用程序、图标文件和App调试 第三十部分:自动布局(Auto Layout) 第三十一部分:应用集合视图(UICollectionView) 第三十二部分:音乐、视频多媒体...

    基于Java的安卓APP设计与开发.pptx(教程).pptx

    了解安卓开发环境配置,安卓开发基础流程,编写hello world 程序。 课程时间:10月16日课堂教学 2、了解Android基础组件与布局, java基础语法,完成实验一 课程时间:10月23日课堂教学,10月30日之前提交报告 3、...

    PassingNotes:用于 NJIT 的 NFC 阅读器 Android 应用程序

    引导 Hello World 活动 请求 NFC 权限 包括用于存储捕获的“注释”的 SQL 轻型数据库 将笔记存储在本地 SQLite 数据库中 填写“查看笔记”活动(调用 SQLite DB 中的所有笔记) 去做: 添加基于附近手机的 NFC ...

    php网络开发完全手册

    1.3.1 第一个PHP程序Hello, world 6 1.3.2 学习PHP应该准备哪些软件 8 1.3.3 相关知识领域的介绍 9 1.4 程序运行环境的搭建 10 1.4.1 Apache简介 10 1.4.2 安装Apache与PHP 10 1.4.3 使用phpinfo()确认Apache与PHP ...

    flask-examples:学习烧瓶的日常笔记

    py07:mysql sqlite3 python对数据库操作 py08:Flask 会话 cookie使用 py09:Flask session microblog microblog是The Flask Mega-Tutorial学习代码 Part I: Hello, World! Part II: Templates Part III: Web Form

    《iPhone开发实战》.(Christopher Allen).pdf

    16.4.1 设置sqlite数据库239 16.4.2 访问sqlite240 16.4.3 访问sqlite数据库241 16.4.4 通过数据库构建导航菜单241 16.4.5 本例的扩展247 16.5 访问地址簿247 16.5.1 框架概述248 16.5.2 访问地址簿...

Global site tag (gtag.js) - Google Analytics