📄 stuinfomana.cpp
字号:
// StuInfoMana.cpp : implementation file
//
#include "stdafx.h"
#include "教学管理系统.h"
#include "StuInfoMana.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// StuInfoMana dialog
StuInfoMana::StuInfoMana(CWnd* pParent /*=NULL*/)
: CDialog(StuInfoMana::IDD, pParent)
{
//{{AFX_DATA_INIT(StuInfoMana)
number = _T("");
name = _T("");
sex = _T("");
birth = _T("");
entrygrade = _T("");
sdeptnumber = _T("");
inputnumber = _T("");
//}}AFX_DATA_INIT
}
void StuInfoMana::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(StuInfoMana)
DDX_Text(pDX, IDC_EDIT_NO, number);
DDX_Text(pDX, IDC_EDIT_NAME, name);
DDX_Text(pDX, IDC_EDIT_SEX, sex);
DDX_Text(pDX, IDC_EDIT_DATE, birth);
DDX_Text(pDX, IDC_EDIT_GRADE, entrygrade);
DDX_Text(pDX, IDC_EDIT_DEPT, sdeptnumber);
DDX_Text(pDX, IDC_EDIT_INPUT, inputnumber);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(StuInfoMana, CDialog)
//{{AFX_MSG_MAP(StuInfoMana)
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_INPUT, OnButtonInput)
ON_BN_CLICKED(IDC_BUTTON_OUTPUT, OnButtonOutput)
ON_BN_CLICKED(IDC_BUTTON_GRADUATE, OnButtonGraduate)
ON_BN_CLICKED(IDC_BUTTON_HISTORY, OnButtonHistory)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// StuInfoMana message handlers
void StuInfoMana::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="";
sex="";
birth="";
entrygrade="";
sdeptnumber="";
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;
sex=TheValue.bstrVal;
TheValue = connection.m_pRecordset->Fields->GetItem("出生日期")->Value;
birth=TheValue.bstrVal;
TheValue = connection.m_pRecordset->Fields->GetItem("入学成绩")->Value;
entrygrade=TheValue.bstrVal;
TheValue = connection.m_pRecordset->Fields->GetItem("所在系号")->Value;
sdeptnumber=TheValue.bstrVal;
UpdateData(FALSE);
connection.m_pRecordset->MoveNext();
}
connection.Unitialize();
}
void StuInfoMana::OnButtonAdd()
{
// TODO: Add your control notification handler code here
CString student;
UpdateData(TRUE);
if(number.IsEmpty())
{
AfxMessageBox("请输入学号");
return;
}
if(name.IsEmpty())
{
name="空";
}
if(sex.IsEmpty())
sex="空";
if(birth.IsEmpty())
birth="空";
if(entrygrade.IsEmpty())
entrygrade="空";
if(sdeptnumber.IsEmpty())
sdeptnumber="空";
connection.Initialize();
student.Format("select * from 系 where 系号='%s'",sdeptnumber);
connection.Connect(student);
if(connection.m_pRecordset->adoEOF)
{
AfxMessageBox("没有该系资料");
connection.Unitialize();
return;
}
connection.Unitialize();
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(sex));
connection.m_pRecordset->PutCollect("出生日期",_variant_t(birth));
connection.m_pRecordset->PutCollect("入学成绩",_variant_t(entrygrade));
connection.m_pRecordset->PutCollect("所在系号",_variant_t(sdeptnumber));
connection.m_pRecordset->Update();
connection.Unitialize();
connection.Initialize();
student.Format("select * from 学生登录 ");
connection.Connect(student);
connection.m_pRecordset->AddNew();///添加新记录
connection.m_pRecordset->PutCollect("学生id",_variant_t(number));
connection.m_pRecordset->PutCollect("密码",_variant_t(number));
connection.m_pRecordset->Update();
connection.Unitialize();
MessageBox("学生录入成功");
}
void StuInfoMana::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;
}
connection1.Initialize();
student.Format("select * from 系 where 系号='%s'",sdeptnumber);
connection1.Connect(student);
if(connection1.m_pRecordset->adoEOF)
{
AfxMessageBox("没有该系资料");
connection1.Unitialize();
return;
}
connection1.Unitialize();
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(sex);
connection.m_pRecordset->Fields->GetItem(_variant_t("出生日期"))->Value=_bstr_t(birth);
connection.m_pRecordset->Fields->GetItem(_variant_t("入学成绩"))->Value=_bstr_t(entrygrade);
connection.m_pRecordset->Fields->GetItem(_variant_t("所在系号"))->Value=_bstr_t(sdeptnumber);
connection.m_pRecordset->Update();
MessageBox("资料修改成功");
connection.Unitialize();
}
void StuInfoMana::OnButtonInput()
{
// TODO: Add your control notification handler code here
CString student;
COleDateTime dt= COleDateTime::GetCurrentTime();
CString currentDT=dt.Format();
UpdateData(TRUE);
if(number.IsEmpty())
{
AfxMessageBox("请输入学号");
return;
}
if(name.IsEmpty())
{
name="空";
}
if(sex.IsEmpty())
sex="空";
if(birth.IsEmpty())
birth="空";
if(entrygrade.IsEmpty())
entrygrade="空";
if(sdeptnumber.IsEmpty())
sdeptnumber="空";
connection.Initialize();
student.Format("select * from 系 where 系号='%s'",sdeptnumber);
connection.Connect(student);
if(connection.m_pRecordset->adoEOF)
{
AfxMessageBox("没有该系资料");
connection.Unitialize();
return;
}
connection.Unitialize();
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(sex));
connection.m_pRecordset->PutCollect("出生日期",_variant_t(birth));
connection.m_pRecordset->PutCollect("入学成绩",_variant_t(entrygrade));
connection.m_pRecordset->PutCollect("所在系号",_variant_t(sdeptnumber));
connection.m_pRecordset->Update();
connection.Unitialize();
connection.Initialize();
student.Format("select * from 学生历史");
connection.Connect(student);
connection.m_pRecordset->AddNew();///添加新记录
connection.m_pRecordset->PutCollect("学号",_variant_t(number));
connection.m_pRecordset->PutCollect("类别",_variant_t("转入"));
connection.m_pRecordset->PutCollect("时间",_variant_t(currentDT));
connection.m_pRecordset->Update();
connection.Unitialize();
connection.Initialize();
student.Format("select * from 学生登录 ");
connection.Connect(student);
connection.m_pRecordset->AddNew();///添加新记录
connection.m_pRecordset->PutCollect("学生id",_variant_t(number));
connection.m_pRecordset->PutCollect("密码",_variant_t(number));
connection.m_pRecordset->Update();
connection.Unitialize();
MessageBox("学生转入成功");
}
void StuInfoMana::OnButtonOutput()
{
// TODO: Add your control notification handler code here
CString sSql;
COleDateTime dt= COleDateTime::GetCurrentTime();
CString currentDT=dt.Format();
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();
tag=1;
connection.Initialize();
sSql.Format("select * from 成绩 where 学号='%s'",number);
connection.Connect(sSql);
if(connection.m_pRecordset->adoEOF)
{
tag=0;
}
if(tag==1)
{
connection.m_pRecordset->MoveFirst();
while(!connection.m_pRecordset->adoEOF)
{
connection.m_pRecordset->Delete(adAffectCurrent);///删除当前记录
connection.m_pRecordset->Update();
connection.m_pRecordset->MoveNext();
}
}
connection.Unitialize();
tag=1;
connection.Initialize();
sSql.Format("select * from 选修 where 学号='%s'",number);
connection.Connect(sSql);
if(connection.m_pRecordset->adoEOF)
{
tag=0;
}
if(tag==1)
{
connection.m_pRecordset->MoveFirst();
while(!connection.m_pRecordset->adoEOF)
{
connection.m_pRecordset->Delete(adAffectCurrent);///删除当前记录
connection.m_pRecordset->Update();
connection.m_pRecordset->MoveNext();
}
}
connection.Unitialize();
connection.Initialize();
sSql.Format("select * from 学生登录 where 学生id='%s'",number);
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();
connection.Initialize();
sSql.Format("select * from 学生历史");
connection.Connect(sSql);
connection.m_pRecordset->AddNew();///添加新记录
connection.m_pRecordset->PutCollect("学号",_variant_t(number));
connection.m_pRecordset->PutCollect("类别",_variant_t("转出"));
connection.m_pRecordset->PutCollect("时间",_variant_t(currentDT));
connection.m_pRecordset->Update();
connection.Unitialize();
number="";
name="";
sex="";
birth="";
entrygrade="";
sdeptnumber="";
UpdateData(FALSE);
MessageBox("学生转出成功");
}
}
void StuInfoMana::OnButtonGraduate()
{
// TODO: Add your control notification handler code here
CString sSql;
COleDateTime dt= COleDateTime::GetCurrentTime();
CString currentDT=dt.Format();
UpdateData(TRUE);
if(number.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();
connection.Initialize();
sSql.Format("select * from 学生历史");
connection.Connect(sSql);
connection.m_pRecordset->AddNew();///添加新记录
connection.m_pRecordset->PutCollect("学号",_variant_t(number));
connection.m_pRecordset->PutCollect("类别",_variant_t("毕业"));
connection.m_pRecordset->PutCollect("时间",_variant_t(currentDT));
connection.m_pRecordset->Update();
connection.Unitialize();
tag=1;
connection.Initialize();
sSql.Format("select * from 成绩 where 学号='%s'",number);
connection.Connect(sSql);
if(connection.m_pRecordset->adoEOF)
{
tag=0;
}
if(tag==1)
{
connection.m_pRecordset->MoveFirst();
while(!connection.m_pRecordset->adoEOF)
{
connection.m_pRecordset->Delete(adAffectCurrent);///删除当前记录
connection.m_pRecordset->Update();
connection.m_pRecordset->MoveNext();
}
}
connection.Unitialize();
tag=1;
connection.Initialize();
sSql.Format("select * from 选修 where 学号='%s'",number);
connection.Connect(sSql);
if(connection.m_pRecordset->adoEOF)
{
tag=0;
}
if(tag==1)
{
connection.m_pRecordset->MoveFirst();
while(!connection.m_pRecordset->adoEOF)
{
connection.m_pRecordset->Delete(adAffectCurrent);///删除当前记录
connection.m_pRecordset->Update();
connection.m_pRecordset->MoveNext();
}
}
connection.Unitialize();
number="";
name="";
sex="";
birth="";
entrygrade="";
sdeptnumber="";
UpdateData(FALSE);
connection.Initialize();
sSql.Format("select * from 学生登录 where 学生id='%s'",number);
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();
MessageBox("学生毕业处理成功");
}
}
void StuInfoMana::OnButtonHistory()
{
// TODO: Add your control notification handler code here
history.DoModal();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -