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

📄 manager.cpp

📁 数据库编程
💻 CPP
字号:
// Manager.cpp: implementation of the CManager class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Course.h"
#include "Manager.h"
#include "Connection.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CConnection conn;
_RecordsetPtr rs;

CManager::CManager()
{

}

CManager::~CManager()
{

}

bool CManager::Search(CAdministrator &s)
{
	rs=NULL;
	conn.open();
	CString sql="select count(*) from 管理员信息 where ID号='"+s.GetNum()+"'and 密码='"+s.GetPassword()+"'";
	rs=conn.execute(sql);
	_variant_t vCount = rs->GetCollect((_variant_t)((long)0));
	if(vCount.lVal==0)
		return false;
	sql="select * from 管理员信息 where ID号='"+s.GetNum()+"'and 密码='"+s.GetPassword()+"'";
	rs=conn.execute(sql);
	_variant_t vname;
	vname=rs->GetCollect("姓名");
	s.SetName((LPCTSTR)_bstr_t(vname));
	return true;
}

bool CManager::Search(CTeacher &s)
{
	rs=NULL;
	conn.open();
	CString sql="select count(*) from 教师信息 where 教师号='"+s.GetNum()+"'and 密码='"+s.GetPassword()+"'";
	rs=conn.execute(sql);
	_variant_t vCount = rs->GetCollect((_variant_t)((long)0));
	if(vCount.lVal==0)
		return false;
	sql="select * from 教师信息 where 教师号='"+s.GetNum()+"'and 密码='"+s.GetPassword()+"'";
	rs=conn.execute(sql);
	_variant_t vname;
	vname=rs->GetCollect("教师姓名");
	s.SetName((LPCTSTR)_bstr_t(vname));
	return true; 
}

bool CManager::Search(CStudent &s)
{
	rs=NULL;
	conn.open();
	CString sql="select count(*) from 学生信息 where 学号='"+s.GetNum()+"'and 密码='"+s.GetPassword()+"'";
	rs=conn.execute(sql);
	_variant_t vCount = rs->GetCollect((_variant_t)((long)0));
	if(vCount.lVal==0)
		return false;
	sql="select * from 学生信息 where 学号='"+s.GetNum()+"'and 密码='"+s.GetPassword()+"'";
	rs=conn.execute(sql);
	_variant_t vname,vclass;
	vname=rs->GetCollect("姓名");
	vclass=rs->GetCollect("班级");
	s.Set((LPCTSTR)_bstr_t(vname),s.GetNum(),s.GetPassword(),(LPCTSTR)_bstr_t(vclass));
	return true; 
}

bool CManager::ReSearch(CAdministrator &s)
{
	rs=NULL;
	conn.open();
	CString sql="select count(*) from 管理员信息 where ID号='"+s.GetNum()+"'";
	rs=conn.execute(sql);
	_variant_t vCount = rs->GetCollect((_variant_t)((long)0));
	if(vCount.lVal==0)
		return false;
	return true; 
}

bool CManager::ReSearch(CTeacher &s)
{
	rs=NULL;
	conn.open();
	CString sql="select count(*) from 教师信息 where 教师号='"+s.GetNum()+"'";
	rs=conn.execute(sql);
	_variant_t vCount = rs->GetCollect((_variant_t)((long)0));
	if(vCount.lVal==0)
		return false;
	return true; 
}

bool CManager::ReSearch(CStudent &s)
{
	rs=NULL;
	conn.open();
	CString sql="select count(*) from 学生信息 where 学号='"+s.GetNum()+"'";
	rs=conn.execute(sql);
	_variant_t vCount = rs->GetCollect((_variant_t)((long)0));
	if(vCount.lVal==0)
		return false;
	return true; 
}

bool CManager::Search(CSC &s)
{
	rs=NULL;
	conn.open();
	CString sql="select count(*) from 选课信息 where 学号='"+s.GetStudent_id()+"'and 课程号='"+s.GetCourse_id()+"'";
	rs=conn.execute(sql);
	_variant_t vCount = rs->GetCollect((_variant_t)((long)0));
	if(vCount.lVal==0)
		return false;
	return true; 
}

