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