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

📄 dbbase.cpp

📁 这是一个工厂的生产线的仓库管理.有计划,实绩,库存等
💻 CPP
字号:
/********************************************************************
	created:	2005/09/06
	created:	2005 - 9 - 6
	filename: 	fap\dbbase.cpp
	file path:	fap
	file base:	dbbase
	file ext:	cpp
	author:		KasenHOo @ Eleplan jp
	
	purpose:	
*********************************************************************/

// 偙傟偼丄傾僾儕働乕僔儑儞 僂傿僓乕僪傪巊偭偰惗惉偝傟偨丄VC++ 傾僾儕働乕僔儑儞 僾儘僕僃僋僩偺 
// 儊僀儞 僾儘僕僃僋僩 僼傽僀儖偱偡丅

#include "stdafx.h"
#include "DBBase.h"
#using <mscorlib.dll>
#using <System.Xml.dll>
#using <system.windows.forms.dll>

using namespace System;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Data::OleDb;



//Construct Function

DBBase::DBBase  (){

	adpBase = new OleDbDataAdapter();
	dsetBase = new DataSet();

}

//Connection open 
//Return:   Sucsess		true
//			Fail		false
bool DBBase::blnCnnOpen(String * strCnn ,String * strUser , String * strPass )
{

	if (strCnn->Trim() != S"" &&
		strUser->Trim() != S"" &&
		strPass->Trim() != S""
		) 
	{
	
		strConnectString = String::Concat( S"Provider=MSDAORA.1;User ID=", strUser,	S";Data Source=",strCnn,S";Password=", strPass,	S"; " );
		//strConnectString = String::Concat( S"Provider='OraOleDb.Oracle';User ID=", strUser,	S";Data Source=",strCnn,S";Password=", strPass,	S"; " );
		strConnectString = String::Concat( strConnectString,S"Persist Security Info=False;");
	}
	else
	{
		return false;
		
	}
	try
	{	
//		if((connBase->State == System::Data::ConnectionState::Closed )){
		
			connBase =  new OleDbConnection(strConnectString);
			
			connBase->Open();
//		}
	}
	catch(Exception * ex){
		
		MessageBox::Show(String::Concat(S"Oracle Error! \n" , ex->Message),S"Error");

		return false;
	}

	__finally{


	}
	
	return true;

}

//Connection close 
//Return:   Sucsess		true
//			Fail		false
bool DBBase::blnCnnClose  (){

	if (!(connBase->State==System::Data::ConnectionState::Closed )) {
		connBase->Close  ();
	}
	

	return true;

}

//SQL execute 
//Return:   Sucsess		true
//			Fail		false

bool DBBase::blnSQL_Execute (String * strSQL ){
	
	if (strSQL->Trim()==S"") {
		return false;

	}
	if (! (connBase->State == System::Data::ConnectionState::Open ))
		connBase->Open();
	
	try
	{
		cmdExecute = connBase->CreateCommand();

//		transExecute = connBase->BeginTransaction();

		cmdExecute->Connection = connBase;
		
		if (blnTrans) {

			cmdExecute->Transaction = transExecute;

		}		
		
		cmdExecute->CommandText = strSQL;
		

		cmdExecute->ExecuteNonQuery();

	
	}
	catch (Exception *ex) 
	{
		//MessageBox::Show(String::Concat(S"SQL Execute Error!\n",ex->Message),S"Error");
		MessageBox::Show(String::Concat(S"操作数据库失败!!\n错误信息:",ex->Message),S"Error");

		return false;

	}

	__finally
	{

	}
	
	return true;

}

//SQL execute 
//Return:   Sucsess		true
//			Fail		false
//IN	:	strSQL:  Sql Sentence
//			*intCnt: inflection records count
/*  Add by KasenHOo @ 2005/11/15   */
bool DBBase::blnSQL_Execute (String * strSQL, int *intCnt ){

	if (strSQL->Trim()==S"") {
		return false;

	}
	if (! (connBase->State == System::Data::ConnectionState::Open ))
		connBase->Open();

	try
	{
		cmdExecute = connBase->CreateCommand();

		//		transExecute = connBase->BeginTransaction();

		cmdExecute->Connection = connBase;

		if (blnTrans) {

			cmdExecute->Transaction = transExecute;

		}		

		cmdExecute->CommandText = strSQL;

		

		*intCnt = cmdExecute->ExecuteNonQuery();

		

	}
	catch (Exception *ex) 
	{
		MessageBox::Show(String::Concat(S"操作数据库失败!!\n错误信息:",ex->Message),S"Error");
		return false;

	}

	__finally
	{

	}

	return true;

}
/*  End by KasenHOo @ 2005/11/15   */


//SQL Select
//Return:   Sucsess		DateSet 
//			Fail		NULL

DataSet * DBBase::dSetSQL_Select(String *strSQL,
								 String * StrTableName,
								 int	intClear	//clear DBBase Dataset		default 0  to clear ,,1 not to clear

								 ){
	
	if ((S"" == strSQL->Trim()) || (S"" == StrTableName->Trim())) {
		
		return false;
	}

	
	adpBase->SelectCommand = new OleDbCommand(strSQL, connBase);
	
	try
	{
		if (intClear == 0) {
			dsetBase->Clear();
		}
		
		adpBase->Fill(dsetBase,StrTableName);
	}
	
	catch (Exception *ex) {
		//MessageBox::Show(String::Concat(S"SQL Select Error!! \n", ex->Message),S"Error");
		return NULL;
		
	}

	return dsetBase->Copy() ;

}


//Begin Transaction
bool DBBase::blnBeginTrans (){

	transExecute = connBase->BeginTransaction(IsolationLevel::ReadCommitted);
	
	blnTrans = true;

	return true;

}

//Commit
bool DBBase::blnCommit  (){

	try{


		transExecute->Commit();
	}

	catch(Exception* ex)
	{
		MessageBox::Show(String::Concat(S"Commit Error!! \n", ex->Message),S"Error");

		try
		{
			transExecute->Rollback();
		}
		catch (OleDbException* ex)
		{
			if (transExecute->Connection != 0)
			{
			}
		}

		return false;
	
	}
	__finally 
	{
		blnTrans = false ;
	}
	return true;

}

//Rollback
bool  DBBase::blnRollBack  (){

	try
	{
		transExecute->Rollback();
	}
	catch (OleDbException* ex)
	{
		MessageBox::Show(String::Concat(S"Rollback Error!! \n", ex->Message),S"Error");

		if (transExecute->Connection != 0)
		{

		}
		return false;
	}
	__finally{

		blnTrans = false;
	}
	
	return true;
}

//SQL select for just as "Select count(*) from AAA"  etc.
//return		success   INT
//				Fail      -1
int  DBBase::intSQL_Select(String * strSQL){

	int intTmp;
	try 
	{
		cmdExecute = new OleDbCommand(strSQL,connBase);
	}

	catch (OleDbException* ex)
	{
		//MessageBox::Show(String::Concat(S"SQL Select Error!! \n", ex->Message),S"Error");
		return -1;
	}

	try
	{
		intTmp = Convert::ToInt32 ((cmdExecute->ExecuteScalar()));

	}

	catch (OleDbException *ex1) {
		return -1;
	}

	return intTmp;

}


//SQL select for just as "Select * from AAA"  etc.
//return		success   DataRow
//				Fail      NULL

DataRow *DBBase::dRowSQL_Select  (String *strSQL){
	
	DataRow * dRowTmp;

	if (strSQL->Trim()->CompareTo(S"" )==0) {
		return NULL;
	}

	DataSet * dSetTmp = dSetSQL_Select (strSQL,S"TMP",0);

	try {
		
		dRowTmp = dSetTmp->Tables->Item[S"TMP"]->Rows->Item[0];
	
	}
	catch (Exception *ex) {
		//MessageBox::Show(String::Concat(S"SQL Select Error!! \n", ex->Message),S"Error");
		return NULL;
	}

	__finally{

	}

	return dRowTmp;

}


//Open Default Connection
bool DBBase::blnCnnOpen(){
	
	//return DBBase::blnCnnOpen (S"fap",S"fap",S"fap");
	return DBBase::blnCnnOpen (S"fap153",S"fap",S"fap");
	
	//return DBBase::blnCnnOpen (S"fap150",S"fap",S"fap");

}


OleDbDataReader * DBBase::dReadSQL_Select(String * strSQL){

	OleDbDataReader *dReadTmp;
	OleDbCommand* dCmdTmp = new OleDbCommand(strSQL,connBase);

	//dCmdTmp->CommandText = strSQL;
	
	try {
		dReadTmp =  dCmdTmp->ExecuteReader();
	}
	catch (OleDbException * ex) {
		MessageBox::Show(String::Concat(S"SQL Select Error!! \n", ex->Message),S"Error");
		return dReadTmp;
	}
	return dReadTmp;

}

⌨️ 快捷键说明

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