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

📄 studentgrademanage.cpp

📁 学生成绩管理系统 在VCsql的开发环境下编写的
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// 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 + -