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

📄 dop.cpp

📁 商品销售管理系统程序全套源码 gongnengxiangjin
💻 CPP
字号:
// DOP.cpp : implementation file
//

#include "stdafx.h"
#include "商品销售管理系统.h"
#include "DOP.h"
#include "BaseQuery.h"
#include "externDllHeader.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDOP dialog


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


void CDOP::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDOP)
	DDX_Control(pDX, IDC_BUTTON4, m_ButPhoto);
	DDX_Control(pDX, IDC_STAPhoto, m_StaPhoto);
	DDX_Control(pDX, IDC_EDTUSERNAME, m_EdtUserName);
	DDX_Control(pDX, IDC_EDTPWD, m_EdtPwd);
	DDX_Control(pDX, IDC_EDTName, m_EdtName);
	DDX_Control(pDX, IDC_EDTLNAME, m_EdtLName);
	DDX_Control(pDX, IDC_EDTID, m_EdtID);
	DDX_Control(pDX, IDC_BUTUndo, m_ButUndo);
	DDX_Control(pDX, IDC_BUTSave, m_ButSave);
	DDX_Control(pDX, IDC_BUTDELE, m_ButDele);
	DDX_Control(pDX, IDC_BUTChange, m_ButChange);
	DDX_Control(pDX, IDC_BUTADD, m_ButAdd);
	DDX_Control(pDX, ID_EDTSPWD, m_EdtSpwd);
	DDX_Control(pDX, ID_BUTEXIT, m_ButExit);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDOP, CDialog)
	//{{AFX_MSG_MAP(CDOP)
	ON_BN_CLICKED(IDC_BUTADD, OnButadd)
	ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
	ON_BN_CLICKED(IDC_BUTChange, OnBUTChange)
	ON_BN_CLICKED(IDC_BUTDELE, OnButdele)
	ON_BN_CLICKED(IDC_BUTSave, OnBUTSave)
	ON_EN_CHANGE(IDC_EDTName, OnChangeEDTName)
	ON_BN_CLICKED(ID_BUTEXIT, OnButexit)
	ON_BN_CLICKED(IDC_BUTUndo, OnBUTUndo)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDOP message handlers

void CDOP::OnOK() 
{
	// TODO: Add extra validation here
	
	//CDialog::OnOK();
}

void CDOP::clear()
{
	m_EdtLName.SetWindowText("");
	m_EdtName.SetWindowText("");
	m_EdtPwd.SetWindowText("");
	m_EdtSpwd.SetWindowText("");
	m_EdtUserName.SetWindowText("");
}

void CDOP::Display(CString sField, CString sValue)
{
	RxRecordset disRst;
	CString sSQL;
	sSQL.Format("SELECT * FROM 操作员视图 WHERE %s='%s'",sField,sValue);
	disRst.Open(sSQL,adCmdText);
	disRst.MoveFirst();
	
	CString	sID,sName,sLName,sPwd,sPhoto,sUserName;
	sID=disRst.GetFieldValue("编号");
	sName=disRst.GetFieldValue("名称");
	sLName=disRst.GetFieldValue("简称");
	sPwd=disRst.GetFieldValue("密码");
	sPhoto=disRst.GetFieldValue("头像");
	sUserName=disRst.GetFieldValue("员工姓名");

	m_EdtID.SetWindowText(sID);
	m_EdtName.SetWindowText(sName);
	m_EdtLName.SetWindowText(sLName);
	m_EdtPwd.SetWindowText(sPwd);
	m_EdtUserName.SetWindowText(sUserName);
	this->SetPhoto(atoi(sPhoto));
	disRst.Close();
}

void CDOP::Enabled(bool bEnabled)
{
	m_EdtLName.EnableWindow(bEnabled);
	m_EdtName.EnableWindow(bEnabled);
	m_EdtPwd.EnableWindow(bEnabled);
	m_EdtSpwd.EnableWindow(bEnabled);
	m_EdtUserName.EnableWindow(bEnabled);
	m_ButDele.EnableWindow(!bEnabled);
	m_ButChange.EnableWindow(!bEnabled);
	m_ButAdd.EnableWindow(!bEnabled);
	m_ButUndo.EnableWindow(bEnabled);
	m_ButSave.EnableWindow(bEnabled);
	m_ButExit.EnableWindow(!bEnabled);
	m_ButPhoto.EnableWindow(bEnabled);
	
}

void CDOP::SetID(CString ID)
{
	m_ID=ID;
}


