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

📄 staction.cpp

📁 学校社团管理系统Visual C
💻 CPP
字号:
/**
 * <p> Title: 对社团对象进行增加,删除,修改,查询功能的子类实现 </p>
 * <p> Description:提供对社团,学生,活动对象进行增加,删除,修改,查询功能的处理 </p>
 * <p> Copyright: bjut </p>
 * <p> Company: bjut </p>
 * @author gaok
 * @version 1.0 
 * @Created on 2005-12-17
 */
#include "stdafx.h"
#include "STMis.h"
#include "STAction.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
/*
 * 构造函数
 */
STAction::STAction(Variable* vSt)
{
	StVariable* svSt = (StVariable *)vSt;
	m_stZznm = svSt->NM; // 组织内码,主键
	m_stName = svSt->STMC; // 社团名称
	m_username = svSt->LRR; // 录入人,修改人,删除人
	m_stFzr = svSt->ST_FZR; // 负责人
	m_stTel = svSt->ST_LXDH; // 联系电话
	//CAddStMsgRSet m_recordset(&m_database); // 连接数据库
}
/*
 * 执行某操作(修改,删除,查询)后刷新活动列表的记录
 * @param strSQL SQL文
 * @return CRecordset 结果集
 */
CRecordset* STAction::RefreshData(CString strSQL)
{
    CAddStMsgRSet* m_recordSet = new CAddStMsgRSet(&m_database); // 连接数据库
	m_recordSet->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); // 查询数据库
	return m_recordSet;	// 返回结果集
}

/*
 * 增加社团名称
 */
void STAction::add() {
	int i = 1;
	int flag = 0;
	/* 从主码为1开始在数据库中的相应表中搜索,如果找到记录,则主码值加1,直到数据库中无该主码
	* 值,对应的记录,则将该主码分配给新的记录
	*/
	while (!flag) {
		sSql.Format("select * from ST where ST_ZZNM='%d'", i); // 查询社团数据表
		CAddStMsgRSet m_record(&m_database); // 连接数据库
		m_record.Open(AFX_DB_USE_DEFAULT_TYPE,sSql); // 通过CAddStMsgRSet进行绑定查询
		if (m_record.GetRecordCount() == 0) { // 增加新的社团组织				
			CTime tm=CTime::GetCurrentTime(); // 获得系统当前时间
			CString str=tm.Format("%Y-%m-%d %H:%M:%S"); // 格式成:yyyy-mm-dd hh:mm:ss的格式				
			/* 录入人需要从登陆人的用户名中得到 */
			sSql.Format("INSERT INTO ST (ST_ZZNM,ST_ZZMC,ST_FZR,ST_LXDH,ST_LRSJ,ST_LRR,ST_SCBZ) VALUES (\'%d\',\'%s\',\'%s\',\'%s\',\'%s\','%s',false)",i,m_stName,m_stFzr,m_stTel,str,m_username); // 插入新的社团
			m_database.ExecuteSQL(sSql); // 执行SQL文
			m_database.Close(); // 关掉数据库
			flag = 1; // 结束循环
		} else if (m_record.GetRecordCount() > 0) { // 主键顺序加一
			i ++;
			m_database.Close(); // 关掉数据库
		}
	}
}
/*
 * 社团组织维护页面的删除功能
 */
void STAction::del() {
	sSql.Format("select * from ST where ST_SCBZ=false and ST_ZZNM ='%s' ", m_stZznm);
	CAddStMsgRSet m_resultset(&m_database); // 连接数据库
	CTime tm=CTime::GetCurrentTime(); // 获得系统当前时间
	CString str=tm.Format("%Y-%m-%d %H:%M:%S"); // 格式成:yyyy-mm-dd hh:mm:ss的格式				
	// 通过CAddXsMsgReSet进行绑定查询
	if(!m_resultset.Open(AFX_DB_USE_DEFAULT_TYPE,sSql))
	{
		AfxMessageBox("打开数据库失败!");
		return ;
	}
	m_resultset.Edit(); // 将修改的数据保存到数据库中
	m_resultset.m_ST_SCR = m_username; // 修改人
	m_resultset.m_ST_SCSJ = str; // 修改时间
	m_resultset.m_ST_SCBZ = true; // 删除此社团
	m_resultset.Update();
	m_resultset.Close();
}
/*
 * 社团组织维护页面的修改功能
 */
void STAction::modify() {
    CAddStMsgRSet m_recordset(&m_database); // 连接数据库
	sSql.Format("select * from ST where ST_ZZNM='%s' and ST_ZZMC='%s' and ST_SCBZ=false", m_stZznm, m_stName); // 查询社团数据表
	m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,sSql); // 通过CAddStMsgRSet进行绑定查询
	CTime tm=CTime::GetCurrentTime(); // 获得系统当前时间
	CString str=tm.Format("%Y-%m-%d %H:%M:%S"); // 格式成:yyyy-mm-dd hh:mm:ss的格式
	m_recordset.Edit(); // 将修改的数据保存到数据库中
	m_recordset.m_ST_FZR = m_stFzr; // 更新负责人
    m_recordset.m_ST_LXDH = m_stTel; // 更新联系电话
    m_recordset.m_ST_XGR = m_username; // 更新修改人
    m_recordset.m_ST_XGSJ = str; // 更新修改时间
    m_recordset.Update(); // 更新数据库
	m_database.Close(); // 关掉数据库
}

void STAction::search() {
}
void STAction::view() {
}
/*
 * 判断数据库中是否存在所要增加的社团名称
 * @return bool true/false
 */
bool STAction::isEmpty() {
	sSql.Format("select * from ST where ST_ZZMC='%s' and ST_SCBZ=false", m_stName);
	m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,sSql); // 查询数据库
	if (m_recordset.GetRecordCount() == 0) { // 如果不存在名称为m_stName的社团
		m_database.Close(); // 关掉数据库
	    return true;
	} else {
		m_database.Close(); // 关闭数据库
		return false;
	}
}
/*
 * 析构函数
 */
STAction::~STAction()
{

}

⌨️ 快捷键说明

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