📄 cjlrdlg.cpp
字号:
// CjlrDlg.cpp : implementation file
//
#include "stdafx.h"
#include "StuManage.h"
#include "CjlrDlg.h"
#include "CjlrSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCjlrDlg dialog
CCjlrDlg::CCjlrDlg(CWnd* pParent /*=NULL*/)
: CDialog(CCjlrDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CCjlrDlg)
m_Score = _T("");
m_StuNo = _T("");
m_CourseName = _T("");
//}}AFX_DATA_INIT
}
void CCjlrDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCjlrDlg)
DDX_Control(pDX, IDC_CJLR_LIST, m_cjList);
DDX_Text(pDX, IDC_SCORE_EDIT, m_Score);
DDX_Text(pDX, IDC_STUNUM_EDIT, m_StuNo);
DDX_Text(pDX, IDC_COURSENO_EDIT, m_CourseName);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCjlrDlg, CDialog)
//{{AFX_MSG_MAP(CCjlrDlg)
ON_BN_CLICKED(IDC_ADD_BUTTON, OnAddButton)
ON_BN_CLICKED(IDC_SAVE_BUTTON, OnSaveButton)
ON_BN_CLICKED(IDC_DELETE_BUTTON, OnDeleteButton)
ON_BN_CLICKED(IDC_MODIFY_BUTTON, OnModifyButton)
ON_BN_CLICKED(IDC_CANCEL, OnCancel)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCjlrDlg message handlers
BOOL CCjlrDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_cjList.InsertColumn(0,"成绩编号");
m_cjList.InsertColumn(1,"学号");
m_cjList.InsertColumn(2,"课程名称");
m_cjList.InsertColumn(3,"成绩");
CRect rect;
m_cjList.GetWindowRect(&rect);
int wid=rect.right-rect.left;
m_cjList.SetColumnWidth(0,wid/4);
m_cjList.SetColumnWidth(1,wid/4);
m_cjList.SetColumnWidth(2,wid/4);
m_cjList.SetColumnWidth(3,wid/4);
m_cjList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
RefreshList();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CCjlrDlg::RefreshList()
{
if(!m_database.IsOpen()) {
m_database.Open(_T("xscjgl"));
}
m_cjList.DeleteAllItems();
CCjlrSet m_CjlrSet(&m_database);
CString strSQL;
strSQL.Format("select * from xscj");
m_database.ExecuteSQL(strSQL);
m_CjlrSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
if(m_CjlrSet.GetRecordCount()!=0)
m_CjlrSet.MoveFirst();
int i=0;
while(!m_CjlrSet.IsEOF()) {
CString temp;
m_CjlrSet.GetFieldValue("ScoreID",temp);
m_cjList.InsertItem(i,temp);
m_cjList.SetItemText(i,1,m_CjlrSet.m_StuNo);
m_cjList.SetItemText(i,2,m_CjlrSet.m_CourseName);
m_cjList.SetItemText(i,3,m_CjlrSet.m_Score);
m_CjlrSet.MoveNext();
i++;
}
m_CjlrSet.Close();
}
void CCjlrDlg::OnAddButton()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
//m_database.Close();
CCjlrSet m_CjlrSet;
if(!UpdateData())
return;
if(m_StuNo.GetLength()==0) {
MessageBox("请输入学号!");
return;
}
if(m_CourseName.GetLength()==0) {
MessageBox("请输入课程名称!");
return;
}
CString strSQL;
int flag=0;
int i=1;
while(!flag) {
CCjlrSet m_CjlrSet(&m_database);
strSQL.Format("select * from xscj where ScoreID=%d",i);
m_CjlrSet.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
if(m_CjlrSet.GetRecordCount()==0) {
strSQL.Format("insert into xscj values(%d,\'%s',\'%s',\'%s')",i,m_StuNo,m_CourseName,m_Score);
m_database.ExecuteSQL(strSQL);
m_CjlrSet.Close();
m_database.Close();
RefreshList();
flag=1;
}
i++;
}
//CDialog::OnOK();
}
void CCjlrDlg::OnSaveButton()
{
// TODO: Add your control notification handler code here
CCjlrSet m_CjlrSet(&m_database);
m_CjlrSet.m_StuNo=m_StuNo;
m_CjlrSet.m_CourseName=m_CourseName;
m_CjlrSet.m_Score=m_Score;
m_CjlrSet.Close();
RefreshList();
CDialog::OnOK();
}
void CCjlrDlg::OnDeleteButton()
{
// TODO: Add your control notification handler code here
CCjlrSet m_CjlrSet;
int i=m_cjList.GetSelectionMark();
CString strSQL;
int keyid=atoi(m_cjList.GetItemText(i,0));
if(keyid<0)
{
MessageBox("请选择您要删除的一行!");
}
else
{
if(MessageBox("您确定要删除该记录吗?","是否删除",MB_OKCANCEL|MB_ICONQUESTION)==IDOK)
{
strSQL.Format("delete from xscj where ScoreID=%d",keyid);
m_database.ExecuteSQL(strSQL);
m_database.Close();
RefreshList();
}
}
}
void CCjlrDlg::OnModifyButton()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CCjlrSet m_CjlrSet;
CString strSQL;
int flag=0;
//int i=atoi(m_stuNo);
while(!flag) {
CCjlrSet m_CjlrSet(&m_database);
strSQL.Format("update xscj set CourseName='%s',Score='%s' where StuNo='%s'",m_CourseName,m_Score,m_StuNo);
m_database.ExecuteSQL(strSQL);
m_database.Close();
RefreshList();
flag=1;
}
}
void CCjlrDlg::OnCancel()
{
// TODO: Add your control notification handler code here
OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -