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

📄 sdeptinfomana.cpp

📁 分管理员和学生界面
💻 CPP
字号:
// SdeptInfoMana.cpp : implementation file
//

#include "stdafx.h"
#include "教学管理系统.h"
#include "SdeptInfoMana.h"

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

/////////////////////////////////////////////////////////////////////////////
// SdeptInfoMana dialog


SdeptInfoMana::SdeptInfoMana(CWnd* pParent /*=NULL*/)
	: CDialog(SdeptInfoMana::IDD, pParent)
{
	//{{AFX_DATA_INIT(SdeptInfoMana)
	number = _T("");
	name = _T("");
	inputnumber = _T("");
	description = _T("");
	//}}AFX_DATA_INIT
}


void SdeptInfoMana::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(SdeptInfoMana)
	DDX_Text(pDX, IDC_EDIT_NO, number);
	DDX_Text(pDX, IDC_EDIT_NAME, name);
	DDX_Text(pDX, IDC_EDIT_INPUT, inputnumber);
	DDX_Text(pDX, IDC_EDIT_BODY, description);
	//}}AFX_DATA_MAP
}

BOOL SdeptInfoMana::OnInitDialog()
{
	CDialog::OnInitDialog();
     number="";inputnumber="";
     name="";
     description="";

	 UpdateData(FALSE);	
	// TODO:  在此添加额外的初始化

	return TRUE;  // return TRUE unless you set the focus to a control
	// 异常: OCX 属性页应返回 FALSE
}

BEGIN_MESSAGE_MAP(SdeptInfoMana, CDialog)
	//{{AFX_MSG_MAP(SdeptInfoMana)
	ON_BN_CLICKED(IDC_BUTTON_QUERY, OnButtonQuery)
	ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)
	ON_BN_CLICKED(IDC_BUTTON_MODIFY, OnButtonModify)
	ON_BN_CLICKED(IDC_BUTTON_DELETE, OnButtonDelete)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// SdeptInfoMana message handlers

void SdeptInfoMana::OnButtonQuery() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(inputnumber.IsEmpty())
	{
		AfxMessageBox("请输入系号");
		return;
	}
	connection.Initialize();
	CString student;
	student.Format("select * from 系 where 系号='%s'",inputnumber);
	connection.Connect(student);
	if(connection.m_pRecordset->adoEOF)
	{
		AfxMessageBox("没有该系的资料");
		number="";
		name="";
		description="";
		UpdateData(FALSE);
		connection.Unitialize();	
		return;
	}
	connection.m_pRecordset->MoveFirst();
	while(!connection.m_pRecordset->adoEOF)
	{     
		_variant_t TheValue; 		
        TheValue = connection.m_pRecordset->Fields->GetItem("系号")->Value;
		number=TheValue.bstrVal;
		
		TheValue = connection.m_pRecordset->Fields->GetItem("系名称")->Value;
		name=TheValue.bstrVal;
		
		TheValue = connection.m_pRecordset->Fields->GetItem("系的简介")->Value;
		description=TheValue.bstrVal;	
		
        UpdateData(FALSE);
		connection.m_pRecordset->MoveNext();
	}
    connection.Unitialize();
}

void SdeptInfoMana::OnButtonAdd() 
{
	// TODO: Add your control notification handler code here
	CString student; 
	UpdateData(TRUE);
	if(number.IsEmpty())
	{
		AfxMessageBox("请输入系号");
		return;
	}
	if(name.IsEmpty())
	{
		name="空";
	}
	if(description.IsEmpty())
		description="空";
	connection.Initialize();
	student.Format("select * from 系 where 系号='%s'",number);
	connection.Connect(student);
	if(!(connection.m_pRecordset->adoEOF))
	{
		AfxMessageBox("已有该系号的资料,不可重复录入");
		connection.Unitialize();
		return;
	}  
	connection.m_pRecordset->AddNew();///添加新记录 
	connection.m_pRecordset->PutCollect("系号",_variant_t(number));
	connection.m_pRecordset->PutCollect("系名称",_variant_t(name));
	connection.m_pRecordset->PutCollect("系的简介",_variant_t(description));
	connection.m_pRecordset->Update();
	connection.Unitialize();
	MessageBox("系录入成功");
}

void SdeptInfoMana::OnButtonModify() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(number.IsEmpty())
	{
		AfxMessageBox("请输入系号");
		return;
	}
	connection.Initialize();
	CString student;
	student.Format("select * from 系 where 系号='%s'",number);
	connection.Connect(student);
	if(connection.m_pRecordset->adoEOF)		
	{
		AfxMessageBox("没有该系的资料,修改失败");
		connection.Unitialize();return;
	}
	connection.m_pRecordset->Fields->GetItem(_variant_t("系号"))->Value=_bstr_t(number);
	connection.m_pRecordset->Fields->GetItem(_variant_t("系名称"))->Value=_bstr_t(name);
	connection.m_pRecordset->Fields->GetItem(_variant_t("系的简介"))->Value=_bstr_t(description);
	connection.m_pRecordset->Update();
    MessageBox("资料修改成功");
    connection.Unitialize();
}

void SdeptInfoMana::OnButtonDelete() 
{
	// TODO: Add your control notification handler code here
	CString sSql; 
	UpdateData(TRUE);
	if(inputnumber.IsEmpty())
	{
		AfxMessageBox("请输入系号");
		return;
	}
	connection.Initialize();
    sSql.Format("select * from 系 where 系号='%s'",number);
    connection.Connect(sSql);
	if((connection.m_pRecordset->adoEOF))
	{
		AfxMessageBox("没有该系号的资料");
		connection.Unitialize();
		return;
	}
    if(AfxMessageBox("确定删除该系吗?",MB_YESNO) == IDYES)
	{
		connection.m_pRecordset->Delete(adAffectCurrent);///删除当前记录
		connection.m_pRecordset->Update();
		connection.Unitialize();
		connection2.Initialize();
		sSql.Format("select * from 教职工 where 所在系号='%s'",number);
		connection2.Connect(sSql);
		connection2.m_pRecordset->MoveFirst();
		while(!connection2.m_pRecordset->adoEOF)
		{  
			_variant_t TheValue;
			CString teachernumber="";
			TheValue = connection2.m_pRecordset->Fields->GetItem("职工号")->Value;
			teachernumber=TheValue.bstrVal;
			connection2.m_pRecordset->Delete(adAffectCurrent);///删除当前记录
			connection2.m_pRecordset->Update();
			connection.Initialize();
			sSql.Format("select * from 选修 where 教师号='%s'",teachernumber);
			connection.Connect(sSql);
			connection.m_pRecordset->MoveFirst();
			while(!connection.m_pRecordset->adoEOF)
			{   
				_variant_t TheValue; 
				CString num="",coursenumber="";
				TheValue = connection.m_pRecordset->Fields->GetItem("课程号")->Value;
				coursenumber=TheValue.bstrVal;	
				TheValue = connection.m_pRecordset->Fields->GetItem("学号")->Value;
				num=TheValue.bstrVal;
				connection.m_pRecordset->Delete(adAffectCurrent);///删除当前记录
				connection.m_pRecordset->Update();
				connection1.Initialize();
				sSql.Format("select * from 教学 where 职工号='%s'",teachernumber);
				connection1.Connect(sSql);
				if(!(connection1.m_pRecordset->adoEOF))
				{ 
					connection1.m_pRecordset->Delete(adAffectCurrent);///删除当前记录
					connection1.m_pRecordset->Update();
				}
				connection1.Unitialize();   
				connection1.Initialize();
				sSql.Format("select * from 成绩 where 学号='%s'and 课程号='%s'",num,coursenumber);
				connection1.Connect(sSql);
				if(!(connection1.m_pRecordset->adoEOF))
				{ 
					connection1.m_pRecordset->Delete(adAffectCurrent);///删除当前记录
					connection1.m_pRecordset->Update();
				}
				connection1.Unitialize();   
				connection.m_pRecordset->MoveNext();
			}
			connection.Unitialize();
			connection2.m_pRecordset->MoveNext();
		}
		connection2.Unitialize();  
		CString num="";
		connection2.Initialize();
		sSql.Format("select * from 学生 where 所在系号='%s'",number);
		connection2.Connect(sSql);
		connection2.m_pRecordset->MoveFirst();
		while(!connection2.m_pRecordset->adoEOF)
		{ 
			_variant_t TheValue; 	
			TheValue = connection2.m_pRecordset->Fields->GetItem("学号")->Value;
			num=TheValue.bstrVal;
			connection2.m_pRecordset->Delete(adAffectCurrent);///删除当前记录
			connection2.m_pRecordset->Update();
			try
			{
				connection.Initialize();
				sSql.Format("select * from 选修 where 学号='%s'",num);
				connection.Connect(sSql);	
				connection.m_pRecordset->MoveFirst();
				while(!connection.m_pRecordset->adoEOF)
				{ 
					connection.m_pRecordset->Delete(adAffectCurrent);///删除当前记录
					connection.m_pRecordset->Update();
					connection.m_pRecordset->MoveNext();
				}
				connection.Unitialize();
			}
			catch(_com_error e)
			{}
			try{
				connection1.Initialize();
				sSql.Format("select * from 成绩 where 学号='%s'",num);
				connection1.Connect(sSql);
				connection1.m_pRecordset->MoveFirst();
				while(!connection1.m_pRecordset->adoEOF)
				{ 
					connection1.m_pRecordset->Delete(adAffectCurrent);///删除当前记录
					connection1.m_pRecordset->Update();
					connection1.m_pRecordset->MoveNext();
				}
				connection1.Unitialize();   
			}
			catch(_com_error e)
			{}
			connection2.m_pRecordset->MoveNext();
		}
		connection2.Unitialize();   
		number="";
		name="";
		description="";
		inputnumber="";
		UpdateData(FALSE);	
		MessageBox("删除成功");
    }
}

⌨️ 快捷键说明

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