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

📄 empdlg.cpp

📁 赛克思书店销售管理系统.可用于二次开发,以C++与sql 写.
💻 CPP
字号:
// EmpDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Project.h"
#include "EmpDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CEmpDlg dialog


CEmpDlg::CEmpDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CEmpDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CEmpDlg)
	m_EmpAddress = _T("");
	m_Empage = 20;
	m_Empemail = _T("@");
	m_Empgender = 0;
	m_EmpID = _T("");
	m_Empname = _T("");
	m_Empno = _T("");
	m_EmpTele = _T("");
	//}}AFX_DATA_INIT
}


void CEmpDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CEmpDlg)
	DDX_Control(pDX, IDC_MANEMPLIST, m_EmpList);
	DDX_Text(pDX, IDC_EMPADDRESS, m_EmpAddress);
	DDX_Text(pDX, IDC_EMPAGE, m_Empage);
	DDX_Text(pDX, IDC_EMPEMAIL, m_Empemail);
	DDX_CBIndex(pDX, IDC_EMPGENGER, m_Empgender);
	DDX_Text(pDX, IDC_EMPID, m_EmpID);
	DDX_Text(pDX, IDC_EMPNAME, m_Empname);
	DDX_Text(pDX, IDC_EMPNO, m_Empno);
	DDX_Text(pDX, IDC_EMPTELE, m_EmpTele);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CEmpDlg, CDialog)
	//{{AFX_MSG_MAP(CEmpDlg)
	ON_BN_CLICKED(IDC_REGCONTINUE, OnRegcontinue)
	ON_BN_CLICKED(IDC_REGVIPDEL, OnRegvipdel)
	ON_BN_CLICKED(IDC_MODIFY, OnModify)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CEmpDlg message handlers
BOOL CEmpDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	m_EmpList.SetTextColor(RGB (0, 0, 0));
	m_EmpList.SetBkColor(RGB(255,255,255));
	m_EmpList.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);	

	m_EmpList.InsertColumn (0, _T ("员工号"), LVCFMT_CENTER, 60);
	m_EmpList.InsertColumn (1, _T ("姓名"), LVCFMT_CENTER, 80);
	m_EmpList.InsertColumn (2, _T ("性别"), LVCFMT_CENTER, 50);
	m_EmpList.InsertColumn (3, _T ("年龄"), LVCFMT_CENTER, 50);
	m_EmpList.InsertColumn (4, _T ("身份证"), LVCFMT_CENTER, 160);
	m_EmpList.InsertColumn (5, _T ("登记日期"), LVCFMT_CENTER, 150);
	m_EmpList.InsertColumn (6, _T ("联系电话"), LVCFMT_CENTER, 120);
	m_EmpList.InsertColumn (7, _T ("住址"), LVCFMT_CENTER, 140);
	m_EmpList.InsertColumn (8, _T ("电子邮件"), LVCFMT_CENTER, 140);

	OnRefreshData();
	return TRUE;
}

void CEmpDlg::OnRefreshData()
{
	m_EmpList.DeleteAllItems();
	_variant_t vt;
	try
	{
		_RecordsetPtr pRst = pConn->Execute("select * from EMP",&vt,adCmdText);
		while(!pRst->End)
		{
			_variant_t vEmpNO = pRst->Fields->GetItem("EMPID")->Value;
			_variant_t vEmpName = pRst->Fields->GetItem(long(1))->Value; 
			_variant_t vEmpGender = pRst->Fields->GetItem(long(2))->Value;
			_variant_t vEmpAge = pRst->Fields->GetItem(long(3))->Value;
			_variant_t vEmpID = pRst->Fields->GetItem(long(4))->Value;
			_variant_t vRegTime = pRst->Fields->GetItem(long(8))->Value;
			_variant_t vEmpTele = pRst->Fields->GetItem(long(6))->Value;
			_variant_t vEmpAddress = pRst->Fields->GetItem(long(5))->Value;
			_variant_t vEmpEmail = pRst->Fields->GetItem(long(7))->Value;
			
			m_Empno = vEmpNO.bstrVal;
			m_Empname = vEmpName.bstrVal;
			m_Empgender = vEmpGender.iVal;
			m_Empage = vEmpAge.iVal;
			m_EmpID = vEmpID.bstrVal;

			CString m_regtime;
			if(vRegTime.vt == VT_NULL)
				m_regtime = "无";
			else
				m_regtime = (char *)_bstr_t(vRegTime);

			if(vEmpTele.vt == VT_NULL)
				m_EmpTele = "无";
			else
				m_EmpTele = vEmpTele.bstrVal;

			m_EmpAddress = vEmpAddress.bstrVal;
			m_Empemail = vEmpEmail.bstrVal;
			
			CString gender,age;
			if(m_Empgender==0)
				gender = "男";
			else
				gender = "女";
			age.Format("%d",m_Empage);

			m_EmpList.InsertItem(0,m_Empno);
			m_EmpList.SetItemText(0,1,m_Empname);
			m_EmpList.SetItemText(0,2,gender);
			m_EmpList.SetItemText(0,3,age);
			m_EmpList.SetItemText(0,4,m_EmpID);
			m_EmpList.SetItemText(0,5,m_regtime);
			m_EmpList.SetItemText(0,6,m_EmpTele);
			m_EmpList.SetItemText(0,7,m_EmpAddress);
			m_EmpList.SetItemText(0,8,m_Empemail);
			
			pRst->MoveNext();
		}
		pRst->Close();
		pRst.Release();
	}
	catch(_com_error& e)
	{
		AfxMessageBox(e.Description());
	}
}

