C++使用SQLite3心得 -- sqlite3以二进制形式存取图片(MFC,CppSQLite3U封装类)

本文介绍如何使用SQLite3数据库存储和读取.jpg格式的图片文件。通过C++实现,包括创建数据库表、将图片文件以二进制形式保存到数据库及从数据库读取图片数据并还原为.jpg文件。
实现功能:1.将图片文件(.jpg)以二进制形式存储到sqlite3里面
		2.从sqlite3里面读取二进制形式的图片数据并保存到图片文件(.jpg)

*注:本人超级菜鸟 此博客是为了总结用 仅仅说明了函数作用 可能直接编译不过 见谅 文中有何不妥之处 还望各位读者不吝赐教

一、创建/打开 sqlite3数据库 并 创建/打开 表

C++
// 打开sqlite3数据库(用CppSQLite3U类的方式)
	// 定义表名称
	#define TABLENAME _T("tb")
	
	// 声明数据库类型的全局变量
	CppSQLite3DB g_db;


	// 获取当前程序路径 并加上数据库名称
	CString strDbPath;
	CString strDbName(_T("test1.db"));
	GetCurrentDirectory( strDbPath );
	strDbPath += strDbName;


	// 创建/打开 数据库 若不存在则创建
	try{
		g_db.open(strDbPath);
	}
	catch(CppSQLite3Exception ex)
	{
		g_db.execDML(L"rollback transaction;");
	}
	
	// 创建表
	// 判断表名是否已经存在
	CString strTbSql;
	CString strTbName(TABLENAME);
	try{
		if(!g_db.tableExists(strTbName))
		{  
			// 不存在,新建表tb
			strTbSql.Format(_T("CREATE TABLE %s(ID INTEGER PRIMARY KEY, image BLOB);"), strTbName);
			
			// 执行SQL语句
			g_db.execDML(strTbSql);
			strTbSql.Empty();
			strTbSql.Format(_T("表%s创建成功!"), strTbName);
			::AfxMessageBox(strTbSql);
		}
		else
		{
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值