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

📄 operatorview.cpp

📁 学生信息管理系统
💻 CPP
字号:
// OperatorView.cpp : implementation file
//

#include "stdafx.h"
#include "StudentInfo.h"
#include "OperatorView.h"
#include "MainFrm.h"

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

/////////////////////////////////////////////////////////////////////////////
// COperatorView

IMPLEMENT_DYNCREATE(COperatorView, CFormView)

COperatorView::COperatorView()
	: CFormView(COperatorView::IDD)
{
	//{{AFX_DATA_INIT(COperatorView)
	m_eCourseName = _T("");
	m_CStudentID = _T("");
	m_eCode = _T("");
	//}}AFX_DATA_INIT
    m_bFirstTime = FALSE;
	m_bExist = FALSE;
}

COperatorView::~COperatorView()
{
}

void COperatorView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(COperatorView)
	DDX_Control(pDX, IDC_CSTUDENTID, m_CStuID);
	DDX_Control(pDX, IDC_CCOUSENAME, m_CName);
	DDX_Control(pDX, IDC_LISTCONTENT, m_listContent);
	DDX_CBString(pDX, IDC_CCOUSENAME, m_eCourseName);
	DDX_CBString(pDX, IDC_CSTUDENTID, m_CStudentID);
	DDX_Text(pDX, IDC_ECODE, m_eCode);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(COperatorView, CFormView)
	//{{AFX_MSG_MAP(COperatorView)
	ON_WM_DESTROY()
	ON_WM_PAINT()
	ON_BN_CLICKED(IDC_ADD, OnAdd)
	ON_BN_CLICKED(IDC_MODIFY, OnModify)
	ON_BN_CLICKED(IDC_REFRESH, OnRefresh)
	ON_BN_CLICKED(IDC_DELETE, OnDelete)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// COperatorView diagnostics

#ifdef _DEBUG
void COperatorView::AssertValid() const
{
	CFormView::AssertValid();
}

void COperatorView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// COperatorView message handlers

void COperatorView::OnDestroy() 
{
	CFormView::OnDestroy();

	((CMainFrame*)AfxGetMainWnd())->m_pOperator=NULL;
	delete ((CMainFrame*)AfxGetMainWnd())->m_pOperator;	
}

void COperatorView::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	
	// TODO: Add your message handler code here
	
	// Do not call CFormView::OnPaint() for painting messages
	if(!m_bFirstTime)
	{
		if(!m_bExist)
		{
			CString strInfo, strID, strConName;
            _variant_t var;
		    m_listContent.InsertColumn(0,_T("学生ID"),LVCFMT_LEFT);
		    m_listContent.InsertColumn(1,_T("课程号"),LVCFMT_LEFT);
		    m_listContent.InsertColumn(2,_T("成绩"),  LVCFMT_LEFT);
            for(int i = 0;i < 3;i++)
			{
			    m_listContent.SetColumnWidth(i,150);
			}
			strInfo = "SELECT * FROM student";
			m_pResult = m_pConn.GetRS(strInfo);
			m_pResult->MoveFirst();
			while(!m_pResult->adoEOF)
			{
				var = m_pResult->GetCollect("studentID");
                if(var.vt != VT_NULL)
				{
					strID = (LPCSTR)_bstr_t(var);
					m_CStuID.AddString(strID);
				}
				m_pResult->MoveNext();
			}	

			strInfo = "SELECT * FROM Couse";
			m_pResult = m_pConn.GetRS(strInfo);
			m_pResult->MoveFirst();
			while(!m_pResult->adoEOF)
			{
				var = m_pResult->GetCollect("CouseID");
                if(var.vt != VT_NULL)
				{
					strConName = (LPCSTR)_bstr_t(var);
					m_CName.AddString(strConName);
				}
				m_pResult->MoveNext();
			}
			m_bExist = TRUE;
		}

		int i = 0;
		_variant_t var; 
		CString strMsg, strStudentID, strCnoID, strScord;
        
		strMsg = "SELECT * FROM Scrod";
		m_pResult = m_pConn.GetRS(strMsg);
		m_pResult->MoveFirst();
		while(!m_pResult->adoEOF)
		{
            char buff[10];
			int nItem = m_listContent.InsertItem(LVIF_TEXT|LVIF_STATE,i,itoa(i,buff,10),LVIS_SELECTED,
				        LVIS_SELECTED,0,0);
			var = m_pResult->GetCollect("studentID");
			if(var.vt != VT_NULL)
			{
                strStudentID = (LPCSTR)_bstr_t(var);
			    m_listContent.SetItemText(nItem,0,strStudentID);
			}

			var = m_pResult->GetCollect("cnoID");
			if(var.vt != VT_NULL)
			{
                strCnoID = (LPCSTR)_bstr_t(var);
			    m_listContent.SetItemText(nItem,1,strCnoID);
			}

			var = m_pResult->GetCollect("scord");
			if(var.vt != VT_NULL)
			{
                strScord = (LPCSTR)_bstr_t(var);
                m_listContent.SetItemText(nItem,2,strScord);
			}

			i++;
			m_pResult->MoveNext();
		}

		m_bFirstTime = TRUE;
	}
}

