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

📄 mmxgdlg.cpp

📁 学生成绩管理系统,实现增加删除修改保存等功能
💻 CPP
字号:
// MmxgDlg.cpp : implementation file
//

#include "stdafx.h"
#include "StuManage.h"
#include "MmxgDlg.h"
#include "UserRecordSet.h"

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

/////////////////////////////////////////////////////////////////////////////
// CMmxgDlg dialog


CMmxgDlg::CMmxgDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMmxgDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMmxgDlg)
	//}}AFX_DATA_INIT
}


void CMmxgDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMmxgDlg)
	DDX_Control(pDX, IDC_USERNAME_EDIT, m_UserName);
	DDX_Control(pDX, IDC_OLDPWD_EDIT, m_oldPwd);
	DDX_Control(pDX, IDC_NEWPWD_EDIT, m_newPwd);
	DDX_Control(pDX, IDC_CONFIRMPWD_EDIT, m_ConfirmPwd);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMmxgDlg, CDialog)
	//{{AFX_MSG_MAP(CMmxgDlg)
	ON_BN_CLICKED(IDC_OK, OnOk)
	ON_BN_CLICKED(IDC_CANCEL, OnCancel)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMmxgDlg message handlers

void CMmxgDlg::OnOk() 
{
	// TODO: Add your control notification handler code here
	CEdit* pUsername=(CEdit*) this->GetDlgItem(IDC_USERNAME_EDIT);
    CEdit* pPassword=(CEdit*) this->GetDlgItem(IDC_OLDPWD_EDIT);
	CEdit* pNew=(CEdit*) this->GetDlgItem(IDC_NEWPWD_EDIT);
	CEdit* pConfirm=(CEdit*) this->GetDlgItem(IDC_CONFIRMPWD_EDIT);
	//分别将文本框的值赋给4个字符串 
	CString username,password,newPassword,confirmPassword;
	pUsername->GetWindowText(username);
	pPassword->GetWindowText(password);
	pNew->GetWindowText(newPassword);
	pConfirm->GetWindowText(confirmPassword);
	//定义数据库对象和记录集对象
	 
	 CUserRecordSet *m_UserRecordSet=new CUserRecordSet(&m_database);
	//判断新密码是是为空
	if(newPassword.IsEmpty()||confirmPassword.IsEmpty())
	{
         MessageBox("密码不为空");	
	}
	else
	{
		if(newPassword!=confirmPassword)//判断两次输入的新密码是否相同
		{
			MessageBox("两次输入密码不一致,请重新输入新密码");
			pNew->SetWindowText("");//清空新密码文本框
			pConfirm->SetWindowText("");//清空确认密码文本框
			pNew->SetFocus();//设置新密码文本框为焦点
		}
		else
		{
			if(!m_database.IsOpen()){//如果数据没有打开,则打开数据库
				if(m_database.Open(_T("xscjgl")))//如果正确打开数据库
				{   				    
					CString strSQL;
					strSQL.Format("select * from yhdl where UserName='%s' and UserPwd='%s'",username,password);
					m_UserRecordSet->Open(CRecordset::forwardOnly,strSQL);//打开记录集
					if(m_UserRecordSet->GetRecordCount()==0)//如果找不到记录
					{
						MessageBox("密码错误,请重新输入","密码错误",MB_OK|MB_ICONWARNING);//提示密码错误
						pPassword->SetWindowText("");//清空密码文本框
						pNew->SetWindowText("");//清空新密码文本框
						pConfirm->SetWindowText("");//清空确认密码文本框
						pPassword->SetFocus();//设置用户名文本框为当前的焦点
					}
					else//如果找到记录
					{   
						//更新密码的sql语句
						strSQL.Format("update yhdl set UserPwd='%s' where UserName='%s'",newPassword,username);
                        m_database.ExecuteSQL(strSQL);//执行sql 
						MessageBox("修改密码成功!");
                        CDialog::OnOK();
					}
					m_UserRecordSet->Close();//关闭记录集
					m_database.Close();//关闭数据库
				}
				else//如果没有正确打开数据库
				{
					MessageBox("不能打开数据库");
				}
			}
		}
	}
}

void CMmxgDlg::OnCancel() 
{
	// TODO: Add your control notification handler code here
	OnOK();
}

⌨️ 快捷键说明

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