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

📄 mainfrm.cpp

📁 VC6.0开发的学生数据库管理系统的例子 适合初学者
💻 CPP
字号:
// MainFrm.cpp : implementation of the CMainFrame class
//

#include "stdafx.h"
#include "DATABASE.h"

#include "MainFrm.h"
#include "SzDlg.h"
#include "SzDlg2.h"
#include "CodeSet.h"
#include "KmSet.h"
#include "PSWset.h"
#include "PAS.h"
#include "PassDlg.h"
#include "Nuser.h"
#include "KmSet2.h"
#include "DelUser.h"

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

/////////////////////////////////////////////////////////////////////////////
// CMainFrame

IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
	//{{AFX_MSG_MAP(CMainFrame)
	ON_WM_CREATE()
	ON_COMMAND(ID_MENU_SHEZHI, OnMenuShezhi)
	ON_COMMAND(ID_MENU_XIUGAI, OnMenuXiugai)
	ON_COMMAND(ID_MENU_XINJIAN, OnMenuXinjian)
	ON_COMMAND(ID_MENU_DELUSER, OnMenuDeluser)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

static UINT indicators[] =
{
	ID_SEPARATOR,           // status line indicator
    ID_SEPARATOR,
	ID_INDICATOR_CAPS,
	ID_INDICATOR_NUM,
	ID_INDICATOR_SCRL,
};

/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction

CMainFrame::CMainFrame()
{
	// TODO: add member initialization code here
	
}

CMainFrame::~CMainFrame()
{
}

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
		| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
		!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
	{
		TRACE0("Failed to create toolbar\n");
		return -1;      // fail to create
	}

	if (!m_wndStatusBar.Create(this) ||
		!m_wndStatusBar.SetIndicators(indicators,
		  sizeof(indicators)/sizeof(UINT)))
	{
		TRACE0("Failed to create status bar\n");
		return -1;      // fail to create
	}

	// TODO: Delete these three lines if you don't want the toolbar to
	//  be dockable
	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
	EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar(&m_wndToolBar);

	return 0;
}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
	if( !CFrameWnd::PreCreateWindow(cs) )
		return FALSE;
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return TRUE;
}

/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics

#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
	CFrameWnd::AssertValid();
}

