用MFC + ADO 把jpg图象文件放入ACCESS库中

来源: 作者: 2007-11-20 出处:pcdog.com

access  ddn  office  qq  连接数据库  
下一页 1 2 

源码下载

  网上好象这个例子还没有样,如果你用VC做一个人事部管理系统,不可能没有人员照片吧!能找到的例子中都是用BMP,不敢用!

  这个例子用到了VC6.0和access2002(officeXP),涉及到ADO的用法,文件对话框的使用,一个CPicture类和一个buffer缓冲区。

  一、我的ADO用法整理

  1. stdafx.h头文件中加入:

#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

  2. 应用程序初始化中加入:

AfxOleInit();
HRESULT hr;
try
{
  hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
  if(SUCCEEDED(hr))
  {
  hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=wy.mdb","","",adModeUnknown);///连接数据库
  ///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51;
  }
}
catch(_com_error e)///捕捉异常
{
  CString errormessage;
  errormessage.Format("打开 wy.mdb 数据库失败!\r\n错误信息:%s",e.ErrorMessage());
  AfxMessageBox(errormessage);///显示错误信息
}

  3. 应用程序EXIT中加入:

if (m_pConnection->State)
    m_pConnection->Close();

  4. 应用程序中加入:

_ConnectionPtr m_pConnection;

  5. 对话框类中加入:

_RecordsetPtr m_pRecordset;

  6. 注意使用:

extern CWYApp theApp;

  7. 使用纪录集:

try
{
  m_pRecordset.CreateInstance("ADODB.Recordset");
  m_pRecordset->Open("SELECT * FROM 客户 ORDER BY 客户id",
        _variant_t((IDispatch*)theApp.m_pConnection,true),
        adOpenStatic,adLockOptimistic,adCmdText);
}
catch(_com_error e)///捕捉异常
{
  AfxMessageBox("读取数据库失败!");///显示错误信息
}

  CPicture类(它能够显示JPG.GIF等等图片,详情请看CPicture.h头文件)



下一页 1 2 
上一篇:VC++6.0 中用 ADO 存取 Access 数据库的一点总结
下一篇:直接通过ADO操作Access数据库