void CEmpDlg::OnRegcontinue() 
{
	CTime regtime = CTime::GetCurrentTime();
	int year,mon,day;
	year = regtime.GetYear();
	mon = regtime.GetMonth();
	day = regtime.GetDay();
	CString strtime;
	strtime.Format("%d年%d月%d日",year,mon,day);

	this->UpdateData(true);
	if(!m_Empno.IsEmpty())
	{
		if(!m_Empname.IsEmpty())
		{
			if(m_Empage>1&&m_Empage<100)
			{
				if(m_Empgender == 0 ||m_Empgender == 1)
				{
					CString m_RegGender;
					CString m_RegAge;
					if(m_Empgender == 0)
						m_RegGender = "男";
					else
						m_RegGender = "女";
					m_RegAge.Format("%d",m_Empage);
					
					m_EmpList.InsertItem(0,m_Empno,0);
					m_EmpList.SetItemText(0,1,m_Empname);
					m_EmpList.SetItemText(0,2,m_RegGender);
					m_EmpList.SetItemText(0,3,m_RegAge);
					m_EmpList.SetItemText(0,4,m_EmpID);
					m_EmpList.SetItemText(0,5,strtime);
					m_EmpList.SetItemText(0,6,m_EmpAddress);
					m_EmpList.SetItemText(0,7,m_EmpTele);
					m_EmpList.SetItemText(0,8,m_Empemail);
				}
				else
					AfxMessageBox("请输入性别!");
			}
		}
		else
			AfxMessageBox("请输入员工姓名!");
	}
	else
		AfxMessageBox("请输入员工代号!");
	////////////////////////////////////////////
	this->UpdateData(true);
	_RecordsetPtr pRst(__uuidof(Recordset)); 
	pRst->Open("select * from EMP",_variant_t((IDispatch*)pConn),adOpenStatic,
		adLockOptimistic,adCmdText);

	CString _sql;
	_sql.Format("insert into EMP(EMPID,EMPNAME,GENDER,AGE,ID,ADDRESS,TELE,EMAIL,EMPREGDATE) values(\'%s\',\'%s\',%d,%d,\'%s\',\'%s\',\'%s\',\'%s\',SYSDATE)",
		m_Empno,m_Empname,m_Empgender,m_Empage,m_EmpID,m_EmpTele,m_EmpAddress,m_Empemail);
	_bstr_t sql = _sql;
	try
	{
		pConn->Execute(sql,NULL,adCmdText);
	} 
	catch(_com_error& e)
    {
        AfxMessageBox(e.Description());
		return;
    }  

	pRst->Close(); 
	pRst.Release();
	m_Empno = "";
	m_Empname = "";
	m_EmpID = "";
	m_EmpTele = "";
	m_Empemail = "@";
	m_EmpAddress = "";
	this->UpdateData(false);
	OnRefreshData();
}

void CEmpDlg::OnRegvipdel()
{
	int sel = m_EmpList.GetSelectionMark();
	CString str;
	str = m_EmpList.GetItemText(sel,0);
	CString _sql;
	_sql.Format("delete from emp where empid = \'%s\'",str);
	_bstr_t sql = _sql;

	try
	{
		pConn->Execute(sql,NULL,adCmdText);
		m_EmpList.DeleteItem(sel);
	}
	catch(_com_error& e)
	{
		AfxMessageBox(e.Description());
	}
}

void CEmpDlg::OnModify()
{
	
}

⌨️ 快捷键说明

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