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

📄 speciality.cpp

📁 VC++做的学校收费管理系统,很有参考价值,附上源码与说明文档.
💻 CPP
字号:
// Speciality.cpp: implementation of the CSpeciality class.
//
// 1 SpeId int 专业编号 Identity = Yes Allow Null = False 主键
// 2 Name varchar(50) 专业名称 Allow Null = False
// 3 DepId int 所在院系编号 Allow Null = False
// 4 Describes varchar(200) 描述 Allow Null = True
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "ChargeManage.h"
#include "Speciality.h"
#include "ADOConn.h"

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

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

CSpeciality::CSpeciality()
{
	SpeId = 0;
	Name = "";
	DepId = 0;
	Describes = "";
}

CSpeciality::~CSpeciality()
{

}

// 加载专业信息
void CSpeciality::LoadSpe()
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	
	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT * FROM Speciality ORDER BY SpeId";
	
	//执行SELETE语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	
	//初始化数组
	a_SpeId.RemoveAll();
	a_Name.RemoveAll();
	a_DepId.RemoveAll();
	
	//执行SELECT语句
	while (m_pRecordset->adoEOF == 0)
	{
		a_SpeId.Add((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("SpeId"));
		a_Name.Add((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Name"));
		a_DepId.Add((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("DepId"));
		
		m_pRecordset->MoveNext();
	}
	
	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}

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

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

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

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

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

// 判断指定的院系中是否包含学生(如果有则不能删除)
int CSpeciality::HaveStu(CString paraId)
{	
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();

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

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

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

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

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

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

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

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

	_bstr_t vSQL;
	vSQL = "INSERT INTO Speciality (Name, DepId, Describes) VALUES('" 
		+ Name + "', " + strDepId + ", '" + Describes + "')";
	
	//执行INSERT语句
	m_AdoConn.ExecuteSQL(vSQL);	

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

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

	//设置UPDATE语句
	_bstr_t vSQL;
	vSQL = "UPDATE Speciality SET Name = '" + Name 
		+ "', Describes = '" + Describes + "' WHERE SpeId = " + paraId;

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

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

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

	//设置DELETE语句
	_bstr_t vSQL;
	vSQL = "DELETE FROM Speciality WHERE SpeId = " + paraId;

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

	//断开与数据库的连接
	m_AdoConn.ExitConnect();
}
CString CSpeciality::GetDepName(CString paraId)
{
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();

	//设置SELECT语句
	_bstr_t vSQL;
	vSQL = "SELECT (d1.DepName+'-'+d.DepName) AS dName"
		" FROM Speciality s,DepInfo d,DepInfo d1"
		" WHERE s.DepId=d.DepId And d.UID=d1.DepId And s.SpeId = " + paraId;
	
	//执行SELECT语句
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);

	if (m_pRecordset->adoEOF)
		return "";
	else
		return (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("dName");

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

⌨️ 快捷键说明

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