这个例子用到了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头文件)