void CDOP::OnButadd() 
{
	CString cID;
	this->Enabled(true);
	cID=ado.AutoNumber("操作员信息表","编号","",1);
	this->m_EdtID.SetWindowText(cID);
	this->clear();
	m_EdtUserName.SetFocus();
	this->AddOrChange=1;

}



BOOL CDOP::OnInitDialog() 
{
	CDialog::OnInitDialog();
	rst.Open("操作员信息表");
	if(m_ID!="0")
		this->Display("编号",m_ID);
	rst.Open("员工信息表");
	this->m_EdtUserName.Initialize(this->GetParent());
	this->m_EdtUserName.StartUpAssciation=true;
	this->m_EdtUserName.SetRecordset(rst);
	this->m_EdtUserName.SetSelectField("名称");

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}



void CDOP::SetPhoto(int nPhotoID)
{
	m_PhotoID=nPhotoID;
	int ResID;
	ResID=IDI_ICON8+m_PhotoID-1;
	HICON hicon=::LoadIcon(::AfxGetResourceHandle(),MAKEINTRESOURCE(ResID));
	this->m_StaPhoto.SetIcon(hicon);

}



void CDOP::OnButton4() 
{
	CDPhoto dlg;
	dlg.DoModal();
	m_PhotoID=dlg.m_PhotoID;
	this->SetPhoto(m_PhotoID);
}

void CDOP::OnBUTChange() 
{
	CString cID;
	this->Enabled(true);
	m_EdtUserName.SetFocus();
	this->AddOrChange=2;
	
}

void CDOP::OnButdele() 
{
	if(MessageBox("删除后无法恢复 ,确定删除此条记录吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)==1)	
	{
		CString sSQL,sID;
		this->m_EdtID.GetWindowText(sID);
		sSQL.Format("DELETE FROM 操作员信息表 WHERE 编号='%s'",sID);
		RxRecordset DeleRst;
		DeleRst.Open(sSQL,adCmdText);
		this->OnCancel();
	}	
}

void CDOP::OnBUTSave() 
{
	if(MessageBox("确定要保存记录吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)==1)	
	{
		CString	sID,sName,sLName,sUserName,sUserID,sPwd,sSpwd;
		m_EdtID.GetWindowText(sID);
		m_EdtName.GetWindowText(sName);
		m_EdtLName.GetWindowText(sLName);
		m_EdtUserName.GetWindowText(sUserName);
		sUserID=ado.FieldToOtherField("员工信息表","名称",sUserName,"编号",1);
		m_EdtPwd.GetWindowText(sPwd);
		m_EdtSpwd.GetWindowText(sSpwd);
		if(sPwd!=sSpwd)
		{
			MessageBox("两次输入的密码不一致!","系统提示",MB_OK|MB_ICONSTOP);
			m_EdtPwd.SetWindowText("");
			m_EdtSpwd.SetWindowText("");
			m_EdtPwd.SetFocus();
			return;
		}
		RxRecordset AddRst;
		CString sSQL;
		if(this->AddOrChange==1)    //添加
		{
			sSQL.Format("INSERT INTO 操作员信息表 VALUES(%s,%s,'%s','%s',%d,'%s')",sID,sUserID,sName,sPwd,m_PhotoID,sLName);
			bool bo=AddRst.Open(sSQL,adCmdText);
			if(bo==false)
			{
				MessageBox("添加操作员失败!请先通过员工信息管理添加新员工信息!","系统提示",MB_OK|MB_ICONSTOP);
				return ;
			}
			sSQL.Format("INSERT INTO 权限表 VALUES(%s,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)",sID);
			AddRst.Open(sSQL,adCmdText);
		}
		if(this->AddOrChange==2)    //修改
		{
			sSQL.Format("UPDATE 操作员信息表 SET 员工编号=%s,名称='%s',密码='%s',头像=%d,简称='%s' WHERE 编号=%s",sUserID,sName,sPwd,m_PhotoID,sLName,sID);
			AddRst.Open(sSQL,adCmdText);
		}
		this->AddOrChange=0;
		this->Enabled(false);
		this->m_ButExit.SetFocus();
		this->m_ButAdd.SetFocus();

	}	
}

void CDOP::OnChangeEDTName() 
{
	CString sName,sSName;
	this->m_EdtName.GetWindowText(sName);
	sSName=CharToLetterCode(sName);
	this->m_EdtLName.SetWindowText(sSName);	
}

void CDOP::OnButexit() 
{
	this->OnCancel();	
}

void CDOP::OnBUTUndo() 
{
	if(MessageBox("确定要撤消操作吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)==1)	
	{
		Enabled(false);
		Display("编号",m_ID);	
		this->AddOrChange=0;
	}
	
}

⌨️ 快捷键说明

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