[C++]轻量级数据库Sqlite3基础使用
来源:互联网 发布:chrome 执行js代码 编辑:程序博客网 时间:2024/06/06 03:51
使用SQLite3本地数据库,运行一个demo,记录一下配置与运行结果。SQLite数据库广泛用于嵌入式系 统、桌面软件等作为本地数据库
本文有参考网络Blog完成
准备工作
1、新建工程,内容如下
2、配置库目录 lib目录
源码
#include <iostream>#include "sqlite3.h"#define _DEBUG_ 1using namespace std;int main(int argc, char* argv[]){ sqlite3 *db = NULL; char *zErrMsg = 0; int rc; rc = sqlite3_open("mydemo.db", &db); //打开指定的数据库文件,如果不存在将创建一个同名的数据库文件 if (rc) { cout << stderr << "Can't open database: " << sqlite3_errmsg(db) << endl; sqlite3_close(db); return (1); } else cout<<"create or open Sqlite3 sucess" <<endl; //创建表 TABLE ,字段有:ID,SensorID ,SiteNum ,Time, SensorParameter char *sql = " CREATE TABLE SensorData(ID INTEGER PRIMARY KEY,SensorID INTEGER,SiteNum INTEGER,Time VARCHAR(12),SensorParameter REAL);"; sqlite3_exec(db, sql, 0, 0, &zErrMsg); //插入数据 sql = "INSERT INTO SensorData VALUES(NULL , 4 , 1 , '201602011203', 18.9 );"; sqlite3_exec(db, sql, 0, 0, &zErrMsg); sql = "INSERT INTO SensorData VALUES(NULL , 24 , 40 , '201602011303', 16.4 );"; sqlite3_exec(db, sql, 0, 0, &zErrMsg); sql = "INSERT INTO SensorData VALUES(NULL , 34 , 15 , '201602011308', 15.4 );"; sqlite3_exec(db, sql, 0, 0, &zErrMsg); int nrow = 0, ncolumn = 0; char **azResult; //二维数组存放结果 //查询数据 sql = "SELECT * FROM SensorData "; sqlite3_get_table(db, sql, &azResult, &nrow, &ncolumn, &zErrMsg); int i = 0; printf("row:%d column=%d ", nrow, ncolumn); printf(" The result of querying is : \r\n"); for (i = 0; i < (nrow + 1) * ncolumn; i++) printf("azResult[%d] = %s \r\n", i, azResult[i]); //删除数据 sql = "DELETE FROM SensorData WHERE SensorID =0 ;"; sqlite3_exec(db, sql, 0, 0, &zErrMsg);#ifdef _DEBUG_ printf("zErrMsg = %s ", zErrMsg);#endif sql = "SELECT * FROM SensorData "; sqlite3_get_table(db, sql, &azResult, &nrow, &ncolumn, &zErrMsg); printf(" row:%d column=%d ", nrow, ncolumn); printf(" After deleting , the result of querying is : "); for (i = 0; i < (nrow + 1) * ncolumn; i++) printf("azResult[%d] = %s \r\n", i, azResult[i]); //释放掉 azResult 的内存空间 sqlite3_free_table(azResult);#ifdef _DEBUG_ printf("zErrMsg = %s ", zErrMsg);#endif sqlite3_close(db); //关闭数据库 system("pause"); return 0;}
问题处理
1、编译不成功,主要是配置问题
注意根目录下放着 sqlite3.dll
其中lib文件夹下有sqlite3.lib
2、注意使用debug x86模式,笔者编译工程时候,工程默认为x64 编译不通过,
错误提示为link 2019 slqlite3的函数未定义
工程已经上传github
选择chapter1工程
阅读全文
0 0
- [C++]轻量级数据库Sqlite3基础使用
- sqlite3的学习使用--轻量级数据库
- C/C++下使用SQLite轻量级数据库
- C/C++下使用SQLite轻量级数据库
- C linux sqlite3 数据库的使用
- C语言使用sqlite3数据库【第一节】
- C语言使用sqlite3数据库【第三节】
- C语言使用sqlite3数据库【第一节】
- C语言使用sqlite3数据库【第一节】_1
- C语言使用sqlite3数据库【第三节】
- python内置轻量级数据库sqlite3操作
- sqlite3数据库基础语句
- Objective-C ,ios,iphone开发基础:使用第三方库FMDB连接sqlite3 数据库,实现简单的登录
- Objective-C ,ios,iphone开发基础:使用第三方库FMDB连接sqlite3 数据库,实现简单的登录
- 轻量级数据库使用Sharepreferences
- SQLite3 使用基础
- sqlite3使用基础
- 使用小型数据库SQLite3
- 网络编程中的socket中关于TCP下的文件传输:EOF问题
- 第十一周项目三
- C++和C#相互调用COM组件的方法简介
- 解决无法获取app动态空件的属性
- HTML——给图片<img>标签加上超链接
- [C++]轻量级数据库Sqlite3基础使用
- 第十二周 【项目2
- STL的reserve和resize
- 第十二周项目1Prim算法的验证
- 日本西粟仓村政府计划发起ICO,振兴地方经济
- 网络请求重定向
- iOS 图片涂鸦功能
- leetcode
- php读取富文本编辑器编辑后的文章内容,并去除所有html标签、空格以及空白,截取字符串(包括中文)