VC + + 6.0 액세스 데이터베이스 연결

2259 단어 Access
데이터 베 이 스 를 연결 하 는 클래스 만 들 기:
1. 헤더 파일: ADOConn. h
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace  rename("EOF","adoEOF")rename("BOF","adoBOF") 



class ADOConnN

{

public:

	_ConnectionPtr m_pConnect;

	_CommandPtr m_pCommand;

	_RecordsetPtr m_pRecord;



	void OnInitADOConn();//        

	void ExitConnect();//       

	void ExecuteSQL(CString sqlstr);//          、  、   

	_RecordsetPtr GetRecord(CString sqlstr);//             

};


2. Stdafx. h 헤더 파일 에 추가:
#include "ADOConn.h"

3. 구현 파일: ADOConn. cpp
#include "stdafx.h"



void ADOConnN::OnInitADOConn()

{

	::CoInitialize(NULL);

	try  

	{   //           

		m_pConnect.CreateInstance("ADODB.Connection");   

		//          

		CString strConnect="DRIVER={Microsoft Access Driver (*.mdb)};uid=;pwd=;DBQ=localwork.mdb;";   //      localwork.mdb

		//  Open          

		m_pConnect->Open((_bstr_t)strConnect,"","",adModeUnknown); 

	}  

	catch(_com_error e)  

	{   

		AfxMessageBox("      ,            !");  

	}

}



void ADOConnN::ExitConnect()

{

	if(m_pRecord!=NULL)

		m_pRecord->Close();

	m_pConnect->Close();

	::CoUninitialize();

}



void ADOConnN::ExecuteSQL(CString sqlstr)

{

	m_pConnect->Execute((_bstr_t)sqlstr,NULL,adCmdText);

}



_RecordsetPtr ADOConnN::GetRecord(CString sqlstr)

{

	_RecordsetPtr m_precordset=m_pConnect->Execute((_bstr_t)sqlstr,NULL,adCmdText);

	return m_precordset;

}


4. 적용:
	CString bstrSQL ="select * from tb_UserInfo";//tb_UserInfo localwork.mdb     

	ADOConnN con;//          

	con.OnInitADOConn();//                 

	con.m_pRecord=con.GetRecord(bstrSQL);//     

	while(!con.m_pRecord->adoEOF)

	{

	  m_Grid.InsertItem(0,"");

	  m_Grid.SetItemText(0,0,(char*)(_bstr_t)con.m_pRecord->GetCollect("Username"));//Username tb_UserInfo    

	  m_Grid.SetItemText(0,1,(char*)(_bstr_t)con.m_pRecord->GetCollect("password"));//password tb_UserInfo    

	  //              

	  con.m_pRecord->MoveNext();

	}

	con.ExitConnect();//       


좋은 웹페이지 즐겨찾기