void CMainFrame::Dump(CDumpContext& dc) const
{
	CFrameWnd::Dump(dc);
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers


void CMainFrame::OnMenuShezhi() 
{
	CSzDlg dlg1;
	CSzDlg2 dlg2;
	CCodeSet codeSet;
	CKmSet kmSet;
	CKmSet2 kmSet2;
	CString str;
	if(dlg1.DoModal()==IDOK)
	{
		str=dlg1.m_profcode;
		dlg2.m_profcode=str;
	    codeSet.Open();
	    codeSet.m_strFilter.Format("profcode='%s'",str);
	    codeSet.Requery();
		dlg2.m_profname=codeSet.m_profname;
		kmSet2.Open();
	    kmSet2.m_strFilter.Format("profcode='%s'",str);
	    kmSet2.Requery();
        dlg2.m_s1=kmSet2.m_subject1;
		dlg2.m_c1=kmSet2.m_credit1;
        dlg2.m_s2=kmSet2.m_subject2;
		dlg2.m_c2=kmSet2.m_credit2;
		dlg2.m_s3=kmSet2.m_subject3;
		dlg2.m_c3=kmSet2.m_credit3;
		dlg2.m_s4=kmSet2.m_subject4;
		dlg2.m_c4=kmSet2.m_credit4;
		dlg2.m_s5=kmSet2.m_subject5;
		dlg2.m_c5=kmSet2.m_credit5;
		dlg2.m_s6=kmSet2.m_subject6;
		dlg2.m_c6=kmSet2.m_credit6;
		dlg2.m_s7=kmSet2.m_subject7;
		dlg2.m_c7=kmSet2.m_credit7;
		dlg2.m_s8=kmSet2.m_subject8;
		dlg2.m_c8=kmSet2.m_credit8;
		if(dlg2.DoModal()==IDOK){
            UpdateData(TRUE);
			kmSet2.Edit();
			kmSet2.m_subject1=dlg2.m_s1;
			kmSet2.m_credit1=dlg2.m_c1;
			kmSet2.m_subject2=dlg2.m_s2;
			kmSet2.m_credit2=dlg2.m_c2;
			kmSet2.m_subject3=dlg2.m_s3;
			kmSet2.m_credit3=dlg2.m_c3;
			kmSet2.m_subject4=dlg2.m_s4;
			kmSet2.m_credit4=dlg2.m_c4;
			kmSet2.m_subject5=dlg2.m_s5;
			kmSet2.m_credit5=dlg2.m_c5;
			kmSet2.m_subject6=dlg2.m_s6;
			kmSet2.m_credit6=dlg2.m_c6;
			kmSet2.m_subject7=dlg2.m_s7;
			kmSet2.m_credit7=dlg2.m_c7;
			kmSet2.m_subject8=dlg2.m_s8;
			kmSet2.m_credit8=dlg2.m_c8;
			kmSet2.Update();
			kmSet2.Requery();
			AfxMessageBox("修改成功!");
		    UpdateData(FALSE);
		}
		/*kmSet.Open();
	    kmSet.m_strFilter.Format("profcode='%s'",str);
	    kmSet.Requery();
        dlg2.m_s1=kmSet.m_subject;
		dlg2.m_c1=kmSet.m_credit;
		kmSet.MoveNext();
        dlg2.m_s2=kmSet.m_subject;
		dlg2.m_c2=kmSet.m_credit;
		kmSet.MoveNext();        
		dlg2.m_s3=kmSet.m_subject;
		dlg2.m_c3=kmSet.m_credit;
		kmSet.MoveNext(); 
        dlg2.m_s4=kmSet.m_subject;
		dlg2.m_c4=kmSet.m_credit;
        if(dlg2.DoModal()==IDOK){
            UpdateData(TRUE);
			kmSet.Edit();
			kmSet.m_subject=dlg2.m_s4;
			kmSet.m_credit=dlg2.m_c4;
			kmSet.Update();
			
			kmSet.MovePrev();
			kmSet.Edit();
			kmSet.m_subject=dlg2.m_s3;
			kmSet.m_credit=dlg2.m_c3;
			kmSet.Update();
			
			kmSet.MovePrev();
			kmSet.Edit();
			kmSet.m_subject=dlg2.m_s2;
			kmSet.m_credit=dlg2.m_c2;
			kmSet.Update();
			
			kmSet.MovePrev();
			kmSet.Edit();
			kmSet.m_subject=dlg2.m_s1;
			kmSet.m_credit=dlg2.m_c1;
			kmSet.Update();
			kmSet.Requery();
			AfxMessageBox("修改成功!");
		    UpdateData(FALSE);
		}*/
	}
}

void CMainFrame::OnMenuXiugai() 
{
      int flag=0;
	  CPSWset pasSet;
	  CPAS dlg;
	  if(dlg.DoModal()==IDOK){
		  pasSet.Open();
		  while(!pasSet.IsEOF()){
			  if(dlg.m_opass==pasSet.m_pass&&dlg.m_ouser==pasSet.m_user){
				  flag=1;
				  break;
			  }
			  pasSet.MoveNext();
		  }
		  if(flag)
		  { 
		      pasSet.Edit();
		      pasSet.m_user=dlg.m_nuser;
			  pasSet.m_pass=dlg.m_npass;
		      pasSet.Update();
    	      UpdateData(FALSE);
		      AfxMessageBox("密码修改成功,以后请您使用新的用户名和密码登陆!");
			  }
		else
			AfxMessageBox("旧密码错误,请重新输入!");
	  }
}

void CMainFrame::OnMenuXinjian() 
{
	  CPSWset pasSet;
	  CNuser dlg;
	  CString adm_pas;
	  if(dlg.DoModal()==IDOK){
		  pasSet.Open();
	      pasSet.m_strFilter="user='administer'";
	      pasSet.Requery();
		  adm_pas=pasSet.m_pass;
       
		  if(dlg.m_pas1==adm_pas)
		  { 
		      pasSet.AddNew();
		      pasSet.m_user=dlg.m_user;
			  pasSet.m_pass=dlg.m_pas2;
		      pasSet.Update();
    	      UpdateData(FALSE);
		      AfxMessageBox("新用户创建成功,新的用户名和密码即刻生效!");
			  }
		  else
			  AfxMessageBox("管理员密码错误,无法创建新用户,请再试一次!");
	  }
	
}

void CMainFrame::OnMenuDeluser() 
{
	CPSWset pasSet;
	CDelUser dlg;
	CString adm_pas;
	CRecordsetStatus status;
	if(dlg.DoModal()==IDOK){
		  pasSet.Open();
	      pasSet.m_strFilter="user='administer'";
	      pasSet.Requery();
		  adm_pas=pasSet.m_pass;
       
		  if(dlg.m_pas==adm_pas)
		  { 
			  pasSet.m_strFilter.Format("user='%s'",dlg.m_user);
              pasSet.Requery();
	          if(!pasSet.IsEOF()){
				  pasSet.GetStatus(status);
                  pasSet.Delete();
				  if(status.m_lCurrentRecord==0)
					  pasSet.MoveNext();
				  else
					  pasSet.MoveFirst();
				  pasSet.Requery();
				  UpdateData(FALSE);
				  AfxMessageBox("用户删除成功,该用户不再具有相应权限!");
			  }
			  else AfxMessageBox("无法删除用户,您要删除的用户不存在!");
		  }
		  else AfxMessageBox("管理员密码错误,无法删除用户,请再试一次!");
	}
	
}

⌨️ 快捷键说明

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