mfc操作access数据库,本人封装了一个操作类,包含mtd,mt,mdd,md四种,里面有使用实例,支持vs2013,并且支持windows下32、64位系统,接口简单易用,如果需要支持其他vs版本,可联系qq:728297725,一下是操作的接口,易用稳定,csdn下载链接地址:https://download.csdn.net/download/u011269801/14967243
#ifndef __DBENGINE_H__
#define __DBENGINE_H__
#ifdef _COMMONMDBENGINE_DLL
#define COMMONMDBENGINE_DLL_CLASS __declspec(dllexport)
#else
#define COMMONMDBENGINE_DLL_CLASS __declspec(dllimport)
#endif
#include "math.h"
#include <vector>
#include <map>
#include <iostream>
using namespace std;
#import "msado15.dll" rename_namespace("ADOWE") rename("EOF","EndOfFile")
#import "msadox.dll" no_namespace rename("EOF","adoEOF")
using namespace ADOWE;
class COMMONMDBENGINE_DLL_CLASS MDBEngine
{
public:
_CommandPtr m_ptrCommand; //命令对象
_RecordsetPtr m_ptrRecordset; //记录集对象
_ConnectionPtr m_ptrConnection; //数据库对象
CString m_strConnect, //连接字符串
m_strErrorMsg; //错误信息
public:
MDBEngine(void);
~MDBEngine(void);
BOOL CreateDataBase(LPCTSTR strcnn);
void DetectResult(HRESULT hResult);
void RecordErrorMsg(_com_error comError);
CString GetLastError(){return m_strErrorMsg;}
bool CreateInstance();
bool SetConnectionString(CString strDriver, CString strIP, WORD wPort, CString strCatalog, CString strUserID, CString strPassword);
bool SetConnectionString(CString strDriver, CString strDataSrc, CString strPassword);
bool OpenConnection();
bool CloseConnection();
bool IsConnecting();
void ClearAllParameters();
void AddParamter(LPCTSTR lpcsrName, ADOWE::ParameterDirectionEnum Direction, ADOWE::DataTypeEnum Type, long lSize, _variant_t & vtValue);
void SetSPName(LPCTSTR lpcsrSPName);
bool ExecuteCommand(bool bIsRecordset);
bool Execute(LPCTSTR lpcsrCommand);
long GetReturnValue();
bool OpenRecordset(CString szSQL);
bool CloseRecordset();
bool IsRecordsetOpened();
bool IsEndRecordset();
void MoveToNext();
void MoveToFirst();
void MoveToLast();
long GetRecordCount();
bool GetFieldValue(LPCTSTR lpcsrFieldName, WORD& wValue);
bool GetFieldValue(LPCTSTR lpcsrFieldName, CString& strValue);
bool GetFieldValue(LPCTSTR lpcsrFieldName, INT& nValue);
bool GetFieldValue(LPCTSTR lpcsrFieldName, BYTE& bValue);
bool GetFieldCY_DEValue(LPCTSTR lpcsrFieldName, DOUBLE& dbValue);
bool GetFieldValue(LPCTSTR lpcsrFieldName, float& fValue);
bool GetFieldValue(LPCTSTR lpcsrFieldName, LONG& lValue);
bool GetFieldValue(LPCTSTR lpcsrFieldName, DWORD& dwValue);
bool GetFieldValue(LPCTSTR lpcsrFieldName, UINT& ulValue);
bool GetFieldValue(LPCTSTR lpcsrFieldName, DOUBLE& dbValue);
bool GetFieldValue(LPCTSTR lpcsrFieldName, __int64& llValue);
bool GetFieldValue(LPCTSTR lpcsrFieldName, COleDateTime& Time);
bool GetFieldValue(LPCTSTR lpcsrFieldName, bool& bValue);
bool GetFieldValue(LPCTSTR lpcsrFieldName, string& bValue);
};
#endif