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

📄 depinfo.cpp

📁 visual c++与sql Server数据库开发考勤管理系统
💻 CPP
字号:
// DepInfo.cpp: implementation of the CDepInfo class.
//
// 1 DepId int 所在部门编号 Identity = Yes Allow Null = False 主键
// 2 DepName varchar(50) 部门名称 Allow Null = False
// 3 Describes varchar(250) 描述 Allow Null = True
// 4 UID int 上级部门编号 Allow Null = False
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "CheckManage.h"
#include "DepInfo.h"
#include "ADOConn.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDepInfo::CDepInfo()
{
	DepId = 0;
	DepName = "";
	Describes = "";
	UID = 0;
}

CDepInfo::~CDepInfo()
{

}

// 读取所有部门编号、名称和上级部门编号等信息到数组对象CStringArray
void CDepInfo::LoadDep()
{	
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();

	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM DepInfo ORDER BY UID";
	
	//执行SELETE语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);

	//初始化数组
	a_DepName.RemoveAll();
	a_DepId.RemoveAll();
	a_UID.RemoveAll();

	//执行SELECT语句
	while (m_pRecordset->adoEOF == 0)
	{
		a_DepId.Add((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("DepId"));
		a_DepName.Add((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("DepName"));
		a_UID.Add((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("UID"));

		m_pRecordset->MoveNext();
	}

	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

// 判断指定的部门名称是否存在
int CDepInfo::HaveName(CString paraName)
{	
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();

	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM DepInfo WHERE DepName = '" + paraName + "'";

	//执行SELECT语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);

	if (m_pRecordset->adoEOF)
		return -1;
	else
		return 1;

	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

// 判断指定的部门是否包含下级部门(如果包含则不能删除)
int CDepInfo::HaveSon(CString paraId)
{	
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();

	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM DepInfo WHERE UID = " + paraId;
	
	//执行SELECT语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);

	if (m_pRecordset->adoEOF)
		return -1;
	else
		return 1;

	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

// 判断指定的部门中是否包含员工(如果有则不能删除)
int CDepInfo::HaveEmp(CString paraId)
{	
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();

	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM EmpInfo WHERE DepId = " + paraId;
	
	//执行SELECT语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);

	if (m_pRecordset->adoEOF)
		return -1;
	else
		return 1;

	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

//根据部门编号读取所有字段值
void CDepInfo::GetInfo(CString paraId)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();

	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM DepInfo WHERE DepId = " + paraId;

	//执行SELETE语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	
	//返回各列的值
	if (m_pRecordset->adoEOF)
		CDepInfo();
	else
	{
		DepId = atol(paraId);
		DepName = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("DepName");
		Describes = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Describes");
		UID = atol((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("UID"));
	}
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

// 插入操作
long CDepInfo::SqlInsert()
{	
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();

	//设置INSERT语句
	CString strUID;
	strUID.Format("%d", UID);

	_bstr_t vSQL;
	vSQL = "INSERT INTO DepInfo (DepName, Describes, UID) VALUES('" 
		+ DepName + "','" + Describes + "'," + strUID + ")";
	
	//执行INSERT语句
	m_AdoConn.ExecuteSQL(vSQL);	

	//读取最大编号
	long lDepId;
	vSQL = "SELECT MAX(DepId) AS MaxId FROM DepInfo";	

	//执行SELETE语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);

	//返回各列的值
	if (m_pRecordset->adoEOF)
		lDepId = 0;
	else
		lDepId = atol((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("MaxId"));

	//断开与数据库的连接
	m_AdoConn.ExitConnect();

	return lDepId;
}

// 更新数据
void CDepInfo::SqlUpdate(CString paraId)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();

	//设置UPDATE语句
	_bstr_t vSQL;
	vSQL = "UPDATE DepInfo SET DepName = '" + DepName 
		+ "', Describes = '" + Describes + "' WHERE DepId = " + paraId;

	//执行UPDATE语句
	m_AdoConn.ExecuteSQL(vSQL);	

	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

// 删除操作
void CDepInfo::SqlDelete(CString paraId)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();

	//设置DELETE语句
	_bstr_t vSQL;
	vSQL = "DELETE FROM DepInfo WHERE DepId = " + paraId;

	//执行DELETE语句
	m_AdoConn.ExecuteSQL(vSQL);	

	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

⌨️ 快捷键说明

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