bool CManager::Search(CCCourse &s)
{
	rs=NULL;
	conn.open();
	CString sql="select count(*) from 课程信息 where 课程号='"+s.GetId()+"'";
	rs=conn.execute(sql);
	_variant_t vCount = rs->GetCollect((_variant_t)((long)0));
	if(vCount.lVal==0)
		return false;
	return true; 
}

bool CManager::ReSearch(CCCourse &s)
{
	rs=NULL;
	conn.open();
	CString sql="select count(*) from 课程信息 where 课程号='"+s.GetId()+"' and 任课老师='"+s.GetTeacher()+"'";
	rs=conn.execute(sql);
	_variant_t vCount = rs->GetCollect((_variant_t)((long)0));
	if(vCount.lVal==0)
		return false;
	return true; 
}

void CManager::Add(CAdministrator s)
{
	if(ReSearch(s)){
		AfxMessageBox("该ID已被选用!");
		return ;
	}
	conn.open();
	CString sql="insert into 管理员信息(ID号,姓名,密码) values('"+s.GetNum()+"','"+s.GetName()+"','"+s.GetPassword()+"')";
	conn.executeUpdate(sql);
}

void CManager::Add(CTeacher s)
{
	if(ReSearch(s)){
		AfxMessageBox("该ID已被选用!");
		return ;
	}
	conn.open();
	CString sql="insert into 教师信息(教师号,教师姓名,密码) values('"+s.GetNum()+"','"+s.GetName()+"','"+s.GetPassword()+"')";
	conn.executeUpdate(sql);
}

void CManager::Add(CStudent s)
{
	if(ReSearch(s)){
		AfxMessageBox("该ID已被选用!");
		return ;
	}
	conn.open();
	CString sql="insert into 学生信息(学号,姓名,班级,密码) values('"+s.GetNum()+"','"+s.GetName()+"','"+s.GetClass()+"','"+s.GetPassword()+"')";
	conn.executeUpdate(sql);
}

void CManager::Add(CCCourse s)
{
	if(Search(s)){
		AfxMessageBox("该ID已被选用!");
		return ;
	}
	CString upnum,renum;
	upnum.Format("%d",s.GetUpnum());
	renum.Format("%d",s.GetRenum());
	conn.open();
	CString sql="insert into 课程信息(课程号,课程名,任课老师,已选人数,限选人数) values('"+s.GetId()+"','"+s.GetName()+"','"+s.GetTeacher()+"','"+renum+"','"+upnum+"')";
	conn.executeUpdate(sql);
}

void CManager::Add(CSC s)
{
	if(Search(s)){
		AfxMessageBox("该课程已选过!");
		return ;
	}
	CString sql;
	rs=NULL;
	conn.open();
	sql="select count(*) from 课程信息 where 课程号='"+s.GetCourse_id()+"' and 已选人数<限选人数";
	rs=conn.execute(sql);
	_variant_t vCount = rs->GetCollect((_variant_t)((long)0));
	if(vCount.lVal==0){
		AfxMessageBox("该课程不存在或者是选课已满!");
		return ;
	}
	sql="insert into 选课信息(课程号,学号) values('"+s.GetCourse_id()+"','"+s.GetStudent_id()+"')";
	conn.executeUpdate(sql);
	sql="update 课程信息 set 已选人数=已选人数+1 where 课程号='"+s.GetCourse_id()+"'";
	conn.executeUpdate(sql);
}

void CManager::Delete(CAdministrator s)
{
	conn.open();
	CString sql="delete from 管理员信息 where ID号='"+s.GetNum()+"'";	
	conn.executeUpdate(sql);
}

void CManager::Delete(CTeacher s)
{
	conn.open();
	CString sql;
	sql="delete from 选课信息 where 课程号 in (select 课程号 from 课程信息 where 任课老师 in(select 教师姓名 from 教师信息 where 教师号='"+s.GetNum()+"'))";
	conn.executeUpdate(sql);
	sql="delete from 课程信息 where 任课老师 in (select 教师姓名 from 教师信息 where 教师号='"+s.GetNum()+"')";
	conn.executeUpdate(sql);
	sql="delete from 教师信息 where 教师号='"+s.GetNum()+"'";
	conn.executeUpdate(sql);
}

