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

📄 modifrecord.cpp

📁 学生成绩管理系统 在VCsql的开发环境下编写的
💻 CPP
字号:
// ModifRecord.cpp : implementation file
//

#include "stdafx.h"
#include "cj.h"
#include "ModifRecord.h"
#include "Page1.h"

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

/////////////////////////////////////////////////////////////////////////////
// CModifRecord dialog


CModifRecord::CModifRecord(CWnd* pParent /*=NULL*/)
	: CDialog(CModifRecord::IDD, pParent)
{
	//{{AFX_DATA_INIT(CModifRecord)
	m_class = _T("");
	m_course = 0.0f;
	m_studentID = _T("");
	m_xibie = _T("");
	m_xuejie = _T("");
	m_xueqi = _T("");
	//}}AFX_DATA_INIT
}


void CModifRecord::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CModifRecord)
	DDX_Control(pDX, IDC_cmbKemu, m_cmb_kemu);
	DDX_Text(pDX, IDC_edit_Class, m_class);
	DDX_Text(pDX, IDC_edit_course, m_course);
	DDV_MinMaxFloat(pDX, m_course, 0.f, 1000.f);
	DDX_Text(pDX, IDC_edit_studentID, m_studentID);
	DDX_Text(pDX, IDC_edit_Xibie, m_xibie);
	DDX_Text(pDX, IDC_edit_Xuejie, m_xuejie);
	DDX_Text(pDX, IDC_edit_Xueqi, m_xueqi);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CModifRecord, CDialog)
	//{{AFX_MSG_MAP(CModifRecord)
	ON_CBN_SELCHANGE(IDC_cmbKemu, OnSelchangecmbKemu)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CModifRecord message handlers

BOOL CModifRecord::OnInitDialog() 
{
	CDialog::OnInitDialog();

    CDatabase m_database;
    if(!m_database.Open(_T("student")))  return false;
    CRecordset rs(&m_database);
    
	//得到学界ID
       strXuejie=m_xuejie;
	   rs.Open(CRecordset::forwardOnly,
		   "select 学界ID from 学界 where 学界名称='"+strXuejie+"'");
       rs.GetFieldValue("学界ID",strXuejieID);
	   rs.Close();
    //得到系别ID
       strXibie=m_xibie;
	   rs.Open(CRecordset::forwardOnly,
		   "select 系别ID from 系别 where 系别名称='"+strXibie+"'");
       rs.GetFieldValue("系别ID",strXiBieID);
	   rs.Close();
	 //得到学期ID
	   strXueQi=m_xueqi;
	   rs.Open(CRecordset::forwardOnly,
		   "select 学期ID from 学期 where 学期='"+strXueQi+"'");
       rs.GetFieldValue("学期ID",strXueQiID);
	   rs.Close();
     //得到班级ID
       strClass=m_class;
	   rs.Open(CRecordset::forwardOnly,
		   "select 班级ID from 班级 where 班级名称='"+strClass+"'");
       rs.GetFieldValue("班级ID",strClassID);
	   rs.Close();

    //设置考试科目的下拉框所取的值。
CString str;
rs.Open(CRecordset::forwardOnly,
		 "select 考试科目 from 考试科目表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"'");
	 while(!rs.IsEOF())
	 {
		 rs.GetFieldValue("考试科目",str);
		 m_cmb_kemu.AddString(str);
		 rs.MoveNext();
	 }
	 rs.Close();
	
	// 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 CModifRecord::OnOK() 
{
	UpdateData();//更新
    CDatabase m_database;//连接数据源对象
		
	m_database.Open(_T("student"));
	CRecordset rs(&m_database);
	

	CString strKemu,SQL,str;
	
	if(m_cmb_kemu.GetCurSel()==-1)
	{
		MessageBox("科目不能为空","系统提示:",MB_ICONEXCLAMATION);
		return;
	}
    m_cmb_kemu.GetLBText(m_cmb_kemu.GetCurSel(),strKemu);
	str.Format("%.3f",m_course);

	SQL="update 成绩表 set 成绩='"+str+"' where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 学号ID='"+m_studentID+"' and 考试科目名称='"+strKemu+"'";
    if(MessageBox("真的要修改此记录吗?","修改记录询问:",MB_OKCANCEL|MB_ICONQUESTION)==IDOK)
	{
		m_database.ExecuteSQL(SQL);
		m_database.Close();
	}


	CDialog::OnOK();
}

void CModifRecord::OnSelchangecmbKemu() 
{

	CString strKemu,str;
	CDatabase m_database;
		
	m_database.Open(_T("student"));
	CRecordset rs(&m_database);
	m_cmb_kemu.GetLBText(m_cmb_kemu.GetCurSel(),strKemu);//得到科目的值
	
	rs.Open(CRecordset::forwardOnly,
		 "select 成绩 from 成绩表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 学号ID='"+m_studentID+"' and 考试科目名称='"+strKemu+"'");
    if(rs.GetRecordCount()==0)
	{
		MessageBox("对不起!此学生没有此门科目的成绩!","系统提示:",MB_ICONEXCLAMATION);
		return;
	}
	else
	{
		rs.GetFieldValue("成绩",str);//"成绩"--->str;
		sscanf(str,"%f",&m_course);//str以数字的形式送给m_course;
		UpdateData(FALSE);//变量到控件的更新		
	}
    rs.Close();
 
 return;
	
}


⌨️ 快捷键说明

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