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

📄 dlgusersmanage.cpp

📁 本系统功能主要有两大块组成:前台销售管理功能和后台数据管理功能。 前台销售管理系统,包括:开单
💻 CPP
字号:
// DlgUsersManage.cpp : implementation file
//

#include "stdafx.h"
#include "Lhj_cyglxt.h"
#include "DlgUsersManage.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDlgUsersManage dialog
extern CDatabase m_db;
CString olduserid;


CDlgUsersManage::CDlgUsersManage(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgUsersManage::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgUsersManage)
	m_id = _T("");
	m_position = _T("");
	m_phone = _T("");
	m_native = _T("");
	m_name = _T("");
	m_password = _T("");
	m_loginname = _T("");
	m_birth = _T("");
	m_sex = _T("");
	m_status = _T("");
	//}}AFX_DATA_INIT
}


void CDlgUsersManage::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgUsersManage)
	DDX_Control(pDX, IDC_COMBO_sex, m_osex);
	DDX_Control(pDX, IDC_COMBO_status, m_ostatus);
	DDX_Control(pDX, IDC_LIST_showuserid, m_userid);
	DDX_Text(pDX, IDC_EDIT_user_id, m_id);
	DDV_MaxChars(pDX, m_id, 8);
	DDX_Text(pDX, IDC_EDIT_position, m_position);
	DDX_Text(pDX, IDC_EDIT_phone, m_phone);
	DDX_Text(pDX, IDC_EDIT_native, m_native);
	DDX_Text(pDX, IDC_EDIT_name, m_name);
	DDX_Text(pDX, IDC_EDIT_login_password, m_password);
	DDV_MaxChars(pDX, m_password, 10);
	DDX_Text(pDX, IDC_EDIT_login_name, m_loginname);
	DDV_MaxChars(pDX, m_loginname, 8);
	DDX_Text(pDX, IDC_EDIT_birth, m_birth);
	DDX_CBString(pDX, IDC_COMBO_sex, m_sex);
	DDX_CBString(pDX, IDC_COMBO_status, m_status);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgUsersManage, CDialog)
	//{{AFX_MSG_MAP(CDlgUsersManage)
	ON_LBN_SELCHANGE(IDC_LIST_showuserid, OnSelchangeLISTshowuserid)
	ON_BN_CLICKED(IDC_BUTTON_adduser, OnBUTTONadduser)
	ON_BN_CLICKED(IDC_BUTTON_deleteuser, OnBUTTONdeleteuser)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgUsersManage message handlers

BOOL CDlgUsersManage::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	if(!UpdateData())
		return 0;
	if(!m_db.IsOpen())
	{
		MessageBox("数据库未打开");
		return 0;
	}
TRY
{
		IdAddToList();

		m_ostatus.AddString("普通用户");
		m_ostatus.AddString("系统管理员");
		m_osex.AddString("男");
		m_osex.AddString("女");
}

	CATCH(CDBException,ex)
	{
		AfxMessageBox (ex->m_strError);
		AfxMessageBox (ex->m_strStateNativeOrigin);		
	}
	AND_CATCH(CMemoryException,pEx)
	{
		pEx->ReportError();
		AfxMessageBox ("memory exception");
	}
	AND_CATCH(CException,e)
	{
		TCHAR szError[100];
		e->GetErrorMessage(szError,100);
		AfxMessageBox (szError);
	}
	END_CATCH   
	
	
	UpdateData(FALSE);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgUsersManage::OnSelchangeLISTshowuserid() 
{
	// TODO: Add your control notification handler code here
	CString stemp,sql;
	int iOption; 
	iOption = m_userid.GetCurSel();
	m_userid.GetText(iOption, stemp);//得到选中项的文本
	sql="select user_id,user_name,user_position,status_name,user_sex,user_birth,user_phone,user_native,user_loginname,user_loginpwd from users_infor,statuscode where status_code=user_status and user_id='"+stemp+"'";
TRY
{
	CRecordset rs(&m_db);
	rs.Open(CRecordset::dynaset, sql);
	if(!rs.IsEOF())
	{
		rs.GetFieldValue((short)0,m_id);
		rs.GetFieldValue((short)1,m_name);
		rs.GetFieldValue((short)2,m_position);
		rs.GetFieldValue((short)3,m_status);
		rs.GetFieldValue((short)4,m_sex);
		rs.GetFieldValue((short)5,m_birth);
		rs.GetFieldValue((short)6,m_phone);
		rs.GetFieldValue((short)7,m_native);
		rs.GetFieldValue((short)8,m_loginname);
		rs.GetFieldValue((short)9,m_password);
	}
	olduserid=m_id;
	UpdateData(FALSE);
}

	CATCH(CDBException,ex)
	{
		AfxMessageBox (ex->m_strError);
		AfxMessageBox (ex->m_strStateNativeOrigin);		
	}
	AND_CATCH(CMemoryException,pEx)
	{
		pEx->ReportError();
		AfxMessageBox ("memory exception");
	}
	AND_CATCH(CException,e)
	{
		TCHAR szError[100];
		e->GetErrorMessage(szError,100);
		AfxMessageBox (szError);
	}
	END_CATCH   
	UpdateData(FALSE);

}

