第一步:建立数据库表,比如:id char,pic image。

第二步:建立MFC单文档应用程序,再添加类CMyRecordset,基类选择CRecordset,导入数据库的刚建立的表。

第三步:在doc.h中加入 CMyRecordset m_pSet。

第四步:在view.h中加入CMyRecordset* pSet。

第五步:在view.cpp中的OnInitialUpdate()加入

pSet=&GetDocument()->m_pSet;
if(pSet->IsOpen())
pSet->Close();
pSet->Open();

第六步:存图片

void ****View::OnOpen()
{
// TODO: Add your command handler code here
CFileDialog filedlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"images Files (*.jpg)|*.jpg",this);
CString path;
if(filedlg.DoModal()==IDOK)
{
path=filedlg.GetPathName();
CFile file;
CFileStatus filestatus;
file.Open(path,CFile::modeRead);
file.GetStatus(filestatus);
pSet->AddNew();
pSet->m_pic.m_dwDataLength=filestatus.m_size;
HGLOBAL hGlobal = GlobalAlloc(GPTR,filestatus.m_size);
pSet->m_pic.m_hData = GlobalLock(hGlobal);
file.ReadHuge(pSet->m_pic.m_hData,filestatus.m_size);
pSet->m_id=_T("");
pSet->SetFieldDirty(NULL);
pSet->SetFieldNull(NULL,FALSE);
pSet->Update();
GlobalUnlock(hGlobal);
}
}

第七步:读取图片

void ****View::OnRead()
{
// TODO: Add your command handler code here
CFile file2;
file2.Open("C://a.jpg",CFile::modeCreate|CFile::modeWrite);
pSet->MoveFirst();//读第一条记录
BYTE* content=new BYTE[pSet->m_pic.m_dwDataLength];
memcpy(content,GlobalLock(pSet->m_pic.m_hData),pSet->m_pic.m_dwDataLength);
file2.WriteHuge(content,pSet->m_pic.m_dwDataLength);
}

http://blog.csdn.net/zhaoweihornets/article/details/5719915

最新文章

  1. ELK:kibana使用的lucene查询语法【转载】
  2. MongoDB修改器总结
  3. sql order by按俩个字段排序
  4. ECharts切换主题
  5. [FJSC2014]化合物
  6. [解答]对‘’未定义的引用 collect2: 错误: ld 返回 1
  7. Android Scroller类的详细分析
  8. VS2012 编译程序时报无法载入PDB文件错误解决方式
  9. Mac实用操作技巧(六)
  10. WEB 小案例 -- 网上书城(一)
  11. 如何使用 VS2015 进行远程调试?
  12. SQLMap入门之在Windows上安装SQLMap
  13. Nginx + tomcat服务器 负载均衡
  14. go 接口以及对象传递
  15. day 29 socket 初级版
  16. datagridview 获取选中行的索引
  17. jQuery-Selectors(选择器)的使用(二、层次篇)(转载)
  18. mvc 封装控件使用mvcpager
  19. C#编程(一)
  20. knova绘制进度条

热门文章

  1. Android系统示例分析之AccelerometerPlay
  2. 【LeetCode】33. Search in Rotated Sorted Array (4 solutions)
  3. QQ在通信与传输的一些知识
  4. android Handler的使用(一)
  5. Android的学习之路(四)项目中清单文件的学习和android中经常使用的显示单位
  6. 关于 AngularJS 的数据绑定
  7. iOS中Storyboard使用要点记录
  8. 编译g++后更新libstdc++.so.6链接
  9. 图解Sysprep封装系统
  10. locatin