在MFC中使用SQLite

一、SQLite简介
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。【百度百科】
官方下载地址:http://www.sqlite.org/download.html
二、生成静态链接库sqlite3.lib
1,打开vs2008 ,文件->新建->项目->Visual C++->Win32->Win32 项目,项目名称输入SQLite,点击下一步,应用程序类型选择"静态库",附加选项中取消选中“预   编译头”。
2.将sqlite3.c,sqlite3.h两个文件复制到这个工程目录下,然后在项目中将这两个文件添加进来,然后再编译运行,会出现数据类型转换的一些警告,不用管它,然后在   Debug目录下就会生成一个sqlite3.lib文件。
三、这里推荐一个MFC下SQLite套件:
SQLite_Wrapper : 包含SQLite封装类(SQLite.cpp/SQLite.h)、sqlite3.h头文件、SQLite3.lib编译好静态库,直接拿过来就可用;
SQLiteSpy_1.9.8:可视化查看SQLite数据工具,很好用;
将SQLite_Wrapper中的文件项目中,添加头文件,并加入如下代码:
#include "SQLite_Wrapper/SQLite.h"
#pragma comment(lib,"SQLite_Wrapper/SQLite3.lib") 
using namespace SQLite;
这样就能用了。
四、SQLite基本使用
//SQLite3数据库
Database m_db;
//建表
m_db.Open(szPath);
m_db.ExecuteSQL("CREATE TABLE 收件箱(序号 INTEGER PRIMARY KEY autoincrement,发件人 VARCHAR(255),号码 VARCHAR(255),时间 VARCHAR(255),内容 VARCHAR(255));" );
//增加
m_db.ExecuteSQL("INSERT INTO \"收件箱\" VALUES(NULL , 'name', 'num', 'time', 'content');");
//查询所有
TablePtr table;
Table* pTable;
table = m_db.QuerySQL2(_T("SELECT * FROM 收件箱 ORDER BY 序号 DESC"));
//删除
m_db.ExecuteSQL("DELETE FROM \"收件箱\" WHERE \"序号\"=(SELECT min(\"序号\") from \"收件箱\");");
五、参考
SQLite套件:http://download.csdn.net/detail/kimihong/8835713
http://blog.sina.com.cn/s/blog_5758bd010101k0h2.html
发布了11 篇原创文章 · 获赞 0 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/Kimihong/article/details/46625813