📄 studentgrademanage.cpp
字号:
// StudentGradeManage.cpp : implementation file
//
#include "stdafx.h"
#include "cj.h"
#include "StudentGradeManage.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CStudentGradeManage dialog
CStudentGradeManage::CStudentGradeManage(CWnd* pParent /*=NULL*/)
: CDialog(CStudentGradeManage::IDD, pParent)
{
//{{AFX_DATA_INIT(CStudentGradeManage)
m_StrstudentID = _T("");
m_grade = _T("");
//}}AFX_DATA_INIT
}
void CStudentGradeManage::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CStudentGradeManage)
DDX_Control(pDX, IDC_cob_StudentID, m_studentID);
DDX_Control(pDX, IDC_cob_XueQi, m_xueqi);
DDX_Control(pDX, IDC_cob_XUEJie, m_xuejie);
DDX_Control(pDX, IDC_cob_XiBie, m_xibie);
DDX_Control(pDX, IDC_cob_Kemu, m_kemu);
DDX_Control(pDX, IDC_cob_Class, m_class);
DDX_Control(pDX, IDC_CHECK_Lock, m_LockChecked);
DDX_CBString(pDX, IDC_cob_StudentID, m_StrstudentID);
DDX_Text(pDX, IDC_edit_Grade, m_grade);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CStudentGradeManage, CDialog)
//{{AFX_MSG_MAP(CStudentGradeManage)
ON_BN_CLICKED(IDC_cmd_JieSuo, OncmdJieSuo)
ON_BN_CLICKED(IDC_Delete, OnDelete)
ON_BN_CLICKED(IDC_Find, OnFind)
ON_BN_CLICKED(IDC_Modif, OnModif)
ON_CBN_SELCHANGE(IDC_cob_XUEJie, OnSelchangecobXUEJie)
ON_CBN_SELCHANGE(IDC_cob_XiBie, OnSelchangecobXiBie)
ON_CBN_SELCHANGE(IDC_cob_Class, OnSelchangecobClass)
ON_CBN_SELCHANGE(IDC_cob_Kemu, OnSelchangecobKemu)
ON_CBN_SELCHANGE(IDC_cob_XueQi, OnSelchangecobXueQi)
ON_CBN_SELCHANGE(IDC_cob_StudentID, OnSelchangecobStudentID)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CStudentGradeManage message handlers
BOOL CStudentGradeManage::OnInitDialog()
{
CDialog::OnInitDialog();
//设置学界的下拉框所取的值。
if(!m_database.Open(_T("student"))) return false;
CRecordset rs(&m_database);
CString str;
rs.Open(CRecordset::forwardOnly,"select 学界名称 from 学界");
while(!rs.IsEOF())
{
rs.GetFieldValue("学界名称",str);
m_xuejie.AddString(str);
rs.MoveNext();
}
rs.Close();
//设置系别下拉框所取的值
rs.Open(CRecordset::forwardOnly,"select 系别名称 from 系别");
while(!rs.IsEOF())
{
rs.GetFieldValue("系别名称",str);
m_xibie.AddString(str);
rs.MoveNext();
}
rs.Close();
//设置班级下拉框所取的值
rs.Open(CRecordset::forwardOnly,"select 班级名称 from 班级");
while(!rs.IsEOF())
{
rs.GetFieldValue("班级名称",str);
m_class.AddString(str);
rs.MoveNext();
}
rs.Close();
//设置学期下拉框所取的值
rs.Open(CRecordset::forwardOnly,"select 学期 from 学期");
while(!rs.IsEOF())
{
rs.GetFieldValue("学期",str);
m_xueqi.AddString(str);
rs.MoveNext();
}
rs.Close();
//设置初始值
m_xueqi.SetCurSel(0);
m_xuejie.SetCurSel(0);
m_xibie.SetCurSel(0);
m_class.SetCurSel(0);
DataSetKemu();
DataSetStudentID();
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CStudentGradeManage::OncmdJieSuo()
{
m_LockChecked.SetCheck(0);//复选框设置为不选
m_xuejie.ResetContent();//清空
m_xibie.ResetContent();//清空系别组合框中的所有项
m_class.ResetContent();//清空班级组合框中的所有项
m_xueqi.ResetContent();//清空学期组合框中的所有项
m_kemu.ResetContent();//清空科目组合框中的所有项
m_studentID.ResetContent();//清空学号组合框中的所有项
CRecordset rs(&m_database);
CString str;
rs.Open(CRecordset::forwardOnly,"select 学界名称 from 学界");
while(!rs.IsEOF())
{
rs.GetFieldValue("学界名称",str);
m_xuejie.AddString(str);
rs.MoveNext();
}
rs.Close();
//设置系别下拉框所取的值
rs.Open(CRecordset::forwardOnly,"select 系别名称 from 系别");
while(!rs.IsEOF())
{
rs.GetFieldValue("系别名称",str);
m_xibie.AddString(str);
rs.MoveNext();
}
rs.Close();
//设置班级下拉框所取的值
rs.Open(CRecordset::forwardOnly,"select 班级名称 from 班级");
while(!rs.IsEOF())
{
rs.GetFieldValue("班级名称",str);
m_class.AddString(str);
rs.MoveNext();
}
rs.Close();
//设置学期下拉框所取的值
rs.Open(CRecordset::forwardOnly,"select 学期 from 学期");
while(!rs.IsEOF())
{
rs.GetFieldValue("学期",str);
m_xueqi.AddString(str);
rs.MoveNext();
}
rs.Close();
//设置初始值
m_xueqi.SetCurSel(0);
m_xuejie.SetCurSel(0);
m_xibie.SetCurSel(0);
m_class.SetCurSel(0);
DataSetKemu();
DataSetStudentID();
m_grade=_T("");
UpdateData(FALSE);
}
void CStudentGradeManage::OnDelete()
{
UpdateData();//更新变量的值
DataGetFourNow();//得到学界,学期,系别,班级
m_kemu.GetLBText(m_kemu.GetCurSel(),strKemu);//得到科目
DataChecked();//判定锁定
sscanf(m_grade,"%f",&f_grade);
CRecordset rs(&m_database);
if((m_StrstudentID.IsEmpty())||(m_grade.IsEmpty()))
{
MessageBox("操作有误!您不能修改空信息!","系统提示:",MB_OK|MB_ICONASTERISK);
m_StrstudentID=_T("");
}
else
{
rs.Open(CRecordset::forwardOnly,
"select * from 学生表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学号ID='"+m_StrstudentID+"'");
icount=rs.GetRecordCount();
rs.Close();
if(icount==0)
{
MessageBox("不存在此学号!请进行添加工作!","系统提示:",MB_OK|MB_ICONASTERISK);
m_StrstudentID=_T("");
}
else
{
rs.Open(CRecordset::forwardOnly,
"select * from 成绩表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 学号ID='"+m_StrstudentID+"' and 考试科目名称='"+strKemu+"'");
count=rs.GetRecordCount();
rs.Close();
if(count==0)
{
MessageBox("您的输入有误!","系统提示:",MB_OK|MB_ICONASTERISK);
}
else
{
SQL="delete from 成绩表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 学号ID='"+m_StrstudentID+"' and 考试科目名称='"+strKemu+"'";
if(MessageBox("真的要删除此记录吗?","删除记录询问:",MB_OKCANCEL|MB_ICONQUESTION)==IDOK)
{
m_database.ExecuteSQL(SQL);
MessageBox("完成操作!","系统提示:",MB_OK|MB_ICONASTERISK);
m_grade=_T("");
m_StrstudentID=_T("");
UpdateData(FALSE);//刷新
}
}
}
}
rs.Close();
}
void CStudentGradeManage::OnFind()
{
// TODO: Add your control notification handler code here
}
void CStudentGradeManage::OnModif()
{
UpdateData();//更新变量的值
DataGetFourNow();//得到学界,学期,系别,班级
m_kemu.GetLBText(m_kemu.GetCurSel(),strKemu);//得到科目
DataChecked();//判定锁定
CRecordset rs(&m_database);
if((m_StrstudentID.IsEmpty())||(m_grade.IsEmpty()))
{
MessageBox("操作有误!您不能修改空信息!","系统提示:",MB_OK|MB_ICONASTERISK);
m_StrstudentID=_T("");
}
else
{
rs.Open(CRecordset::forwardOnly,
"select * from 学生表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学号ID='"+m_StrstudentID+"'");
icount=rs.GetRecordCount();
rs.Close();
if(icount==0)
{
MessageBox("不存在此学号!请进行添加工作!","系统提示:",MB_OK|MB_ICONASTERISK);
m_StrstudentID=_T("");
}
else
{
rs.Open(CRecordset::forwardOnly,
"select * from 成绩表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 学号ID='"+m_StrstudentID+"' and 考试科目名称='"+strKemu+"'");
count=rs.GetRecordCount();
rs.Close();
if(count==0)
{
MessageBox("不存在此学生此科目的成绩,您可以进行添加成绩工作!","系统提示:",MB_OK|MB_ICONASTERISK);
m_StrstudentID=_T("");
}
else
{
SQL="update 成绩表 set 成绩='"+m_grade+"' where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 学号ID='"+m_StrstudentID+"' and 考试科目名称='"+strKemu+"'";
if(MessageBox("真的要修改此记录吗?","修改记录询问:",MB_OKCANCEL|MB_ICONQUESTION)==IDOK)
{
m_database.ExecuteSQL(SQL);
MessageBox("完成操作!","系统提示:",MB_OK|MB_ICONASTERISK);
m_grade=_T("");
m_StrstudentID=_T("");
UpdateData(FALSE);//刷新
}
}
}
}
rs.Close();
}
void CStudentGradeManage::OnOK()
{
UpdateData();//更新变量的值
DataGetFourNow();//得到学界,学期,系别,班级
m_kemu.GetLBText(m_kemu.GetCurSel(),strKemu);//得到科目
DataChecked();//判定锁定
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -