#pragma once
class CAccseeDB
{
public:
CAccseeDB(void);
~CAccseeDB(void);
void ExecuteSQL(CString strSQL);
void Query(CString strSQL, CRecordset* prs);
CDBVariant QueryOne(CString strSQL);
protected:
CDatabase m_db;
};
#include "StdAfx.h" #include "AccseeDB.h" CAccseeDB::CAccseeDB(void) { CString strDriver = "MICROSOFT ACCESS DRIVER (*.mdb)"; CString strDSN; strDSN.Format("ODBC;DRIVER={%s};UID=;PWD=;DBQ=H://db1.mdb", strDriver); m_db.Open(NULL,0,0,strDSN); } CAccseeDB::~CAccseeDB(void) { m_db.Close(); } void CAccseeDB::ExecuteSQL(CString strSQL) { m_db.ExecuteSQL(strSQL); } void CAccseeDB::Query(CString strSQL, CRecordset* prs) { prs->m_pDatabase = &m_db; prs->Open(CRecordset::forwardOnly, strSQL); } CDBVariant CAccseeDB::QueryOne(CString strSQL) { CDBVariant var; CRecordset rs; Query(strSQL, &rs); if(!rs.IsBOF()) { rs.GetFieldValue((short)0,var); rs.Close(); } return var; } try { } catch(CDBException e) { AfxMessageBox("Database Error:" + e.m_strError); }