⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myadoclass.cpp

📁 web
💻 CPP
字号:
// LRunSql2.cpp: implementation of the LRunSql2 class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "jiasg.h"
#include "myadoclass.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

_ConnectionPtr LRunSql::m_database;

LRunSql::LRunSql()
{
	m_recordset.CreateInstance(__uuidof(Recordset));
}

LRunSql::~LRunSql()
{

}

bool LRunSql::BeginTrans()
{
	return (!FAILED(m_database->BeginTrans()));
}

bool LRunSql::CheckSQLResult(CString sql)
{    
    if(!this->RunSQL(sql)) 
          return false;
	else
	{
		if(!this->m_recordset->adoEOF)
		    return true;
		else
		   return false;
	}
	
	return true;
}

bool LRunSql::Close()
{
return (!FAILED(m_database->Close()));
}

bool LRunSql::CommitTrans()
{
	return (!FAILED(m_database->CommitTrans()));

}

bool LRunSql::ConnectDataBase()
{
try{
	m_database->Open(L"student","","",-1);
	}
	catch(...)
	{
		::ShellExecute(NULL,"open","AutoConfig.exe",NULL,NULL,SW_HIDE);
		return false;	
	}  
	return true;
}


bool LRunSql::RunSQL(CString sql)
{  

	_bstr_t sql_=sql; 

	try{
	     
//		m_recordset=m_database->Execute(sql_,NULL,adCmdText);	
//		m_recordset->Open((_bstr_t)sql,m_database.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);	// 取得表中的记录
		m_recordset->Open((_bstr_t)sql,m_database.GetInterfacePtr(),adOpenStatic, adLockOptimistic,adCmdText);
	}
	catch(_com_error& e)
	{  
		ErrorsPtr pErrors=m_database->GetErrors();
		if (pErrors->GetCount()==0)
		{
			//AfxMessageBox(e.ErrorMessage());
			afxDump<<e.ErrorMessage();
		}
		else
		{
			for (int i=0;i<pErrors->GetCount();i++)
			{
				_bstr_t desc=pErrors->GetItem((long)i)->GetDescription();
			//	AfxMessageBox(desc);
				afxDump<<(char*)desc;
			}
		}
		return false;

	}
	return true;
}

bool LRunSql::RollbackTrans()
{
return (!FAILED(m_database->RollbackTrans()));
}

bool LRunSql::InitConnectPtr()
{
   HRESULT hr;
	try
	{
     hr=m_database.CreateInstance("ADODB.Connection");//创建Connection对象
      if(SUCCEEDED(hr))
	     {
	      hr = m_database->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=student.mdb","","",adModeUnknown);///连接数据库
	///上面一句中连接字串中的Provider是针对ACCESS2000环境的}
	  }
	 }
	catch(_com_error e)///捕捉异常
	{
		  CString errormessage;
          errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
		  AfxMessageBox(errormessage);///显示错误信息
		  return false;
	}
	return true;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -