`

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;
}


分享到:
评论

相关推荐

    qtSqlite(Qt对多个sqlite数据库的操作以及文件读写).zip

    QString content = "Hello, World!"; QFile file("/path/to/your/file.txt"); if (file.open(QIODevice::WriteOnly | QIODevice::Text)) { QTextStream out(&file); out ; file.close(); } ``` 在"qtSqlite"这个...

    iOS存储(文件存储,sqlite数据库操作)

    defaults.set("Hello, World!", forKey: "greeting") // 读取数据 if let greeting = defaults.string(forKey: "greeting") { print(greeting) } ``` 接下来,我们讨论文件存储。iOS支持多种文件格式,如文本文件...

    helloworld android代码

    了解了"Hello World"后,开发者可以逐渐深入学习Android的四大组件(Activity、Service、BroadcastReceiver和ContentProvider),理解Intent的概念,以及如何进行数据持久化(如SQLite数据库和SharedPreferences)。...

    Android开发入门 实例 helloworld

    4. **数据存储**:掌握在Android中保存数据的不同方法,如Shared Preferences、SQLite数据库和文件系统。 5. **网络编程**:学习如何进行HTTP请求,获取网络数据。 6. **异步编程**:理解Android中的AsyncTask或使用...

    Windows8应用商店的HelloWorld程序2

    在Windows 8应用中,我们可以使用多种方法来存储数据,包括本地存储、SQLite数据库、XML文件或Windows Runtime提供的数据存储API。例如,可以使用IsolatedStorage API来保存简单的文本或二进制数据,或者使用...

    MAUI Helloworld测试程序功能实现,注意2022升级最新版本;

    在描述中提到的“SqliteConsoleDemoK”可能是一个包含SQLite数据库操作示例的应用。SQLite是一种轻量级的、自包含的数据库引擎,常用于移动应用和嵌入式系统中存储数据。在MAUI应用中集成SQLite,开发者可以实现本地...

    vapor hello world 工程

    Vapor 还支持数据库集成,例如 SQLite 或 PostgreSQL。通过配置 `Config` 文件,你可以轻松地将数据存储到数据库中。例如,添加 `.databases` 部分到 `Config/development.json` 文件,并设置连接信息。然后,可以...

    HelloWorld

    6. **SQLite数据库**:本地数据存储解决方案。 7. **AsyncTask**和**Coroutines**:处理异步任务,避免阻塞主线程。 8. **RecyclerView**:用于展示大量可滚动数据的视图组件。 9. **RESTful API**和**JSON解析**:...

    xilinx zynq7000移植sqlite3

    SQLite3是一款开源的关系型数据库管理系统,它以单个磁盘文件的形式存储整个数据库,并支持大多数SQL标准特性。由于其轻量级、跨平台以及无需服务器进程等特点,SQLite3被广泛应用于桌面和移动设备上的应用程序。 #...

    Android 读写文件,读写数据库(SQLite)

    writer.write("Hello, World!"); } catch (IOException e) { e.printStackTrace(); } ``` #### 读文件 ```java // 读取文件内容 try (BufferedReader reader = new BufferedReader(new FileReader(outputFile))) ...

    helloworld.mybatis

    3. **SQLite数据源**:项目中包含了SQLite数据库文件,这是一种轻量级的关系型数据库,无需单独的服务器进程,可以直接在应用程序中使用。这使得它成为开发测试和快速原型的理想选择。 4. **MyBatis配置**:在...

    Sqlite 实现 增加 和查找条目

    SQLite 是一个轻量级的、开源的嵌入式数据库引擎,广泛应用于移动设备、桌面系统以及服务器中的数据存储。在本教程中,我们将探讨如何使用 SQLite 来实现数据的增加和查找功能,这对于任何需要持久化数据的应用程序...

    Android 读写文件和数据库(SQLite)

    fos.write("Hello, World!".getBytes()); fos.close(); ``` 3. **流式操作**:可以使用`BufferedReader`和`BufferedWriter`进行高效读写,或者使用`FileReader`和`FileWriter`进行简单操作。 二、SQLite数据库 ...

    wince连接数据库

    不过,基于题目要求,我们可以围绕“Windows CE(简称Wince)系统”如何连接数据库特别是SQLite数据库这一主题进行深入探讨。 ### Windows CE 系统概述 Windows CE 是微软推出的一款针对嵌入式设备的操作系统。它...

    浙江大学-智能手机软件开发本科课程-2010年夏课件与录像-HelloWorld实验设计.pptx

    在后续的学习中,学生将进一步探索Android的四大组件(Activity、Service、BroadcastReceiver和ContentProvider),掌握Intent机制,理解多线程处理,以及如何利用SQLite数据库和网络API等。这些知识将帮助他们构建...

    hello-echo-world:Echo和SQLite的Web API

    在本文中,我们将深入探讨如何使用Echo框架和SQLite数据库构建一个简单的Web API。"hello-echo-world"项目展示了如何将这两个强大的工具结合在一起,为Web应用程序提供数据存储和交互的能力。 **Echo框架** Echo是...

    helloworld的qt

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

    ORMLite HelloWorld

    在"ORMLite HelloWorld"项目中,你可能能看到如何创建一个简单的实体类,设置数据库配置,以及如何插入、查询、更新和删除数据的基本步骤。这个项目是学习ORMLite的绝佳起点,帮助开发者快速上手并理解其核心功能。...

    helloworld:一个“Hello World”Android 应用程序,用于显示我的开发环境正在运行

    在完成这个"Hello World"应用后,开发者通常会进一步学习Android SDK提供的各种API,如意图(Intent)系统,用于组件间的通信,或者是SQLite数据库,用于持久化数据。此外,还会探索更复杂的UI设计,网络请求,以及...

    Android_Hello_World:安卓

    在Android开发领域,"Hello, World!"程序是一个经典的起点,它...在实际开发过程中,开发者还会接触到更多的Android特性和最佳实践,如Intent用于组件间通信,SQLite数据库管理本地数据,以及各种服务和权限管理等等。

Global site tag (gtag.js) - Google Analytics