www.pudn.com > AccessADO.rar > AccessDoc.cpp


// AccessDoc.cpp : implementation of the CAccessDoc class 
// 
 
#include "stdafx.h" 
#include "Access.h" 
#include "LogoDig.h" 
 
#include "AccessDoc.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CAccessDoc 
 
IMPLEMENT_DYNCREATE(CAccessDoc, CDocument) 
 
BEGIN_MESSAGE_MAP(CAccessDoc, CDocument) 
	//{{AFX_MSG_MAP(CAccessDoc) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CAccessDoc construction/destruction 
 
CAccessDoc::CAccessDoc() 
{ 
/*	if(!m_adoConnection.OleInit()) 
	{ 
		AfxMessageBox("初始化OLE错误!"); 
	}*/ 
} 
 
CAccessDoc::~CAccessDoc() 
{ 
	m_adoConnection.Disconnect(); 
} 
 
BOOL CAccessDoc::OnNewDocument() 
{ 
	if (!CDocument::OnNewDocument()) 
		return FALSE; 
 
	// TODO: add reinitialization code here 
	// (SDI documents will reuse this document) 
 
	return TRUE; 
} 
 
 
 
///////////////////////////////////////////////////////////////////////////// 
// CAccessDoc serialization 
 
void CAccessDoc::Serialize(CArchive& ar) 
{ 
	if (ar.IsStoring()) 
	{ 
		// TODO: add storing code here 
	} 
	else 
	{ 
		// TODO: add loading code here 
	} 
} 
 
///////////////////////////////////////////////////////////////////////////// 
// CAccessDoc diagnostics 
 
#ifdef _DEBUG 
void CAccessDoc::AssertValid() const 
{ 
	CDocument::AssertValid(); 
} 
 
void CAccessDoc::Dump(CDumpContext& dc) const 
{ 
	CDocument::Dump(dc); 
} 
#endif //_DEBUG 
 
///////////////////////////////////////////////////////////////////////////// 
// CAccessDoc commands 
 
BOOL CAccessDoc::Connect() 
{ 
 
	CLogoDig dlg; 
	if (dlg.DoModal() == IDOK) 
	{ 
		CString strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dlg.m_strSrcName; 
		m_adoConnection.Disconnect(); 
		if (!m_adoConnection.Connect(LPCSTR(strConnect))) 
		{ 
			AfxMessageBox("连接数据库失败!"); 
			return FALSE; 
		}	 
	} 
	else 
	{ 
		exit(0); 
	} 
 
	return TRUE; 
}