void CDlgUsersManage::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData();
TRY
{
	//检查数据完整性
	
	if(m_id.IsEmpty()||m_name.IsEmpty()||m_status.IsEmpty()||m_sex.IsEmpty()||m_loginname.IsEmpty()||m_password.IsEmpty())
	{
		AfxMessageBox("请填写完整!员工编号,姓名,身份权限,性别,登录名,密码 都不能为空");
		return;
	}
	if(AfxMessageBox("保存修改吗?",MB_YESNO)==IDNO)
	{
		return;
	}
	CRecordset rs(&m_db);
	CString sql,status="0";
	if (m_status=="系统管理员")
	{
		status="1";
	}
	sql="update users_infor set user_id='"+m_id+"',user_name='"+m_name+"',user_position='"+m_position+"',user_status='"+status+"',user_sex='"+m_sex+"',user_birth='"+m_birth+"',user_phone='"+m_phone+"',user_native='"+m_native+"',user_loginname='"+m_loginname+"',user_loginpwd='"+m_password+"' where user_id='"+olduserid+"'";
	TRACE(sql);
	m_db.ExecuteSQL(sql);
	AfxMessageBox("修改成功");
	
	IdAddToList();//刷新list
	UpdateData(FALSE);
}

	CATCH(CDBException,ex)
	{
		AfxMessageBox (ex->m_strError);
		AfxMessageBox (ex->m_strStateNativeOrigin);		
	}
	AND_CATCH(CMemoryException,pEx)
	{
		pEx->ReportError();
		AfxMessageBox ("memory exception");
	}
	AND_CATCH(CException,e)
	{
		TCHAR szError[100];
		e->GetErrorMessage(szError,100);
		AfxMessageBox (szError);
	}
	END_CATCH   
	UpdateData(FALSE);
	//CDialog::OnOK();
}

void CDlgUsersManage::OnBUTTONadduser() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
TRY
{
	//检查数据完整性
	
	if(m_id.IsEmpty()||m_name.IsEmpty()||m_status.IsEmpty()||m_sex.IsEmpty()||m_loginname.IsEmpty()||m_password.IsEmpty())
	{
		AfxMessageBox("请填写完整!员工编号,姓名,身份权限,性别,登录名,密码 都不能为空");
		return;
	}
	CRecordset rs(&m_db);
	CString sql,status="0";
	sql="select user_id from users_infor where user_id='"+m_id+"'";
	rs.Open(CRecordset::dynaset, sql);
	if(!rs.IsEOF())
	{
		AfxMessageBox("该员工编号已存在,员工编号不能重复。添加未成功");
		rs.Close();
		return;
	}
	rs.Close();
	if (m_status=="系统管理员")
	{
		status="1";
	}

	sql="insert into users_infor(user_id,user_name,user_position,user_status,user_sex,user_birth,user_phone,user_native,user_loginname,user_loginpwd) values('"+m_id+"','"+m_name+"','"+m_position+"','"+status+"','"+m_sex+"','"+m_birth+"','"+m_phone+"','"+m_native+"','"+m_loginname+"','"+m_password+"') ";
	TRACE(sql);
	m_db.ExecuteSQL(sql);
	AfxMessageBox("添加成功");

	IdAddToList();
	
	UpdateData(FALSE);
}

	CATCH(CDBException,ex)
	{
		AfxMessageBox (ex->m_strError);
		AfxMessageBox (ex->m_strStateNativeOrigin);		
	}
	AND_CATCH(CMemoryException,pEx)
	{
		pEx->ReportError();
		AfxMessageBox ("memory exception");
	}
	AND_CATCH(CException,e)
	{
		TCHAR szError[100];
		e->GetErrorMessage(szError,100);
		AfxMessageBox (szError);
	}
	END_CATCH   
	UpdateData(FALSE);

}

void CDlgUsersManage::IdAddToList()
{
        m_userid.ResetContent();
		CRecordset rs(&m_db);
		CString sql="select user_id from users_infor ";
     	rs.Open(CRecordset::dynaset, sql);
		CString idlist;
		while (!rs.IsEOF())
		{
			rs.GetFieldValue((short)0,idlist);
			m_userid.AddString(idlist);
			rs.MoveNext();
		}
		rs.Close();
}

void CDlgUsersManage::OnBUTTONdeleteuser() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
TRY
{
	if(AfxMessageBox("确定删除吗?",MB_YESNO)==IDNO)
	{
		return;
	}
	CRecordset rs(&m_db);
	CString sql;
	sql="select user_id from users_infor where user_id='"+m_id+"'";
	rs.Open(CRecordset::dynaset, sql);
	if(rs.IsEOF())
	{
		AfxMessageBox("该员工编号不存在,无需删除资料");
		rs.Close();
		return;
	}
	rs.Close();
	sql="delete users_infor where user_id='"+m_id+"' ";
	TRACE(sql);
	m_db.ExecuteSQL(sql);
	AfxMessageBox("删除成功");

	IdAddToList();
	
	UpdateData(FALSE);
}

	CATCH(CDBException,ex)
	{
		AfxMessageBox (ex->m_strError);
		AfxMessageBox (ex->m_strStateNativeOrigin);		
	}
	AND_CATCH(CMemoryException,pEx)
	{
		pEx->ReportError();
		AfxMessageBox ("memory exception");
	}
	AND_CATCH(CException,e)
	{
		TCHAR szError[100];
		e->GetErrorMessage(szError,100);
		AfxMessageBox (szError);
	}
	END_CATCH   
	UpdateData(FALSE);

	
}


⌨️ 快捷键说明

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