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

📄 courseqdlg.cpp

📁 这是一个学生管理系统 包含学生基本信息 选课信息 宿舍信息 教师信息 课程信息 班机信息 教师信息等录入 查询 修改删除等强大功能
💻 CPP
字号:
// CourseQdlg.cpp : implementation file
//

#include "stdafx.h"
#include "Student.h"
#include "CourseQdlg.h"

#include "CourseSet.h"

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

/////////////////////////////////////////////////////////////////////////////
// CCourseQdlg dialog


CCourseQdlg::CCourseQdlg(CWnd* pParent /*=NULL*/)
	: CDialog(CCourseQdlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCourseQdlg)
	m_name = _T("");
	m_course_no = _T("");
	//}}AFX_DATA_INIT
}


void CCourseQdlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCourseQdlg)
	DDX_Control(pDX, IDC_LIST_COURSEQ, m_stuQery_list);
	DDX_Text(pDX, IDC_EDIT_COURSE_NAME, m_name);
	DDX_Text(pDX, IDC_EDIT_COURSE_NO, m_course_no);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCourseQdlg, CDialog)
	//{{AFX_MSG_MAP(CCourseQdlg)
	ON_BN_CLICKED(IDC_BTN_QUERY, OnBtnQuery)
	ON_BN_CLICKED(IDC_BTN_DELETE, OnBtnDelete)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCourseQdlg message handlers

void CCourseQdlg::OnBtnQuery() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	CDialog::OnCancel();
   
	CCourseSet pcourse;

    CString strSQL;
	try{
		if(!m_course_no.IsEmpty()){
			strSQL="select * from course where pcourse.m_Course_no=m_course_no";
		}
		    
		else{
			if(m_name.IsEmpty()){
				AfxMessageBox("请输入要查询的课程名或课程号!");
				return;
			}
			
			strSQL="select * from course where pcourse.m_Name=m_name"; 
		}
	//AfxMessageBox("打开数据库!");
	if(!pcourse.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		 AfxMessageBox("打开数据库失败!");
		return;
	}
	m_stuQery_list.DeleteAllItems();//将表中原有的记录全部删掉
	int i=0;
	CString str;
	while(!pcourse.IsEOF())
	{
	    m_stuQery_list.InsertItem(i,pcourse.m_Course_no);
		m_stuQery_list.SetItemText(i,1,pcourse.m_Kind);
		m_stuQery_list.SetItemText(i,2,pcourse.m_Name);
		m_stuQery_list.SetItemText(i,3,pcourse.m_Introduction);
		str.Format("%s",pcourse.m_Ctedit);
		m_stuQery_list.SetItemText(i,4,str);
		i++;
		pcourse.MoveNext();
	}
	pcourse.Close();
	}
	catch(CDBException *pe){
		AfxMessageBox(pe->m_strError);
		pe->Delete();
	}
		
}

void CCourseQdlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	CDialog::OnCancel();
}

void CCourseQdlg::OnBtnDelete() 
{
	// TODO: Add your control notification handler code here
 int i =m_stuQery_list.GetSelectionMark();
	if(i<0)
	{
		AfxMessageBox("请选择一条记录进行查看!");
		return;
	}
	CString strSQL;
    strSQL.Format("select * from course where Course_no= '%s' ",m_stuQery_list.GetItemText(i,0));

	

	if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		AfxMessageBox("打开数据库失败!");
		return ;
	}
	//if(m_kind=0&&flag)   //只有老师才可删除并且在一周内
	    m_recordset.Delete();
	//else
     // AfxMessageBox("此操作者无权删除!");

	m_recordset.Close();
	RefreshData();
	
}
void CCourseQdlg::RefreshData(){
	m_stuQery_list.DeleteAllItems();
	m_stuQery_list.SetRedraw(FALSE);

	UpdateData(TRUE);
	CString strSQL;
	strSQL="select * from course";
	if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);
		return ;
	}	
	int i=0;
	while(!m_recordset.IsEOF())
	{
		m_stuQery_list.InsertItem(i,m_recordset.m_Course_no);
        m_stuQery_list.SetItemText(i,1,m_recordset.m_Kind );
        m_stuQery_list.SetItemText(i,1,m_recordset.m_Name);
        m_stuQery_list.SetItemText(i,1,m_recordset.m_Introduction);
//	    m_stuQery_list.SetItemText(i,1,m_recordset.m_Ctedit);

	    i++;
		m_recordset.MoveNext();
	}
	m_recordset.Close();
	m_stuQery_list.SetRedraw(TRUE);
}

BOOL CCourseQdlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	//初始化学生基本信息表
	m_stuQery_list.InsertColumn(0,"课程号");
	m_stuQery_list.InsertColumn(1,"课程类别");
	m_stuQery_list.InsertColumn(2,"课程名称");
	m_stuQery_list.InsertColumn(3,"课程简介");
    m_stuQery_list.InsertColumn(4,"学分");

	m_stuQery_list.SetColumnWidth(0,60);
	m_stuQery_list.SetColumnWidth(1,60);
	m_stuQery_list.SetColumnWidth(2,60);
    m_stuQery_list.SetColumnWidth(3,140);
	m_stuQery_list.SetColumnWidth(4,60);

	m_stuQery_list.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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