QQ登录

只需一步,快速开始

305上位机VC MFC使用ADO实现图象设置保存显示

[ 复制链接 ]

305上位机VC MFC使用ADO实现图象设置保存显示

305上位机VC MFC使用ADO实现图象设置保存显示

ADO实现图象设置保存显示
功能展示
数据库程序中会包含有很多的图片信息,我们当前例程实现从数据库文件中读取数据并显示,可以修改与保存数据库中的图片,效果如图,点击上一条,下一条,第一条,最后一条都会显示相关数据和对应图片,点击添加记录可添加一记录,点击选择照片可以修改不同照片;

要点提示
实际的项目程序开发,需要精心设计与调试,我们当前例程仅演示如何从数据库中读取位图图片,并显示出来,并且还可以修改更换当前记录的图片与修改的保存,

实现功能
1.新建基于对话框的应用程序
2.添加变量与自定义函数
public:
_RecordsetPtr m_pRecordset;
_ConnectionPtr m_pConnection;
BOOL m_RecordAddNew;
BOOL m_RecordModify;
HBITMAP m_hPhotoBmp;
char *m_pBmpBuffer;
DWORD m_nFileLength;
public:
void DrawEmployeePhoto(int x, int y, CDC *pDC);
BOOL LoadBmpFile(const char *pBmpPathname);
HBITMAP TransToBmp();
void ClearPhoto();
void ReadData();
void ResetPrevNextBtn();
BOOL IsLastRecord();
BOOL IsFirstRecord();
这些函数的函数体可在例程中查看
3.在主对话框OnInitDialog()函数中初始化
//<>
AfxOleInit();
m_pConnection.CreateInstance("ADODB.Connection");
/******************连接数据库********************/
try
{
m_pConnection->ConnectionTimeout = 8;
//连接SQL SERVER
//m_pConnection->Open("Driver=SQL Server;Database=test;Server=127.0.0.1;UID=saWD=;","","",adModeUnknown);
//连接ACCESS2000
m_pConnection->Open("rovider=Microsoft.Jet.OLEDB.4.0;Data Source=Employee.mdb","","",adModeUnknown);
}

catch(_com_error e)///捕捉异常
{
AfxMessageBox("数据库连接失败!");
return FALSE;
}
//<>
m_RecordAddNew = FALSE;
m_RecordModify=FALSE;
m_pRecordset.CreateInstance("ADODB.Recordset");
HRESULT hr = m_pRecordset->Open("SELECT * FROM EmployeeInfo",
_variant_t((IDispatch *)m_pConnection,true),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hr))
{
ReadData();
}
ResetPrevNextBtn();
4,依照程序界面添加三编辑框IDC_NAME,IDC_POSITON,IDC_SALARY及八按钮<上一条记录><下一条记录><第一条记录><最后一条记录><添加记录><保存记录><删除记录><选 择 照 片>并依次关联按钮的点击函数
void CGkbc8Dlg::OnRecordPrev()
{
if(m_RecordModify)//假如当前记录改动过,则保存
OnSave();
m_pRecordset->MovePrevious();
ReadData();
ResetPrevNextBtn();
Invalidate();
}
void CGkbc8Dlg::OnRecordNext()
{
if(m_RecordModify)
OnSave();
m_pRecordset->MoveNext();
ReadData();
ResetPrevNextBtn();
Invalidate();
}
5.其他按钮点击函数可以打开例程源码查看,最后是数据库中图片的显示实现,在主对话框的OnPaint()函数中调用DrawEmployeePhoto()便可实现
else
{
CPaintDC dc(this);
DrawEmployeePhoto(230,50,&dc);
CDialog::OnPaint();
}


我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:305.上位机VC MFC使用ADO实现图象设置保存显示.zip 
文件大小:746.35 KB  售价:11金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!




回复

使用道具 举报

快速回复 返回列表 客服中心 搜索