📄 addrecord.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 + -