C++使用sqlite的方法
2016-06-27 12:12
483 查看
windows下sqlite的使用
1.先去官网下载sqllite文件
2.编译生成lib文件
将sqlite3.h(在sqlite-amalgamation-3071300.zip压缩包中)添加到工程。
sqlite3.lib复制到工程文件夹下。
工程属性中添加sqlite3.lib库依赖。
3.创建win32工程
代码如下:
运行结果:
add user success: zhao 18
add user success: qian 19
add user success: sun 20
add user success: li 21
delete user success: zhao
modify user success: sun 15
id = 2, name = qian, age = 19,
id = 3, name = sun, age = 15,
id = 4, name = li, age = 21,
1.先去官网下载sqllite文件
2.编译生成lib文件
将sqlite3.h(在sqlite-amalgamation-3071300.zip压缩包中)添加到工程。
sqlite3.lib复制到工程文件夹下。
工程属性中添加sqlite3.lib库依赖。
3.创建win32工程
代码如下:
/* 本程序测试sqlite数据库的增删改查 */ #include "stdafx.h" #include "sqlite3.h" #include <iostream> using namespace std; sqlite3 * pDB = NULL; //增加用户 bool AddUser(const string& sName, const string& sAge); //删除用户 bool DeleteUser(const string& sName); //修改用户 bool ModifyUser(const string& sName, const string& sAge); //查找用户 bool SelectUser(); int _tmain(int argc, _TCHAR* argv[]) { //打开路径采用utf-8编码 //如果路径中包含中文,需要进行编码转换 int nRes = sqlite3_open("D:\\sqlite\\test.db", &pDB); if (nRes != SQLITE_OK) { cout<<"Open database fail: "<<sqlite3_errmsg(pDB); goto QUIT; } //添加“赵钱孙李” if ( !AddUser("zhao", "18") || !AddUser("qian", "19") || !AddUser("sun", "20") || !AddUser("li", "21")) { goto QUIT; } //删除“赵” if (!DeleteUser("zhao")) { goto QUIT; } //修改“孙” if (!ModifyUser("sun", "15")) { goto QUIT; } //查找用户 if (!SelectUser()) { goto QUIT; } QUIT: sqlite3_close(pDB); return 0; } bool AddUser(const string& sName, const string& sAge) { string strSql = ""; strSql += "insert into user(name,age)"; strSql += "values('"; strSql += sName; strSql += "',"; strSql += sAge; strSql += ");"; char* cErrMsg; int nRes = sqlite3_exec(pDB , strSql.c_str() ,0 ,0, &cErrMsg); if (nRes != SQLITE_OK) { cout<<"add user fail: "<<cErrMsg<<endl; return false; } else { cout<<"add user success: "<<sName.c_str()<<"\t"<<sAge.c_str()<<endl; } return true; } bool DeleteUser(const string& sName) { string strSql = ""; strSql += "delete from user where name='"; strSql += sName; strSql += "';"; char* cErrMsg; int nRes = sqlite3_exec(pDB , strSql.c_str() ,0 ,0, &cErrMsg); if (nRes != SQLITE_OK) { cout<<"delete user fail: "<<cErrMsg<<endl; return false; } else { cout<<"delete user success: "<<sName.c_str()<<endl; } return true; } bool ModifyUser(const string& sName, const string& sAge) { string strSql = ""; strSql += "update user set age ="; strSql += sAge; strSql += " where name='"; strSql += sName; strSql += "';"; char* cErrMsg; int nRes = sqlite3_exec(pDB , strSql.c_str() ,0 ,0, &cErrMsg); if (nRes != SQLITE_OK) { cout<<"modify user fail: "<<cErrMsg<<endl; return false; } else { cout<<"modify user success: "<<sName.c_str()<<"\t"<<sAge.c_str()<<endl; } return true; } static int UserResult(void *NotUsed, int argc, char **argv, char **azColName) { for(int i = 0 ; i < argc ; i++) { cout<<azColName[i]<<" = "<<(argv[i] ? argv[i] : "NULL")<<", "; } cout<<endl; return 0; } bool SelectUser() { char* cErrMsg; int res = sqlite3_exec(pDB, "select * from user;", UserResult , 0 , &cErrMsg); if (res != SQLITE_OK) { cout<<"select fail: "<<cErrMsg<<endl; return false; } return true; }
运行结果:
add user success: zhao 18
add user success: qian 19
add user success: sun 20
add user success: li 21
delete user success: zhao
modify user success: sun 15
id = 2, name = qian, age = 19,
id = 3, name = sun, age = 15,
id = 4, name = li, age = 21,
相关文章推荐
- SQLite教程(十一):临时文件
- SQLite中重置自动编号列的方法
- 保护你的Sqlite数据库(SQLite数据库安全秘籍)
- SQLite教程(十):内存数据库和临时数据库
- SQLite 入门教程二 SQLite的创建、修改、删除表
- 详解SQLite中的数据类型
- 详解SQLite中的查询规划器
- C#封装的Sqlite访问类实例
- SQLite中的B-Tree实现细节分析
- SQLite 中文指南之FAQ第1/6页
- Android Sqlite命令详解(基本命令)
- SQLite 内存数据库学习手册
- SQLite中的WAL机制详细介绍
- Sqlite数据库里插入数据的条数上限是500
- SQLite速度评测代码
- 简单分析SQLite4的一些设计改变
- C++操作SQLite简明教程
- C#实现Excel导入sqlite的方法
- C#调用SQLite的方法实例分析
- sqlite时间戳转时间语句(时间转时间戳)