📄 dop.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 + -