📄 scoremoddlg.cpp
字号:
// ScoreModDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Team2.h"
#include "ScoreModDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CScoreModDlg dialog
CScoreModDlg::CScoreModDlg(CWnd* pParent /*=NULL*/)
: CDialog(CScoreModDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CScoreModDlg)
m_stuid = _T("");
m_courid = _T("");
m_score = _T("");
//}}AFX_DATA_INIT
}
void CScoreModDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CScoreModDlg)
DDX_Control(pDX, IDC_SCOREMOD, m_scoremod);
DDX_Control(pDX, IDC_SCOREADD, m_scoreadd);
DDX_Control(pDX, IDC_SCORELIST, m_scoreList);
DDX_Text(pDX, IDC_EDIT1, m_stuid);
DDX_Text(pDX, IDC_EDIT2, m_courid);
DDX_Text(pDX, IDC_EDIT3, m_score);
//}}AFX_DATA_MAP
if(!type){
m_scoreadd.EnableWindow(false);
m_scoremod.EnableWindow(false);
}
}
BEGIN_MESSAGE_MAP(CScoreModDlg, CDialog)
//{{AFX_MSG_MAP(CScoreModDlg)
ON_BN_CLICKED(IDC_SCOREADD, OnScoreaddBtn)
ON_BN_CLICKED(IDC_SCOREMOD, OnScoremodBtn)
ON_BN_CLICKED(IDC_SCOREQUERY, OnScorequeryBtn)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CScoreModDlg message handlers
BOOL CScoreModDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
DWORD style=m_scoreList.GetExtendedStyle();
m_scoreList.SetExtendedStyle(style|LVS_EX_GRIDLINES);
m_scoreList.InsertColumn(0,"学员证号");
m_scoreList.InsertColumn(1,"课程号");
m_scoreList.InsertColumn(2,"成绩");
RECT rectbasic;
m_scoreList.GetWindowRect(&rectbasic);
int widbasic = rectbasic.right - rectbasic.left;
m_scoreList.SetColumnWidth(0,widbasic/3);
m_scoreList.SetColumnWidth(1,widbasic/3);
m_scoreList.SetColumnWidth(2,widbasic/3);
m_scoreList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
Init();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CScoreModDlg::OnScoreaddBtn()
{
// TODO: Add your control notification handler code here
if(!db.Open("db1"))return;//连接数据库
CString strSQL;
UpdateData();
if(m_stuid.IsEmpty()||m_courid.IsEmpty()) // 课程号为空则返回
{
AfxMessageBox("学员证号和课程号均不能为空!");
db.Close();
return;
}
CRecordset rs(&db);
rs.Open(CRecordset::forwardOnly,"select * from score where stu_id='" + m_stuid + "' and course_id='" + m_courid + "'");
if(!rs.IsEOF()) //已存在此记录
{
AfxMessageBox("该成绩已存在!");
db.Close();
return;
}
strSQL="insert into score values('"
+ m_stuid + "','" // 学员证号
+ m_courid + "','" // 课程号
+ m_score +"')"; //教室
db.ExecuteSQL(strSQL);
rs.Close();
Init(); //重新初始化窗口
AfxMessageBox("记录添加成功!");
db.Close();
}
void CScoreModDlg::OnScoremodBtn()
{
// TODO: Add your control notification handler code here
UpdateData();
if(!db.Open("db1"))return;
// int i=0;
// CRecordset rs(&db);
// CString s_stuid,s_courid,s_score;
CString strSQL;
strSQL="update score set stu_score='" + m_score + "' where stu_id='" + m_stuid + "'and course_id='" + m_courid + "'"; // 条件
db.ExecuteSQL(strSQL); // 执行
db.Close();
AfxMessageBox("记录修改成功!");
}
void CScoreModDlg::OnScorequeryBtn()
{
// TODO: Add your control notification handler code here
UpdateData();
if(!db.Open("db1"))return;
int i=0;
CRecordset rs(&db);
CString s_stuid,s_courid,s_score;
CString strSQL;
rs.Open(CRecordset::forwardOnly,"select * from score where stu_id='"+m_stuid+"' and course_id='" + m_courid + "'");
if(!rs.IsEOF())
{
//得到数据
rs.GetFieldValue("stu_id",s_stuid);
rs.GetFieldValue("course_id",s_courid);
rs.GetFieldValue("stu_score",s_score);
rs.Close();
m_stuid=_T(s_stuid);
m_courid=_T(s_courid);
m_score=_T(s_score);
//加入列表
m_scoreList.InsertItem(i,"");
m_scoreList.SetItemText(i,0,s_stuid);
m_scoreList.SetItemText(i,1,s_courid);
m_scoreList.SetItemText(i,2,s_score);
UpdateData(FALSE);
Exist=TRUE; //该成绩存在
}
else
{
rs.Close();
Init();
Exist=FALSE; //该成绩不存在
}
if(!Exist)
{
AfxMessageBox("该成绩不存在!");
db.Close();
return;
}
db.Close();
}
void CScoreModDlg::OnCancel()
{
// TODO: Add extra cleanup here
m_scoreList.DeleteAllItems(); // 清空列表框
db.Close();
CDialog::OnCancel();
}
void CScoreModDlg::Init()
{
m_stuid=_T("");
m_courid=_T("");
m_score=_T("");
UpdateData(FALSE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -