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

📄 scoremoddlg.cpp

📁 用ODBC接口访问access数据库管理系统
💻 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 + -