void COperatorView::OnAdd() 
{
    UpdateData(TRUE);
    CString strMsg;
    
	strMsg = "SELECT * FROM Scrod WHERE studentID = " + m_CStudentID + " AND cnoID = " + m_eCourseName;
	m_pResult = m_pConn.GetRS(strMsg);
	if(m_pResult->adoEOF)
	{
		strMsg = "INSERT INTO Scrod VALUES(" + m_CStudentID + "," + m_eCourseName + "," + 
			     m_eCode + ")";
		if(m_pConn.Execute(strMsg))
		{
			AfxMessageBox("数据插入成功!");
			OnRefresh();
		}
		else
		{
			AfxMessageBox("数据插入失败!");
		}
	}
	else
	{
		AfxMessageBox("你输入信息记录以存在,要想修改请进行修改操作!");
	}    	
}

void COperatorView::OnModify() 
{
    UpdateData(TRUE);
    CString strMsg;
    
	strMsg = "SELECT * FROM Scrod WHERE studentID = " + m_CStudentID + "AND cnoID = " + m_eCourseName;
	m_pResult = m_pConn.GetRS(strMsg);
	if(!m_pResult->adoEOF)
	{
		strMsg = "UPDATE Scrod SET Scrod.scord = " + m_eCode + " WHERE studentID = " + m_CStudentID +
			     " AND cnoID = " + m_eCourseName;
		if(m_pConn.Execute(strMsg))
		{
			AfxMessageBox("数据修改成功!");
			OnRefresh();
		}
		else
		{
			AfxMessageBox("数据修改失败!");
		}
	}
	else
	{
		AfxMessageBox("你输入信息记录不存在,请检查信息后再输!");
	}   	
}

void COperatorView::OnRefresh() 
{
	m_listContent.DeleteAllItems();
    m_bFirstTime = FALSE;
	Invalidate();
}

void COperatorView::OnDelete() 
{
    UpdateData(TRUE);
    CString strMsg;

    if(MessageBox("你要删除该条记录吗?","人事管理系统",MB_YESNO|MB_ICONQUESTION) == IDYES)
	{
	    strMsg = "SELECT * FROM Scrod WHERE studentID = " + m_CStudentID + "AND cnoID = " + m_eCourseName;
    	m_pResult = m_pConn.GetRS(strMsg);
	    if(!m_pResult->adoEOF)
		{
	    	strMsg = "DELETE FROM Scrod WHERE studentID = " + m_CStudentID +
			        " AND cnoID = " + m_eCourseName;
	    	if(m_pConn.Execute(strMsg))
			{
			    AfxMessageBox("数据删除成功!");
				OnRefresh();
			}
		    else
			{
			    AfxMessageBox("数据删除失败!");
			}
		}
    	else
		{
	    	AfxMessageBox("你输入信息记录不存在,无法进行删除操作!");
		}   
	}
}

⌨️ 快捷键说明

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