void CManager::Delete(CStudent s)
{
	conn.open();
	CString sql;
	sql="update 课程信息 set 已选人数=已选人数-1 where 课程号 in (select 课程号 from 选课信息 where 学号='"+s.GetNum()+"')";
	conn.executeUpdate(sql);
	sql="delete from 选课信息 where 学号='"+s.GetNum()+"'";
	conn.executeUpdate(sql);
	sql="delete from 学生信息 where 学号='"+s.GetNum()+"'";
	conn.executeUpdate(sql);
}

void CManager::Delete(CSC s)
{
	conn.open();
	CString sql;
	sql="update 课程信息 set 已选人数=已选人数-1 where 课程号 in (select 课程号 from 选课信息 where 课程号='"+s.GetCourse_id()+"' and 学号='"+s.GetStudent_id()+"')";
	conn.executeUpdate(sql);
	sql="delete from 选课信息 where 学号='"+s.GetStudent_id()+"'and 课程号='"+s.GetCourse_id()+"'";
	conn.executeUpdate(sql);
	
}

void CManager::Delete(CCCourse s)
{
	conn.open();
	CString sql;
	sql="delete from 选课信息 where 课程号 in (select 课程号 from 课程信息 where 课程号='"+s.GetId()+"' and 任课老师='"+s.GetTeacher()+"')";
	conn.executeUpdate(sql);
	sql="delete from 课程信息 where 课程号='"+s.GetId()+"' and 任课老师='"+s.GetTeacher()+"'";
	conn.executeUpdate(sql);
}

void CManager::Modify(CAdministrator s)
{
	conn.open();
	CString sql="update  管理员信息 set 密码='"+s.GetPassword()+"' where ID号='"+s.GetNum()+"'";
	conn.executeUpdate(sql);
}

void CManager::Modify(CTeacher s)
{
	conn.open();
	CString sql="update  教师信息 set 密码='"+s.GetPassword()+"' where 教师号='"+s.GetNum()+"'";
	conn.executeUpdate(sql);
}

void CManager::Modify(CStudent s)
{
	conn.open();
	CString sql="update  学生信息 set 密码='"+s.GetPassword()+"' where 学号='"+s.GetNum()+"'";
	conn.executeUpdate(sql);
}

_RecordsetPtr CManager::CourseView()
{
	rs=NULL;
	conn.open();
	CString sql="select * from 课程信息";
	rs=conn.execute(sql);
	return rs;
}

_RecordsetPtr CManager::CourseView(CStudent s)
{
	rs=NULL;
	conn.open();
	CString sql="select * from 课程信息 where 课程号 in (select 课程号 from 选课信息 where 学号='"+s.GetNum()+"')";
	rs=conn.execute(sql);
	return rs;
}

_RecordsetPtr CManager::CourseView(CTeacher s)
{
	rs=NULL;
	conn.open();
	CString sql="select * from 课程信息 where 任课老师 in (select 教师姓名 from 教师信息 where 教师号='"+s.GetNum()+"')";
	rs=conn.execute(sql);
	return rs;
}

_RecordsetPtr CManager::StudentView(CCCourse s)
{
	rs=NULL;
	conn.open();
	CString sql="select * from 学生信息 where 学号 in (select 学号 from 选课信息 where 课程号='"+s.GetId()+"')";
	rs=conn.execute(sql);
	return rs;
}

_RecordsetPtr CManager::StudentView()
{
	rs=NULL;
	conn.open();
	CString sql="select * from 学生信息";
	rs=conn.execute(sql);
	return rs;
}

_RecordsetPtr CManager::TeacherView()
{
	rs=NULL;
	conn.open();
	CString sql="select * from 教师信息";
	rs=conn.execute(sql);
	return rs;
}

⌨️ 快捷键说明

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