📄 opclass.cpp
字号:
#include "StdAfx.h"
#include "OPClass.h"
#include "ado.h"
CDataClass::CDataClass(void)
{
}
CDataClass::~CDataClass(void)
{
}
/************************************************************************/
/* 获取所有班级列表
/************************************************************************/
BOOL CDataClass::LoadClassInfo(CStringArray& a)
{
a.RemoveAll();
adoPack::CADORecordset& rs = theApp.m_RecordSet;
if(!rs.Open("Class", adoPack::CADORecordset::openTable))
return FALSE;
while (!rs.IsEOF())
{
CString s;
rs.GetFieldValue("ClassName", s);
a.Add(s);
rs.MoveNext();
}
return TRUE;
}
/************************************************************************/
/* 判断指定班级是否存在
/************************************************************************/
BOOL CDataClass::IsClassExsist(CString strClassName)
{
CString strSQL = "SELECT COUNT(ID) FROM Class WHERE ClassName = '" + strClassName + "'";
theApp.m_RecordSet.Open(strSQL);
int nCount = 0;
theApp.m_RecordSet.GetFieldValue(0, nCount);
return nCount > 0;
}
/************************************************************************/
/* 添加班级
/************************************************************************/
BOOL CDataClass::AddClass(CString strClassName)
{
if(IsClassExsist(strClassName))
{
AfxMessageBox("该班级已经存在了");
return FALSE;
}
CString strSQL = "INSERT INTO Class(ClassName) VALUES('" + strClassName + "')";
return theApp.m_Connection.ExecuteSQL(strSQL);
}
/************************************************************************/
/* 删除班级
/************************************************************************/
BOOL CDataClass::DeleteClass(CString strClassName)
{
if(!IsClassExsist(strClassName))
{
AfxMessageBox("该班级不存在");
return FALSE;
}
CString strSQL = "DELETE FROM Class WHERE ClassName = '" + strClassName + "'";
return theApp.m_Connection.ExecuteSQL(strSQL);
}
/************************************************************************/
/* 修改班级信息
/************************************************************************/
BOOL CDataClass::ModifyClass(CString strOldName, CString strNewName)
{
if(!IsClassExsist(strOldName))
{
AfxMessageBox("该班级不存在");
return FALSE;
}
CString strSQL = "UPDATE Class SET ClassName = '" + strNewName + "' WHERE ClassName='" + strOldName + "'";
theApp.m_Connection.ExecuteSQL(strSQL);
return TRUE;
}
/************************************************************************/
/* 获取一个班的所有成员信息列表
/************************************************************************/
BOOL CDataClass::LoadClassMember(CPtrArray& ptr, CString strClass)
{
ptr.RemoveAll();
adoPack::CADORecordset& rs = theApp.m_RecordSet;
if(!rs.Open("SELECT* FROM Member WHERE ClassName = '" + strClass + "'"))
return FALSE;
while (!rs.IsEOF())
{
Member* p = new Member;
rs.GetFieldValue("ID", p->strID);
rs.GetFieldValue("Name", p->strName);
rs.GetFieldValue("ClassName", p->strClass);
rs.GetFieldValue("Role", p->nRole);
rs.GetFieldValue("State", p->nState);
rs.GetFieldValue("IP", p->strIP);
ptr.Add(p);
rs.MoveNext();
}
return TRUE;
}
/************************************************************************/
/* 判断指定成员是否存在
/************************************************************************/
BOOL CDataClass::IsMemberExsist(CString strID)
{
CString strSQL = "SELECT COUNT(ID) FROM Member WHERE ID = '" + strID + "'";
theApp.m_RecordSet.Open(strSQL);
int nCount = 0;
theApp.m_RecordSet.GetFieldValue(0, nCount);
return nCount > 0;
}
/************************************************************************/
/* 添加一个成员
/************************************************************************/
BOOL CDataClass::AddMember(Member* pMember)
{
if(IsMemberExsist(pMember->strID))
{
AfxMessageBox("该成员已经存在了");
return FALSE;
}
CString strRole, strState;
strRole.Format("%d", pMember->nRole);
strState.Format("%d", pMember->nState);
CString strSQL = "INSERT INTO Member(ID, Name, ClassName, Role, State, IP) VALUES('" + pMember->strID + "', '"
+ pMember->strName + "', '"
+ pMember->strClass + "', "
+ strRole + ", "
+ strState + ", '"
+ pMember->strIP + "')";
return theApp.m_Connection.ExecuteSQL(strSQL);
}
/************************************************************************/
/* 删除一个成员
/************************************************************************/
BOOL CDataClass::DeleteMember(CString strID)
{
if(!IsMemberExsist(strID))
{
AfxMessageBox("该成员不存在");
return FALSE;
}
CString strSQL = "DELETE FROM Member WHERE ID = '" + strID + "'";
return theApp.m_Connection.ExecuteSQL(strSQL);
}
/************************************************************************/
/* 修改成员信息
/************************************************************************/
BOOL CDataClass::ModifyMember(CString strID, Member* pMember)
{
if(!IsMemberExsist(strID))
{
AfxMessageBox("该成员不存在");
return FALSE;
}
adoPack::CADORecordset& rs = theApp.m_RecordSet;
if(!rs.Open("SELECT * FROM Member WHERE ID = '" + strID + "'"))
return FALSE;
rs.MoveFirst();
rs.Edit();
rs.SetFieldValue("ID", pMember->strID);
rs.SetFieldValue("Name", pMember->strName);
rs.SetFieldValue("ClassName", pMember->strClass);
rs.SetFieldValue("Role", pMember->nRole);
rs.SetFieldValue("State", pMember->nState);
rs.SetFieldValue("IP", pMember->strIP);
rs.Update();
return TRUE;
//CString strRole, strState;
//strRole.Format("%d", pMember->nRole);
//strState.Format("%d", pMember->nState);
//CString strSQL = "UPDATE Member SET ID = '" + pMember->strID
// + "', Name = '" + pMember->strName
// + "', ClassName = '" + pMember->strClass
// + "', IP = '" + pMember->strIP
// + "', Role = " + strRole
// + ", State = " + strState
// + " WHERE ID = '" + strID + "'";
//return theApp.m_Connection.ExecuteSQL(strSQL);
}
/************************************************************************/
/* 获取一个指定成员的信息
/************************************************************************/
BOOL CDataClass::GetMember(Member& m, CString strID)
{
if(!IsMemberExsist(strID))
{
AfxMessageBox("该成员不存在");
return FALSE;
}
adoPack::CADORecordset& rs = theApp.m_RecordSet;
if(!rs.Open("SELECT * FROM Member WHERE ID = '" + strID + "'"))
return FALSE;
rs.GetFieldValue("ID", m.strID);
rs.GetFieldValue("Name", m.strName);
rs.GetFieldValue("ClassName", m.strClass);
rs.GetFieldValue("Role", m.nRole);
rs.GetFieldValue("State", m.nState);
rs.GetFieldValue("IP", m.strIP);
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -