www.gusucode.com > 大学排课系统,VC++实现,能实现根据教师及课程资源自动排 > 大学排课系统,VC++实现,能实现根据教师及课程资源自动排课/ARRANGE/AddUsersDlg.cpp

    // AddUsersDlg.cpp : implementation file
//

#include "stdafx.h"
#include "arrange.h"
#include "AddUsersDlg.h"
#include "LoginSet.h"
#include "WBButton.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAddUsersDlg dialog


CAddUsersDlg::CAddUsersDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CAddUsersDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAddUsersDlg)
	m_authority = _T("");
	m_user = _T("");
	m_password1 = _T("");
	m_password2 = _T("");
	m_deleteID = _T("");
	//}}AFX_DATA_INIT
}


void CAddUsersDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAddUsersDlg)
	//	DDX_Control(pDX, IDC_BUTTON1, m_delate);
	DDX_CBString(pDX, IDC_COMBO1, m_authority);
	DDX_Text(pDX, IDC_EDIT5, m_user);
	DDX_Text(pDX, IDC_EDIT6, m_password1);
	DDX_Text(pDX, IDC_EDIT7, m_password2);
	DDX_Text(pDX, IDC_DELETEID, m_deleteID);
	DDX_Control(pDX,IDC_ADD,m_add);
	DDX_Control(pDX,IDC_BUTTON1,m_delete);
	DDX_Control(pDX,IDCANCEL,m_cancel);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAddUsersDlg, CDialog)
//{{AFX_MSG_MAP(CAddUsersDlg)
ON_BN_CLICKED(IDC_BUTTON1, Ondelete)
ON_WM_PAINT()
	ON_BN_CLICKED(IDC_ADD, OnAdd)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAddUsersDlg message handlers

void CAddUsersDlg::OnOK() 
{
	// TODO: Add extra validation here
	CLoginSet m_recordset(&m_database);
    int i=0;
	CString strSQL;
	UpdateData(TRUE);
	strSQL.Format("select * from UserInf where UserName='%s'",m_user);
	m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); //打开纪录集并执行sql语句
	CString sAuthority="";             
	GetDlgItemText(IDC_COMBO1,sAuthority);  //得到控件COMBO1的id
	if(m_recordset.GetRecordCount()==0)
	{  //判断纪录是否存在
		if(m_password1=="")
			MessageBox("密码不能为空!");
		else
		{
			if(m_password1==m_password2)
			{
				if(sAuthority=="一般用户")  
				{
					i=2;
					strSQL.Format("Insert into UserInf (UserName,PassWord,Authority) values (\'%s\',\'%s\',%d)",m_user,m_password1,i);//初始化sql语句
					m_database.ExecuteSQL(strSQL);      //执行sql语句
					MessageBox("你成功添加了一个一般用户!");
					CDialog::OnOK();
				}
				else if(sAuthority=="管 理 员")
				{
					i=1;
					strSQL.Format("Insert into UserInf (UserName,PassWord,Authority) values (\'%s\',\'%s\',%d)",m_user,m_password1,i);//初始化sql语句
					m_database.ExecuteSQL(strSQL);     //执行sql语句
					MessageBox("你成功添加了一个管理员!");
					CDialog::OnOK();
				}
				
				else
					MessageBox("请选择用户类型!");			
			}
			else
				MessageBox("两次输入的密码不一致,请重新输入!");
		}
	}
	else
		MessageBox("此用户已经存在,请另选一个不同的用户名!");
}

void CAddUsersDlg::Ondelete()    //删除用户或管理员
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	CLoginSet m_recordset(&m_database);
	CString strSQL;
	strSQL.Format("select * from UserInf where UserName='%s'",m_deleteID);//初始化sql语句
	m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
	if(m_recordset.GetRecordCount()==0)
	{//判断纪录是否存在
		MessageBox("Sorry,你要删除的这个家伙并不存在! ^_^ ");
	}
	else
	{
		strSQL.Format("delete from UserInf where UserName='%s'",m_deleteID);//初始化sql语句
        m_database.ExecuteSQL(strSQL);//执行sql语句
		MessageBox("你讨厌的这个家伙已经被你成功地从你的视线消失掉了! ^_^");
	}
}

BOOL CAddUsersDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	m_add.LoadBitmaps(IDB_BUTTON,5, 5, 5, 5, 4 ); 
	m_delete.LoadBitmaps(IDB_BUTTON,5, 5, 5, 5, 4 );   //导入位图按钮
	m_cancel.LoadBitmaps(IDB_BUTTON,5, 5, 5, 5, 4 );
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return FALSE
}

void CAddUsersDlg::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	
	// TODO: Add your message handler code here
/*	CBitmap m_bitmap;
	CDC memDC;
	memDC.CreateCompatibleDC(&dc);
	m_bitmap.LoadBitmap(IDB_BITMAP4);     //导入位图
	memDC.SelectObject(&m_bitmap);
	dc.BitBlt(0,0,600,800,&memDC,0,0,SRCCOPY);
*/	
	
	// Do not call CDialog::OnPaint() for painting messages
}

void CAddUsersDlg::OnAdd()  //添加用户或管理员
{
	// TODO: Add your control notification handler code here
	OnOK();
}