📄 examkinddlg.cpp
字号:
// Examkinddlg.cpp : implementation file
//
#include "stdafx.h"
#include "mystudentsys.h"
#include "Examkinddlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CExamkinddlg dialog
CExamkinddlg::CExamkinddlg(CWnd* pParent /*=NULL*/)
: CDialog(CExamkinddlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CExamkinddlg)
m_examkind = _T("");
//}}AFX_DATA_INIT
}
void CExamkinddlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CExamkinddlg)
DDX_Text(pDX, IDC_EDIT_examkind, m_examkind);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CExamkinddlg, CDialog)
//{{AFX_MSG_MAP(CExamkinddlg)
ON_COMMAND(ID_toolbar_examkind_add, Ontoolbarexamkindadd)
ON_COMMAND(ID_toolbar_examkind_del, Ontoolbarexamkinddel)
ON_COMMAND(ID_toolbar_examkind_first, Ontoolbarexamkindfirst)
ON_COMMAND(ID_toolbar_examkind_last, Ontoolbarexamkindlast)
ON_COMMAND(ID_toolbar_examkind_next, Ontoolbarexamkindnext)
ON_COMMAND(ID_toolbar_examkind_pre, Ontoolbarexamkindpre)
ON_COMMAND(ID_toolbar_examkind_save, Ontoolbarexamkindsave)
ON_WM_CLOSE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CExamkinddlg message handlers
BOOL CExamkinddlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
if(!m_ToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_SIZE_DYNAMIC)
||!m_ToolBar.LoadToolBar(IDR_TOOLBAR_examkinds))
{
TRACE0(_T("创建工具条失败\n"));
return FALSE;
}
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
m_ToolBar.SetButtonStyle(0,TBBS_CHECKBOX);
m_ToolBar.SetButtonStyle(1,TBBS_CHECKBOX);
m_ToolBar.SetButtonStyle(2,TBBS_CHECKBOX);
m_ToolBar.SetButtonStyle(3,TBBS_CHECKBOX);
m_ToolBar.SetButtonStyle(4,TBBS_CHECKBOX);
m_ToolBar.SetButtonStyle(5,TBBS_CHECKBOX);
m_ToolBar.SetButtonStyle(6,TBBS_CHECKBOX);
// m_ToolBar.SetButtonStyle(3,TBBS_CHECKBOX);
CString sqlStr;
sqlStr="SELECT * FROM tb_examkinds";//在tb_examkinds数据表里面查询
if(!myexamset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr))//打开数据表
{
AfxMessageBox("tb_examkinds表打开失败!");
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CExamkinddlg::Ontoolbarexamkindadd()
{
// TODO: Add your command handler code here
m_examkind="";
UpdateData(false);
m_bAdd=true;
}
void CExamkinddlg::Ontoolbarexamkinddel()
{
// TODO: Add your command handler code here
CString sqlStr_findid;
sqlStr_findid="SELECT * FROM tb_examinfo_sub WHERE tb_examinfo_sub.kind='";////在 tb_examinfo_sub数据表里面查询
sqlStr_findid+=m_examkind;
sqlStr_findid+="'";
if(myexamset_findkind.IsOpen())
{
myexamset_findkind.Close();
}
if(!myexamset_findkind.Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr_findid))
{
AfxMessageBox("tb_examinfo_sub 表打开失败!");
}
if(myexamset_findkind.GetRecordCount()!=0)
{
AfxMessageBox("此考试类别在<考试信息表>里有引用,不能删除!");
if(myexamset_findkind.IsOpen())
{
myexamset_findkind.Close();
}
return;
}
myexamset.Delete();//删除记录
myexamset.Requery();
DisplayRecord();//更新显示
}
void CExamkinddlg::Ontoolbarexamkindfirst()
{
// TODO: Add your command handler code here
if(!myexamset.IsBOF())
{
myexamset.MoveFirst();//向前移动一条记录
DisplayRecord();//更新窗口显示
// UpdateData(FALSE);
}
}
void CExamkinddlg::Ontoolbarexamkindlast()
{
// TODO: Add your command handler code here
if(!myexamset.IsEOF())//如果不是结尾,就移动到最后一条记录,然后显示更新
{
myexamset.MoveLast();
DisplayRecord();//更新显示
}
}
void CExamkinddlg::Ontoolbarexamkindnext()
{
// TODO: Add your command handler code here
if(!myexamset.IsEOF())//如果不是结尾,就移动到下一条记录,然后显示更新
{
myexamset.MoveNext();
DisplayRecord();//更新显示
}
}
void CExamkinddlg::Ontoolbarexamkindpre()
{
// TODO: Add your command handler code here
if(!myexamset.IsBOF())//如果不是开头,就移动到上一条记录,然后显示更新
{
myexamset.MovePrev();
DisplayRecord();//更新显示
}
}
void CExamkinddlg::Ontoolbarexamkindsave()
{
// TODO: Add your command handler code here
UpdateData(true);//读入输入的资料
if(m_examkind.IsEmpty())
{//如果名字是空就提示错误
AfxMessageBox("请输入相应的数据!");
return;
}
CString sqlStr_findid;
sqlStr_findid="SELECT * FROM tb_examkinds WHERE tb_examkinds.kind='";////在 tb_examkinds数据表里面查询
sqlStr_findid+=m_examkind;
sqlStr_findid+="'";
if(myexamset_find.IsOpen())
{
myexamset_find.Close();
}
if(!myexamset_find.Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr_findid))
{
AfxMessageBox("tb_examkinds 表打开失败!");
}
if(myexamset_find.GetRecordCount()!=0)
{
AfxMessageBox("此考试类别已经存在,考试类别考试类别不能重复,请修改后再输入!");
if(myexamset_find.IsOpen())
{
myexamset_find.Close();
}
return;
}
//如果是添加记录,就调用添加记录的函数处理
myexamset.AddNew();
myexamset.m_kind=m_examkind;//对应变量更新
myexamset.Update();
myexamset.Requery();
m_bAdd=false;//设置添加状态为false
// m_bEdit=false;//设置编辑状态为false
DisplayRecord();//更新显示
}
bool CExamkinddlg::DisplayRecord()
{
if(myexamset.IsEOF()&&myexamset.IsBOF())//判断是否移动到了开头和结尾
{
m_examkind="";
}
else
{
if(myexamset.IsBOF())//移动到了开头,就向后移动
{
myexamset.MoveNext();
}
else//否则前移
{
if(myexamset.IsEOF())
{
myexamset.MovePrev();
}
}
}
m_examkind=myexamset.m_kind;//对应变量赋值
UpdateData(false);//显示更新
return true;
}
void CExamkinddlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
if(myexamset.IsOpen())
{
myexamset.Close();
}
CDialog::OnClose();
}
void CExamkinddlg::OnOK()
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -