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

📄 teamagdlg.cpp

📁 数据库管理系统
💻 CPP
字号:
// TeaMagDlg.cpp : implementation file
//

#include "stdafx.h"
#include "SCMIS.h"
#include "TeaMagDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CDatabase db;
/////////////////////////////////////////////////////////////////////////////
// CTeaMagDlg dialog


CTeaMagDlg::CTeaMagDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTeaMagDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTeaMagDlg)
	m_score = 0;
	//}}AFX_DATA_INIT
	this->m_stuid="";
	this->m_corid="";
}


void CTeaMagDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTeaMagDlg)
	DDX_Control(pDX, IDC_LIST2, m_md);
	DDX_Control(pDX, IDC_LIST1, m_kc);
	DDX_Text(pDX, IDC_EDIT1, m_score);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTeaMagDlg, CDialog)
	//{{AFX_MSG_MAP(CTeaMagDlg)
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_NOTIFY(NM_CLICK, IDC_LIST2, OnClickList2)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTeaMagDlg message handlers

BOOL CTeaMagDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_kc.InsertColumn(0,"课程编号");
	m_kc.InsertColumn(1,"课程名称");

    RECT rect;
	m_kc.GetWindowRect(&rect);
	int wid=rect.right-rect.left;
	m_kc.SetColumnWidth(0,wid/2);
	m_kc.SetColumnWidth(1,wid/2);
	m_kc.SetExtendedStyle(LVS_EX_FULLROWSELECT);
    m_kc.SetTextBkColor(RGB(192,192,0));
	m_kc.SetTextColor(RGB(0,0,255));




    m_md.InsertColumn(0,"学号"); 
    m_md.InsertColumn(1,"姓名"); 
    m_md.InsertColumn(2,"班级");
	m_md.InsertColumn(3,"成绩");
	RECT rect1;
	m_md.GetWindowRect(&rect1);
	int wid1=rect.right-rect.left;
	m_md.SetColumnWidth(0,wid/3);
	m_md.SetColumnWidth(1,wid/3);
	m_md.SetColumnWidth(2,wid/3);
    m_md.SetColumnWidth(3,wid/3);
	m_md.SetExtendedStyle(LVS_EX_FULLROWSELECT);
	m_md.SetTextBkColor(RGB(192,192,0));
	m_md.SetTextColor(RGB(0,0,255));




	CRecordset rs1(&db);
	m_kc.DeleteAllItems();
	//m_stuid="1";
	//m_stuid=this->GetOwner()->m_hWnd
    rs1.Open(CRecordset::forwardOnly,"select course.id ,course.name from course where teacher='"+m_teacher+"' order by course.id");
	char buf[20];
	int i=0;
    CDBVariant varValue;
	
	while(!rs1.IsEOF())
	{
		int temp=0;
		rs1.GetFieldValue(temp,varValue);
		//sprintf(buf,"%d",varValue.m_lVal); m_course.InsertItem(i,buf);//if is int type ,write this way
        sprintf(buf,"%s",varValue.m_pstring->GetBuffer(1)); m_kc.InsertItem(i,buf);
		//m_course.SetItemText(i,0,varValue.m_pstring->GetBuffer(1));
		rs1.GetFieldValue(1,varValue);
		m_kc.SetItemText(i,1,varValue.m_pstring->GetBuffer(1));
		rs1.MoveNext();
		i++;
	}
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CTeaMagDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int i=m_kc.GetSelectionMark();
    CDBVariant varValue;
	CString ct=m_kc.GetItemText(i,0);
	this->m_corid=ct;
	

	CRecordset rs1(&db);
	CString strSQL;
	strSQL.Format("select student.id,student.name,student.class ,sc.score from student,sc where sc.corid='%s' and student.id=sc.stuid",ct);
	rs1.Open(CRecordset::forwardOnly,strSQL);
    char buf[20];
	int j=0;
	m_md.DeleteAllItems();
	while(!rs1.IsEOF())
	{
		int temp=0;
		rs1.GetFieldValue(temp,varValue);
        sprintf(buf,"%s",varValue.m_pstring->GetBuffer(1)); 
		m_md.InsertItem(i,buf);

		rs1.GetFieldValue(1,varValue);
		m_md.SetItemText(i,1,varValue.m_pstring->GetBuffer(1));
		
		rs1.GetFieldValue(2,varValue);
		m_md.SetItemText(i,2,varValue.m_pstring->GetBuffer(1));
		
		rs1.GetFieldValue(3,varValue);
		sprintf(buf,"%d",varValue.m_iVal);
		m_md.SetItemText(i,3,buf);
		

		rs1.MoveNext();
		j++;
	}

	*pResult = 0;
}

void CTeaMagDlg::OnButton1() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
    
	CString strSQL;
	strSQL.Format("update sc set score=10 where stuid='%s' and corid='%s'",m_corid,m_stuid);
	db.ExecuteSQL(strSQL);
	MessageBox("successful");
	
}

void CTeaMagDlg::OnClickList2(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
    int i=m_md.GetSelectionMark();
	CString ct=m_md.GetItemText(i,0);
	this->m_stuid=ct;
	
	*pResult = 0;
}

⌨️ 快捷键说明

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