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

📄 operationdeploy.cpp

📁 员工信息管理系统的业务逻辑VC++代码
💻 CPP
字号:
// OperationDeploy.cpp : Defines the entry point for the DLL application.
//

#include "stdafx.h"
#include "OperationDeploy.h"
#include <stdio.h>
#define MAX_SQL 4096

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
    switch (ul_reason_for_call)
	{
		case DLL_PROCESS_ATTACH:
		case DLL_THREAD_ATTACH:
		case DLL_THREAD_DETACH:
		case DLL_PROCESS_DETACH:
			break;
    }
    return TRUE;
}

//全局对象
CDataManage m_DataManage;

//全局导出函数
extern "C" CDataManage* WINAPI GetDataManage()
{
	return &m_DataManage;
}

extern "C"  CComStuff* WINAPI CreateStuff()
{
	return new CStuff();
}


extern "C" CStuffManage* WINAPI CreateStuffManage()
{
	return new CStuffManage();
}



CDataManage::CDataManage()
{
	//初始化COM
	::CoInitialize(NULL);
	
	//创建ADO对象	
	m_pConnect.CreateInstance("ADODB.Connection");
	m_pRecordset.CreateInstance("ADODB.Recordset");
	m_pCommand.CreateInstance("ADODB.Command");
}

CDataManage::~CDataManage()
{
	m_pConnect->Close();
	::CoUninitialize();	
}

BOOL CDataManage::InitDatabase(LPCTSTR strConnect)
{
	//连接数据库
	m_pConnect->ConnectionString = strConnect;
	try
	{
		m_pConnect->Open("","","",-1);
		return TRUE;
	}
	catch(...)
	{
		return FALSE;
	}
}

//执行查询操作
void CDataManage::ExecSelect(LPCTSTR selSQL, _RecordsetPtr* pRecord)
{
	(*pRecord)->Open((_variant_t)selSQL,m_pConnect.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
	// m_pConnect->Execute((_bstr_t)selSQL,NULL,0);
}

//执行添加\修改\删除操作
BOOL CDataManage::ExecOpt(LPCTSTR optSQL)
{
	try
	{
		m_pConnect->Execute((_bstr_t)optSQL,NULL,0);
		return TRUE;
	}
	catch(...)
	{
		return FALSE;
	}
}

CStuffManage::CStuffManage()
{

}

CStuffManage::~CStuffManage()
{

}
void __stdcall CStuffManage::FreeSelf()
{
	delete this;
}
//合法性检查
BOOL CStuffManage::ValidCheck(CStuff **stuff)
{
	if (strlen( (*stuff)->GetKnowledge())==0 || strlen( (*stuff)->GetSex())==0
		|| strlen((*stuff)->GetName())==0||(*stuff)->GetWage()<0)
		return FALSE;
	else
		return TRUE;
}

//添加员工信息
BOOL CStuffManage::AddStuff(CStuff **stuff)
{
	char* sql =  new char[MAX_SQL];
	sprintf(sql,"insert into tb_StuffInfo values (%i, '%s','%s','%s',%f)",(*stuff)->GetID(),(*stuff)->GetName(),
		(*stuff)->GetSex(),(*stuff)->GetKnowledge(),(*stuff)->GetWage());
	try
	{
		m_DataManage.ExecOpt(sql);
		delete []sql;
		return TRUE;	
	}
	catch(...)
	{
		delete []sql;
		return FALSE;
	}
}
//初始化员工信息
void CStuffManage::IniStuff(CStuff **stuff)
{
	(*stuff)->SetID(0);
	(*stuff)->SetName("");
	(*stuff)->SetKnowledge("");
	(*stuff)->SetSex("");
	(*stuff)->SetWage(0.0);
}

//修改员工信息
BOOL CStuffManage::UpdateStuff(CStuff **stuff,CStuff **oldstuff)
{
	char* sql =  new char[MAX_SQL];
	sprintf(sql,"update tb_StuffInfo set id = %i, name = '%s',sex = '%s', knowledge = '%s',wage = %f where id = '%s'",(*stuff)->GetID(),(*stuff)->GetName(),
		(*stuff)->GetSex(),(*stuff)->GetKnowledge(),(*stuff)->GetWage(),(*stuff)->GetID());
	try
	{
		m_DataManage.ExecOpt(sql);
		delete []sql;
		return TRUE;	
	}
	catch(...)
	{
		delete []sql;
		return FALSE;
	}
}

//删除员工信息
BOOL CStuffManage::DeleteStuff(CStuff** stuff)
{

	char* sql =  new char[MAX_SQL];
	sprintf(sql,"delete  tb_StuffInfo  where id = '%d' ",(*stuff)->GetID());
	try
	{
		m_DataManage.ExecOpt(sql);
		delete [] sql;
		return TRUE;	
	}
	catch(...)
	{
		delete [] sql;
		return FALSE ;
	}
}

//查询员工信息
void CStuffManage::SelectStuff(_RecordsetPtr** pRecord)
{
	 m_DataManage.ExecSelect("select * from tb_StuffInfo",(_RecordsetPtr*)*pRecord);
}

⌨️ 快捷键说明

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