MFC存储图片到SQL Server数据库
2024-08-27 01:32:03
第一步:建立数据库表,比如: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
最新文章
- ELK:kibana使用的lucene查询语法【转载】
- MongoDB修改器总结
- sql order by按俩个字段排序
- ECharts切换主题
- [FJSC2014]化合物
- [解答]对‘’未定义的引用 collect2: 错误: ld 返回 1
- Android Scroller类的详细分析
- VS2012 编译程序时报无法载入PDB文件错误解决方式
- Mac实用操作技巧(六)
- WEB 小案例 -- 网上书城(一)
- 如何使用 VS2015 进行远程调试?
- SQLMap入门之在Windows上安装SQLMap
- Nginx + tomcat服务器 负载均衡
- go 接口以及对象传递
- day 29 socket 初级版
- datagridview 获取选中行的索引
- jQuery-Selectors(选择器)的使用(二、层次篇)(转载)
- mvc 封装控件使用mvcpager
- C#编程(一)
- knova绘制进度条
热门文章
- Android系统示例分析之AccelerometerPlay
- 【LeetCode】33. Search in Rotated Sorted Array (4 solutions)
- QQ在通信与传输的一些知识
- android Handler的使用(一)
- Android的学习之路(四)项目中清单文件的学习和android中经常使用的显示单位
- 关于 AngularJS 的数据绑定
- iOS中Storyboard使用要点记录
- 编译g++后更新libstdc++.so.6链接
- 图解Sysprep封装系统
- locatin