📄 operatorview.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 + -