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

📄 page2.cpp

📁 学生成绩管理系统 在VCsql的开发环境下编写的
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// Page2.cpp : implementation file
//

#include "stdafx.h"
#include "cj.h"
#include "Page2.h"
#include "FindRecord.h"
#include "AddRecord.h"
#include "ModifRecord.h"
#include "DelteDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPage2 property page

IMPLEMENT_DYNCREATE(CPage2, CPropertyPage)

CPage2::CPage2() : CPropertyPage(CPage2::IDD)
{
	//{{AFX_DATA_INIT(CPage2)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}

CPage2::~CPage2()
{
}

void CPage2::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPage2)
	DDX_Control(pDX, IDC_cmb_XiBie_xijitongji, m_xibie_xijitongji);
	DDX_Control(pDX, IDC_LIST2, m_clist2);
	DDX_Control(pDX, IDC_LIST1, m_clist1);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPage2, CPropertyPage)
	//{{AFX_MSG_MAP(CPage2)
	ON_BN_CLICKED(IDC_cmdFind_yuanji, OncmdFindyuanji)
	ON_BN_CLICKED(IDC_cmdClear_xiji, OncmdClearxiji)
	ON_BN_CLICKED(IDC_cmdClear_yuanji, OncmdClearyuanji)
	ON_BN_CLICKED(IDC_cmdFind_xiji, OncmdFindxiji)
	ON_BN_CLICKED(IDC_cmdMeRen_xiji, OncmdMeRenxiji)
	ON_BN_CLICKED(IDC_cmdMeRen_yuanji, OncmdMeRenyuanji)
	ON_BN_CLICKED(IDC_cmdPreview_xiji, OncmdPreviewxiji)
	ON_BN_CLICKED(IDC_cmdPreview_yuanji, OncmdPreviewyuanji)
	ON_BN_CLICKED(IDC_cmdPrint_xiji, OncmdPrintxiji)
	ON_BN_CLICKED(IDC_cmdPrint_yuanji, OncmdPrintyuanji)
	ON_BN_CLICKED(IDC_cmdRevovate_xiji, OncmdRevovatexiji)
	ON_BN_CLICKED(IDC_cmdRevovate_yuanji, OncmdRevovateyuanji)
	ON_CBN_SELCHANGE(IDC_cmb_XiBie_xijitongji, OnSelchangecmbXiBiexijitongji)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPage2 message handlers

BOOL CPage2::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	if(m_database.IsOpen())
	 m_database.Close();//发现数据库有冲突,关闭数据库;
     m_database.Open(_T("student"));//重新打开数据库;

    CRecordset rs(&m_database);
	 CString sql,strsql,strXibie,strXiBieID;
	 CString str;
    //设置系别下拉框所取的值
     rs.Open(CRecordset::forwardOnly,"select 系别名称 from 系别");
	 while(!rs.IsEOF())
	 {
		 rs.GetFieldValue("系别名称",str);
		 m_xibie_xijitongji.AddString(str);
		 rs.MoveNext();
	 }
	 rs.Close();
	 m_xibie_xijitongji.SetCurSel(0);
	 //得到系别ID
       m_xibie_xijitongji.GetLBText(m_xibie_xijitongji.GetCurSel(),strXibie);
	   rs.Open(CRecordset::forwardOnly,
		   "select 系别ID from 系别 where 系别名称='"+strXibie+"'");
       rs.GetFieldValue("系别ID",strXiBieID);
	   rs.Close();
	 
	 	
	// TODO: Add extra initialization here
	m_clist1.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_GRIDLINES );
	m_clist2.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_GRIDLINES );
  

//设置控件List的属性:列名,宽度,文本颜色,背景颜色
	m_clist1.InsertColumn(0,"学届",LVCFMT_LEFT);
	m_clist1.InsertColumn(1,"学期",LVCFMT_LEFT);
	m_clist1.InsertColumn(2,"系别",LVCFMT_LEFT);
	m_clist1.InsertColumn(3,"班级总数",LVCFMT_LEFT);
m_clist1.InsertColumn(4,"参加考试人数",LVCFMT_LEFT);
m_clist1.InsertColumn(5,"合格率",LVCFMT_LEFT);
m_clist1.InsertColumn(6,"优秀率",LVCFMT_LEFT);
	m_clist1.InsertColumn(7,"优秀人数",LVCFMT_LEFT);
m_clist1.InsertColumn(8,"不合格人数",LVCFMT_LEFT);

	RECT rectClist1;
	m_clist1.GetWindowRect(&rectClist1);
	int Widclist1=rectClist1.right - rectClist1.left;
	m_clist1.SetColumnWidth(0,Widclist1/17);
	m_clist1.SetColumnWidth(1,Widclist1/18);
	m_clist1.SetColumnWidth(2,Widclist1/7);
	m_clist1.SetColumnWidth(3,Widclist1/8);
	m_clist1.SetColumnWidth(4,Widclist1/7);
	m_clist1.SetColumnWidth(5,Widclist1/8);
	m_clist1.SetColumnWidth(6,Widclist1/8);
m_clist1.SetColumnWidth(7,Widclist1/8);
m_clist1.SetColumnWidth(8,Widclist1/8);

m_clist1.SetBkColor(RGB(105,140,140));
m_clist1.SetTextColor(RGB(0,121,114));
m_clist2.InsertColumn(0,"学届",LVCFMT_LEFT);
m_clist2.InsertColumn(1,"学期",LVCFMT_LEFT);
m_clist2.InsertColumn(2,"班级名称",LVCFMT_LEFT);
m_clist2.InsertColumn(3,"参加考试人数",LVCFMT_LEFT);
m_clist2.InsertColumn(4,"合格率",LVCFMT_LEFT);
	m_clist2.InsertColumn(5,"优秀率",LVCFMT_LEFT);
	m_clist2.InsertColumn(6,"合格人数",LVCFMT_LEFT);
	m_clist2.InsertColumn(7,"优秀人数",LVCFMT_LEFT);
	m_clist2.InsertColumn(8,"不合格人数",LVCFMT_LEFT);

	RECT rectClist2;
	m_clist1.GetWindowRect(&rectClist2);
	int Widclist2=rectClist2.right - rectClist2.left;
	m_clist2.SetColumnWidth(0,Widclist2/17);
	m_clist2.SetColumnWidth(1,Widclist2/18);
	m_clist2.SetColumnWidth(2,Widclist2/7);
	m_clist2.SetColumnWidth(3,Widclist2/7);
	m_clist2.SetColumnWidth(4,Widclist2/8);
	m_clist2.SetColumnWidth(5,Widclist2/8);
	m_clist2.SetColumnWidth(6,Widclist2/8);
	m_clist2.SetColumnWidth(7,Widclist2/8);
	m_clist2.SetColumnWidth(8,Widclist2/8);




m_clist2.SetBkColor(RGB(105,140,140));
m_clist2.SetTextColor(RGB(0,121,114));
DataDisplay();//院级统计数据显示
DataDisPlayXIji();//系级统计数据显示
m_xibie_xijitongji.SetCurSel(0);//初始下拉列表框
 
	return TRUE;  // return TRUE unless you set the focus to a control
             // EXCEPTION: OCX Property Pages should return FALSE
}

void CPage2::OncmdFindyuanji() 
{
   CYuanjiFindDlg yuanjiFindialg;
	if(yuanjiFindialg.DoModal()==IDOK)
	{
      
	}
}

void CPage2::OncmdClearxiji() 
{
m_clist2.DeleteAllItems();
}

void CPage2::OncmdClearyuanji() 
{
m_clist1.DeleteAllItems();
}

void CPage2::OncmdFindxiji() 
{
 CXijiFindDlg xijiFindDlg;
 if(xijiFindDlg.DoModal()==IDOK)
 {
 }
	
}

void CPage2::OncmdMeRenxiji() 
{
 DataDisPlayXIji();
}

void CPage2::OncmdMeRenyuanji() 
{  
DataDisplay();//刷新
}

void CPage2::OncmdPreviewxiji() 
{
MessageBox("此功能现在不可用!","系统提示:",MB_OK|MB_ICONASTERISK);	
}

void CPage2::OncmdPreviewyuanji() 
{
MessageBox("此功能现在不可用!","系统提示:",MB_OK|MB_ICONASTERISK);
}

void CPage2::OncmdPrintxiji() 
{
MessageBox("此功能现在不可用!","系统提示:",MB_OK|MB_ICONASTERISK);
}

void CPage2::OncmdPrintyuanji() 
{
MessageBox("此功能现在不可用!","系统提示:",MB_OK|MB_ICONASTERISK);
}

void CPage2::OncmdRevovatexiji() 
{
	// TODO: Add your control notification handler code here
	
}

void CPage2::OncmdRevovateyuanji() 
{
	RefreshData();
}

void CPage2::DataDisplay()
{
 //////列表框的数据显示//////
	 if(m_database.IsOpen())
	 m_database.Close();//发现数据库有冲突,关闭数据库;
     m_database.Open(_T("student"));//重新打开数据库;
	 CRecordset rs(&m_database);
	 CString sql,strsql,strnian;
	 int i=0,count,j;
//院级统计的数据显示
m_clist1.DeleteAllItems();//更新
//学期ID,年份
rs.Open(CRecordset::forwardOnly,
		"select DISTINCT 学期ID,学界ID,系别ID from 成绩表 ORDER BY 学期ID ");
if(rs.GetRecordCount()!=0)
{
   while(!rs.IsEOF())
		{  
        rs.GetFieldValue("学期ID",sql);
		rs.GetFieldValue("系别ID",strsql);
		rs.GetFieldValue("学界ID",strnian);
        m_clist1.InsertItem(i,"");
        m_clist1.SetItemText(i,0,strnian);
		m_clist1.SetItemText(i,1,sql);
		m_clist1.SetItemText(i,2,strsql);
		 rs.MoveNext();
	     i++;
         count=i;
		}
	 }
	 rs.Close();
//班级总数
long counter;j=0;
for(j=0;j<count;j++)
{
  strsql=m_clist1.GetItemText(j,2);//j是表项的序号,1是列。 
  rs.Open(CRecordset::forwardOnly,
	   "select 班级ID from 班级 where 系别ID='"+strsql+"'");
    while(!rs.IsEOF())
	{

⌨️ 快捷键说明

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