【VC开源代码栏目提醒】:网学会员--在 VC开源代码编辑为广大网友搜集整理了:Classinfodlg.cpp绩等信息,祝愿广大网友取得需要的信息,参考学习。
// Classinfodlg.cpp : implementation file
//
#include "stdafx.h"
#include "mystudentsys.h"
#include "Classinfodlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CClassinfodlg dialog
CClassinfodlg::CClassinfodlg(CWnd* pParent /*=NULL*/)
: CDialog(CClassinfodlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CClassinfodlg)
m_classname = _T("");
m_classteacher = _T("");
//}}AFX_DATA_INIT
}
void CClassinfodlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CClassinfodlg)
DDX_Text(pDX, IDC_EDIT_classname, m_classname);
DDX_Text(pDX, IDC_EDIT_classteacher, m_classteacher);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CClassinfodlg, CDialog)
//{{AFX_MSG_MAP(CClassinfodlg)
ON_COMMAND(ID_classinfo_toolbar_add, Onclassinfotoolbaradd)
ON_COMMAND(ID_classinfo_toolbar_del, Onclassinfotoolbardel)
ON_COMMAND(ID_classinfo_toolbar_first, Onclassinfotoolbarfirst)
ON_COMMAND(ID_classinfo_toolbar_last, Onclassinfotoolbarlast)
ON_COMMAND(ID_classinfo_toolbar_next, Onclassinfotoolbarnext)
ON_COMMAND(ID_classinfo_toolbar_pre, Onclassinfotoolbarpre)
ON_COMMAND(ID_classinfo_toolbar_save, Onclassinfotoolbarsave)
ON_WM_CLOSE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CClassinfodlg message handlers
BOOL CClassinfodlg::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_classinfo))
{
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);
// TODO: Add extra initialization here
CString sqlStr;
sqlStr="SELECT * FROM tb_classinfo";//在tb_classinfo数据表里面查询
if(!myclassinfoset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr))//打开数据表
{
AfxMessageBox("tb_classinfo表打开失败!");
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CClassinfodlg::Onclassinfotoolbaradd()
{
// TODO: Add your command handler code here
m_classname="";
m_classteacher="";
UpdateData(false);
m_bAdd=true;
}
void CClassinfodlg::Onclassinfotoolbardel()
{
// TODO: Add your command handler code here
CString sqlStr_findid;
sqlStr_findid="SELECT * FROM tb_studentinfo WHERE tb_studentinfo.class='";////在 tb_studentinfo数据表里面查询
sqlStr_findid+=m_classname;
sqlStr_findid+="'";
if(myclassinfoset_findref.IsOpen())
{
myclassinfoset_findref.Close();
}
if(!myclassinfoset_findref.Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr_findid))
{
AfxMessageBox("tb_studentinfo 表打开失败!");
}
if(myclassinfoset_findref.GetRecordCount()!=0)
{
AfxMessageBox("此考试类别在<学生信息表>里有引用,不能删除!");
if(myclassinfoset_findref.IsOpen())
{
myclassinfoset_findref.Close();
}
return;
}
myclassinfoset.Delete();//删除记录
myclassinfoset.Requery();
DisplayRecord();//更新显示
}
void CClassinfodlg::Onclassinfotoolbarfirst()
{
// TODO: Add your command handler code here
if(!myclassinfoset.IsBOF())
{
myclassinfoset.MoveFirst();//向前移动一条记录
DisplayRecord();//更新窗口显示
// UpdateData(FALSE);
}
}
void CClassinfodlg::Onclassinfotoolbarlast()
{
// TODO: Add your command handler code here
if(!myclassinfoset.IsEOF())//如果不是结尾,就移动到最后一条记录,然后显示更新
{
myclassinfoset.MoveLast();
DisplayRecord();//更新显示
}
}
void CClassinfodlg::Onclassinfotoolbarnext()
{
// TODO: Add your command handler code here
if(!myclassinfoset.IsEOF())//如果不是结尾,就移动到下一条记录,然后显示更新
{
myclassinfoset.MoveNext();
DisplayRecord();//更新显示
}
}
void CClassinfodlg::Onclassinfotoolbarpre()
{
// TODO: Add your command handler code here
if(!myclassinfoset.IsBOF())//如果不是开头,就移动到上一条记录,然后显示更新
{
myclassinfoset.MovePrev();
DisplayRecord();//更新显示
}
}
void CClassinfodlg::Onclassinfotoolbarsave()
{
// TODO: Add your command handler code here
UpdateData(true);//读入输入的资料
if(m_classname.IsEmpty()||m_classteacher.IsEmpty())
{//如果名字是空就提示错误
AfxMessageBox("请输入相应的数据!");
return;
}
CString sqlStr_findid;
sqlStr_findid="SELECT * FROM tb_classinfo WHERE tb_classinfo.classname='";////在 tb_classinfo数据表里面查询
sqlStr_findid+=m_classname;
sqlStr_findid+="'";
if(myclassinfoset_find.IsOpen())
{
myclassinfoset_find.Close();
}
if(!myclassinfoset_find.Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr_findid))
{
AfxMessageBox("tb_classinfo 表打开失败!");
}
if(myclassinfoset_find.GetRecordCount()!=0)
{
AfxMessageBox("此班级已经存在,班级名称不能重复,请修改后再输入!");
if(myclassinfoset_find.IsOpen())
{
myclassinfoset_find.Close();
}
return;
}
//如果是添加记录,就调用添加记录的函数处理
myclassinfoset.AddNew();
// else
// {//否则调用编辑函数处理
// bkSet.Edit();
// }
myclassinfoset.m_teacher=m_classteacher;//对应变量更新
myclassinfoset.m_classname=m_classname;
myclassinfoset.Update();
myclassinfoset.Requery();
m_bAdd=false;//设置添加状态为false
// m_bEdit=false;//设置编辑状态为false
DisplayRecord();//更新显示
}
bool CClassinfodlg::DisplayRecord()
{
if(myclassinfoset.IsEOF()&&myclassinfoset.IsBOF())//判断是否移动到了开头和结尾
{
m_classname="";
m_classteacher="";
}
else
{
if(myclassinfoset.IsBOF())//移动到了开头,就向后移动
{
myclassinfoset.MoveNext();
}
else//否则前移
{
if(myclassinfoset.IsEOF())
{
myclassinfoset.MovePrev();
}
}
}
m_classname=myclassinfoset.m_classname;//对应变量赋值
m_classteacher=myclassinfoset.m_teacher;
UpdateData(false);//显示更新
return true;
}
void CClassinfodlg::OnClose()
{
// TODO: Add your message ha
上一篇:
ClassForm.cpp
下一篇:
扛起年轻化大旗,哈弗F系玩转行业新风潮