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

📄 addrecord.cpp

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

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

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

/////////////////////////////////////////////////////////////////////////////
// CAddRecord dialog


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


void CAddRecord::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAddRecord)
	DDX_Control(pDX, IDC_cmbStudentID, m_cmb_studentID);
	DDX_Control(pDX, IDC_cmbKemu, m_cmb_kemu);
	DDX_Text(pDX, IDC_edit_Xueqi, m_xueqi);
	DDX_Text(pDX, IDC_edit_Xuejie, m_xuejie);
	DDX_Text(pDX, IDC_edit_Xibie, m_xibie);
	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_CBString(pDX, IDC_cmbStudentID, m_strcmb_studentID);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAddRecord, CDialog)
	//{{AFX_MSG_MAP(CAddRecord)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAddRecord message handlers

BOOL CAddRecord::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 CAddRecord::OnOK() 
{  
	UpdateData();//更新
    CDatabase m_database;//连接数据源对象
	//if(m_database.IsOpen())
	//	m_database.Close();
	
	m_database.Open(_T("student"));
	CRecordset rs(&m_database);
	CAddRecord dlg;

	CString strKemu,SQL,str;
	int icount1,icount2;
	if(m_cmb_kemu.GetCurSel()==-1)
	{
		MessageBox("科目不能为空","系统提示:",MB_ICONEXCLAMATION);
		return;
	}
	if(m_strcmb_studentID.IsEmpty())
	{
        MessageBox("学号不能为空","系统提示:",MB_ICONEXCLAMATION);
		return;
	}
     m_cmb_kemu.GetLBText(m_cmb_kemu.GetCurSel(),strKemu);

	 str.Format("%.3f",m_course);
     m_strcmb_studentID.TrimLeft();
	 m_strcmb_studentID.TrimRight();//裁剪m_strcmb_studentID的右边的空格
	 
	
		//查询学生表,确认是否有此学生。
		rs.Open(CRecordset::forwardOnly,
		   "select * from 学生表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学号ID='"+m_strcmb_studentID+"'");
	    icount1=rs.GetRecordCount();
		rs.Close();
        //查询成绩表,查看是否有此学生的这门科目的成绩。
		rs.Open(CRecordset::forwardOnly,
		   "select * from 成绩表 where 学界ID='"+strXuejieID+"' and 系别ID='"+strXiBieID+"' and 班级ID='"+strClassID+"' and 学期ID='"+strXueQiID+"' and 学号ID='"+m_strcmb_studentID+"' and 考试科目名称='"+strKemu+"'");
	    icount2=rs.GetRecordCount();
		rs.Close();

		if(icount1==0)
		{
			MessageBox("数据库中不存在此学生的信息!","系统提示:",MB_ICONEXCLAMATION);
			return;
		}
		else
		{
			if(icount2==0)
			{
			   SQL="insert into 成绩表 (学界ID,系别ID,班级ID,学期ID,学号ID,考试科目名称,成绩) \
                values('"+strXuejieID+"','"+strXiBieID+"','"+strClassID+"','"+strXueQiID+"','"+m_strcmb_studentID+"','"+strKemu+"','"+str+"')";
			    m_database.ExecuteSQL(SQL);
				m_database.Close();
			}
			else
			{
				MessageBox("数据库中已经有此学生此门科目的成绩了!","系统提示:",MB_ICONEXCLAMATION);
				return;
			}
		}
	CDialog::OnOK();
		
}

void CAddRecord::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	CDialog::OnCancel();
}

⌨️ 快捷键说明

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