📄 registerdialog.cpp
字号:
// RegisterDialog.cpp : implementation file
//
#include "stdafx.h"
#include "CourseChose.h"
#include "RegisterDialog.h"
#include ".\registerdialog.h"
#include ".\mysqloperat.h"
#include <string>
using namespace std;
CMysqlOperat MysqlOp;
// CRegisterDialog dialog
IMPLEMENT_DYNAMIC(CRegisterDialog, CDialog)
CRegisterDialog::CRegisterDialog(CWnd* pParent /*=NULL*/)
: CDialog(CRegisterDialog::IDD, pParent)
, m_strUserName(_T(""))
, m_strPasswd01(_T(""))
, m_strPasswd02(_T(""))
, m_strStyle(_T(""))
, strName(_T(""))
, strClass(_T(""))
{
m_bInitCombox = FALSE;
}
CRegisterDialog::~CRegisterDialog()
{
}
void CRegisterDialog::OnLButtonDown(UINT nFlags, CPoint pt)
{
}
void CRegisterDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, m_strUserName);
DDX_Text(pDX, IDC_EDIT2, m_strPasswd01);
DDX_Text(pDX, IDC_EDIT3, m_strPasswd02);
DDX_Control(pDX, IDC_COMBO1, m_comStyle);
DDX_CBString(pDX, IDC_COMBO1, m_strStyle);
DDX_Text(pDX, IDC_EDIT4, strName);
DDX_Text(pDX, IDC_EDIT5, strClass);
DDX_Control(pDX, IDS_REGISTER_NAME, m_SName);
DDX_Control(pDX, IDC_REGISTER_CLASS, m_SClass);
DDX_Control(pDX, IDC_EDIT4, m_EName);
DDX_Control(pDX, IDC_EDIT5, m_ECass);
}
BEGIN_MESSAGE_MAP(CRegisterDialog, CDialog)
ON_BN_CLICKED(IDB_REGISTER_REGISTER, OnBnClickedRegisterRegister)
ON_BN_CLICKED(IDB_REGISTER_CANCLE, OnBnClickedRegisterCancle)
ON_CBN_DROPDOWN(IDC_COMBO1, OnCbnDropdownCombo1)
ON_CBN_SELENDCANCEL(IDC_COMBO1, OnCbnSelendcancelCombo1)
END_MESSAGE_MAP()
// CRegisterDialog message handlers
void CRegisterDialog::OnBnClickedRegisterRegister()
{
// TODO: Add your control notification handler code here
UpdateData();
//选择注册类型
if (this->m_strStyle.IsEmpty())
{
MessageBox(TEXT("请选择注册类型"));
return;
}
//基本信息ID不能为空
if (this->m_strUserName.IsEmpty())
{
MessageBox("请输入用ID");
return;
}
//密码不能为空
if (this->m_strPasswd01.IsEmpty() || this->m_strPasswd02.IsEmpty())
{
MessageBox(TEXT("请输入密码"));
return;
}
//密码必须一致
if (this->m_strPasswd01 != this->m_strPasswd02)
{
MessageBox(TEXT("两次密码不一致!"));
this->m_strPasswd01.Empty();
this->m_strPasswd02.Empty();
UpdateData(FALSE);
return;
}
//密码必须在6~16位之间
if ( (this->m_strPasswd01.GetLength() < 6) || (this->m_strPasswd01.GetAllocLength() > 16) )
{
MessageBox("密码长度在6~16位");
return;
}
//姓名不能为空
if (this->strName.IsEmpty())
{
MessageBox("请输入姓名");
return;
}
char szTemp[20] = "\0";
//分类判断
if (!this->m_strStyle.Compare("教师"))
{
//写入数据库
string str = "insert into Teacher(tid, tname, tpassword) values (";
strcpy(szTemp, m_strUserName);
str += szTemp;
str += ",";
strcpy(szTemp, strName);
str += '\'';
str += szTemp;
str += '\'';
str += ",";
strcpy(szTemp, m_strPasswd01);
str += '\'';
str += szTemp;
str += '\'';
str += ");";
MysqlOp.RunSQL(str.c_str());
}
else if (!this->m_strStyle.Compare("学生"))
{
if (this->strClass.IsEmpty())
{
MessageBox("请输入班级!");
return;
}
//写入数据库
string str = "insert into Student(sid, sname, sclass, password) values (";
strcpy(szTemp, m_strUserName);
str += szTemp;
str += ",";
strcpy(szTemp, strName);
str += '\'';
str += szTemp;
str += '\'';
str += ",";
strcpy(szTemp, strClass);
str += '\'';
str += szTemp;
str += '\'';
str += ",";
strcpy(szTemp, m_strPasswd01);
str += '\'';
str += szTemp;
str += '\'';
str += ");";
MysqlOp.RunSQL(str.c_str());
}
else
{
MessageBox("程序遇到意外错误!即将退出注册系统!");
OnOK();
return;
}
MessageBox(TEXT("恭喜你!注册成功!"));
OnOK();
}
void CRegisterDialog::OnBnClickedRegisterCancle()
{
// TODO: Add your control notification handler code here
if (IDYES == MessageBox(TEXT("真的要退出注册吗?"), 0, MB_YESNO))
{
OnCancel();
}
}
void CRegisterDialog::OnCbnDropdownCombo1()
{
// TODO: Add your control notification handler code here
if (!m_bInitCombox)
{
this->m_comStyle.InsertString(0,TEXT("教师"));
this->m_comStyle.InsertString(1,TEXT("学生"));
this->m_comStyle.SetCurSel(1);
m_bInitCombox = TRUE;
}
}
void CRegisterDialog::OnCbnSelendcancelCombo1()
{
// TODO: Add your control notification handler code here
int nIndex = 0;
nIndex = this->m_comStyle.GetCurSel();
if (nIndex == 1)
{
this->m_SClass.ShowWindow(SW_SHOW);
this->m_ECass.ShowWindow(SW_SHOW);
this->m_comStyle.SetCurSel(1);
}
else
{
this->m_SClass.ShowWindow(SW_HIDE);
this->m_ECass.ShowWindow(SW_HIDE);
this->m_comStyle.SetCurSel(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -