特别提醒:
1.使用者只需要看懂头文件就OK了,不管你访问的是什么数据库,只需要修改源文件划线部分的连接部分就OK,如果你是用access,只需要改变数据库名就OK 2.数据库文件:需要放在应用程序所在地的data文件夹下 3.有兴趣的朋友课以去研究一下源文件,做一些功能拓展,其实我也是在网上查资料然后拓展的。欢迎跟本人联系:yaoyabad@126.com 头文件:ADOConn.h // ADOConn.h: interface for the ADOConn class. // ////////////////////////////////////////////////////////////////////// #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF") //文件信息结构体 struct File { char* m_pBuffer; int len; }; #if !defined(AFX_ADOCONN_H__AC448F02_AF26_45E4_9B2D_D7ECB8FFCFB9__INCLUDED_) #define AFX_ADOCONN_H__AC448F02_AF26_45E4_9B2D_D7ECB8FFCFB9__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 class ADOConn { // 定义变量 public: _ConnectionPtr m_pConnection; //添加一个指向Recordset对象的指针: _RecordsetPtr m_pRecordset; // 定义方法 public: BOOL IsBMPFile(char* m_pBuffer); //由位图的缓冲区转换为位图句柄 HBITMAP CharToHbitmap(char* m_pBuffer,CWnd* pwnd); //获得数据库的OLE文件 //sql:定位到要获得的OLE对象的行的SQL语句 //name:OLE对象字段名 char* GetFileFromData(CString sql,CString name); //把文件存入数据库 //af:文件信息 //sql:定位到要存储到的OLE对象的行的SQL语句 //name:OLE对象字段名 void CharToData(File &af,CString sql,CString Name); //从计算机上获得你需要的文件 File GetFile(); ADOConn(); virtual ~ADOConn(); // 初始化—连接数据库 void // 执行查询 _RecordsetPtr& GetRecordSet(_bstr_t bstrSQL); BOOL ExecuteSQL(_bstr_t bstrSQL); //停止与数据库的连接 void ExitConnect(); }; #endif // !defined(AFX_ADOCONN_H__AC448F02_AF26_45E4_9B2D_D7ECB8FFCFB9__INCLUDED_) // ADOConn.cpp: implementation of the ADOConn class. // ////////////////////////////////////////////////////////////////////// #include "stdafx.h" #include "ADOConn.h" #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// ADOConn::ADOConn() { } ADOConn::~ADOConn() { } // 初始化—连接数据库 void { } // 执行查询 _RecordsetPtr& { } BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL) { // |