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

📄 queryscoredlg.cpp

📁 这是一个课程设计
💻 CPP
字号:
// QueryScoreDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Scoremanager.h"
#include "QueryScoreDlg.h"


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

/////////////////////////////////////////////////////////////////////////////
// CQueryScoreDlg dialog


CQueryScoreDlg::CQueryScoreDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CQueryScoreDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CQueryScoreDlg)
	//}}AFX_DATA_INIT
}


void CQueryScoreDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CQueryScoreDlg)
	DDX_Control(pDX, IDQUERY_OK, m_ok);
	DDX_Control(pDX, IDCANCEL, m_can);
	DDX_Control(pDX, IDC_COMBO_BY, m_strFilter);
	DDX_Control(pDX, IDC_QUERY_SCORE, m_strScore);
	DDX_Control(pDX, IDC_QUERY_COURSE, m_strQCourse);
	DDX_Control(pDX, IDC_QUERY_NAME, m_strQName);
    DDX_Control(pDX, IDC_LIST_QUERY_COURSE, m_list);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CQueryScoreDlg, CDialog)
	//{{AFX_MSG_MAP(CQueryScoreDlg)
	ON_BN_CLICKED(IDC_RADIOBystudent, OnRADIOBystudent)
	ON_BN_CLICKED(IDC_RADIOBycourse, OnRADIOBycourse)
	ON_BN_CLICKED(IDQUERY_OK, OnOk)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CQueryScoreDlg message handlers

BOOL CQueryScoreDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	if(!m_database.IsOpen())
	{
		m_database.Open(_T("Scoremanager"));
		m_recordSet.m_pDatabase=&m_database;
	    m_strFilter.AddString("大于");
        m_strFilter.AddString("等于");
	    m_strFilter.AddString("小于");
        m_strFilter.AddString("");
        m_strFilter.SelectString(0,"");
	}
    sortBy=0;
    return true;
}

void CQueryScoreDlg::OnRADIOBystudent() 
{
sortBy=1;	
}

void CQueryScoreDlg::OnRADIOBycourse() 
{
sortBy=2;	
}

void CQueryScoreDlg::OnOk() 
{
BOOL bSuccess=true;
if(sortBy==0)
{
      MessageBox("请选择查询条件!");
}
if(sortBy==1)
{	
    CString m_name,m_score,m_filter;
    m_strQName.GetWindowText(m_name);
	m_strFilter.GetWindowText(m_filter);
	m_strScore.GetWindowText(m_score);
    if(m_name=="")
	{
    MessageBox("请输入学生名");
    bSuccess=false;
	}
    if(m_filter=="大于")
	{
     m_filter=">";
	}
    if(m_filter=="等于")
	{
     m_filter="=";
	}    
    else if(m_filter=="小于")
	{
     m_filter="<";
	}
    else if(m_filter=="")
	{
	m_filter="";
	}

if(bSuccess)
{    
	 BOOL flag=false;//用来标示有无重修
	 CString strSQL;
   if(m_score==""||m_filter=="")
        strSQL.Format("select* from course,score where student_no in(select student_no from student where student_name='%s') and course.course_no=score.course_no and score.active_status='Y'",m_name);
   else
        strSQL.Format("select* from course,score where student_no in (select student_no from student where student_name='%s') and  course.course_no=score.course_no and  score_peacetime%s%s and score.active_status='Y'",m_name,m_filter,m_score);
        m_list.DeleteColumn(3);
		m_list.DeleteColumn(2);
        m_list.DeleteColumn(1);
        m_list.DeleteColumn(0);
        m_list.DeleteAllItems();
        m_list.InsertColumn(0,"  课程名");
        m_list.InsertColumn(1,"平时成绩");
		m_list.InsertColumn(2,"考试成绩");
		m_list.InsertColumn(3,"  总成绩");
        RECT rectList;
        m_list.GetWindowRect(&rectList);
        int wid=rectList.right-rectList.left-4;
        for(int i=0;i<4;i++)
        m_list.SetColumnWidth(i,wid/4);
        m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);
        m_recordSet.Open(CRecordset::forwardOnly,strSQL);
        for(int j=0;j<m_recordSet.GetRecordCount();j++)
		{
        CString temp;
        m_recordSet.GetFieldValue("course_name",temp);
        m_list.InsertItem(j,temp);
        m_recordSet.GetFieldValue("score_peacetime",temp);
        int a;
        a=atoi(temp);
		m_list.SetItemText(j,1,temp);
        m_recordSet.GetFieldValue("score_exam",temp);
		int b;
        b=atoi(temp);
		m_list.SetItemText(j,2,temp);
		int c=a*0.3+b*0.7;
        temp.Format("%d",   c); 
        m_list.SetItemText(j,3,temp);
		
		if(c<60)
			flag=true;
        m_recordSet.MoveNext();
        }
		if(flag)
			MessageBox("注意:你有挂科成绩");
        m_recordSet.Close();
       }
   }
if(sortBy==2)

{
	CString m_course;
    m_strQCourse.GetWindowText(m_course);
      if(m_course=="")
	  {
      MessageBox("请输入课程名");
      }
     else
     {
       CString strSQL;
       strSQL.Format("select* from student,score where student.student_no=score.student_no and course_no in(select course_no from course where course_name='%s') and score.active_status='Y'",m_course);
        m_list.DeleteColumn(3);
		m_list.DeleteColumn(2);
        m_list.DeleteColumn(1);
        m_list.DeleteColumn(0);
        m_list.DeleteAllItems();
        m_list.InsertColumn(0,"  学生名");
        m_list.InsertColumn(1,"平时成绩");
		m_list.InsertColumn(2,"考试成绩");
		m_list.InsertColumn(3,"  总成绩");
 
        RECT rectList;
        m_list.GetWindowRect(&rectList);
        int wid=rectList.right-rectList.left-4;
        for(int i=0;i<4;i++)
        m_list.SetColumnWidth(i,wid/4);
        m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);
        m_recordSet.Open(CRecordset::forwardOnly,strSQL);
        for(int j=0;j<m_recordSet.GetRecordCount();j++)
		{
        CString temp;
        m_recordSet.GetFieldValue("student_name",temp);
        m_list.InsertItem(j,temp);
        m_recordSet.GetFieldValue("score_peacetime",temp);
        int a;
        a=atoi(temp);
		m_list.SetItemText(j,1,temp);
        m_recordSet.GetFieldValue("score_exam",temp);
		int b;
        b=atoi(temp);
		m_list.SetItemText(j,2,temp);
		int c=a*0.3+b*0.7;
        temp.Format("%d",   c); 
        m_list.SetItemText(j,3,temp);
        m_recordSet.MoveNext();
        }
        m_recordSet.Close();
       }
   }	
}

⌨️ 快捷键说明

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