www.pudn.com > LoadMachineCode111.rar > CDatabaseOperate.cpp
// CDatabaseOperate.cpp: implementation of the CCDatabaseOperate class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "loadmachinecode.h"
#include "CDatabaseOperate.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CCDatabaseOperate::CCDatabaseOperate()
{
m_pConnection = NULL;
m_pRecordset = NULL;
}
CCDatabaseOperate::~CCDatabaseOperate()
{
if(m_pConnection!=NULL)
{
m_pRecordset ->Close();
m_pConnection ->Close();
}
}
BOOL CCDatabaseOperate::OpenDatabase(CString m_server, CString m_name, CString m_password, CString m_database)
{
HRESULT hr;
_bstr_t bt;
BOOL m_bConnected=FALSE;
bt=(_bstr_t)"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=lijian;Password=123456;Initial Catalog=loadmachinecode;Data Source=lijian";
try
{
hr=m_pConnection.CreateInstance("ADODB.Connection");
//if(!m_pConnection->State)
//m_pConnection->Close(); ///如果已经打开了连接则关闭它
if(SUCCEEDED(hr))
{
m_pConnection->ConnectionTimeout = 5;///设置超时时间为5秒
hr=m_pConnection->Open(bt,_bstr_t(""),_bstr_t(""),adModeUnknown);
ASSERT(SUCCEEDED(hr));
m_bConnected=TRUE;
}
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("连接数据库出错!\r\n 错误信息:=%s",e.ErrorMessage());
AfxMessageBox(errormessage);
}
return TRUE;
}
BOOL CCDatabaseOperate::Openrecordset(CString m_recordname)
{
HRESULT hr;
_bstr_t bt;
CString str;
bt=(_bstr_t)"select * from loadmachinecode";
try
{
hr=m_pRecordset.CreateInstance("ADODB.Recordset");
ASSERT(SUCCEEDED(hr));
hr=m_pRecordset->Open(bt,_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
ASSERT(SUCCEEDED(hr));
//m_pRecordset->MoveLast;
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("打开数据库出错!\r\n 错误信息:=%s",e.ErrorMessage());
AfxMessageBox(errormessage);
}
return TRUE;
}
BOOL CCDatabaseOperate::CloseDatabase()
{
try
{
if (m_pConnection != NULL && m_pConnection->State == adStateOpen)
{
if (SUCCEEDED(m_pConnection->Close()))
{
return TRUE;
}
}
}
catch(_com_error e)
{
TRACE(_T(":( 关闭数据库发生异常: %s\n"), e.ErrorMessage());
return FALSE;
}
return FALSE;
}
BOOL CCDatabaseOperate::CloseRecordset()
{
try
{
if (m_pRecordset != NULL && m_pRecordset->State != adStateClosed)
{
return SUCCEEDED(m_pRecordset->Close());
}
return TRUE;
}
catch (const _com_error& e)
{
TRACE(_T(":( 关闭记录集发生异常: %s\n"), e.ErrorMessage());
return FALSE;
}
return TRUE;
}