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

📄 salarysetdlg.cpp

📁 数据库开发的工资管理系统
💻 CPP
字号:
// SalarySetDlg.cpp : implementation file
//

#include "stdafx.h"
#include "SalaryManagement.h"
#include "SalarySetDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSalarySetDlg dialog
BOOL CSalarySetDlg::OnInitDialog(){  //重载初始化对话框的虚函数
	CListCtrl *pList=(CListCtrl *)GetDlgItem(IDC_SALARYSET_RECORD_LIST);  //得到能控制列表控件的指针
	//初始化列表控件
	pList->InsertColumn(0,"职员号");
	pList->InsertColumn(1,"姓名");
	pList->InsertColumn(2,"基本工资");
	pList->InsertColumn(3,"扣除");
	//设置列表的宽度和风格
	pList->SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);  //设置列表的风格 有网格线 全行选中
	RECT ListRect;  //得到列表控件的空间
	pList->GetWindowRect(&ListRect);
	int breadth=ListRect.right-ListRect.left;  //得到列表控件的宽度
	pList->SetColumnWidth(0,breadth/4-1);  //设置每一列的宽度
	pList->SetColumnWidth(1,breadth/4-1);
	pList->SetColumnWidth(2,breadth/4-1);
	pList->SetColumnWidth(3,breadth/4-1);
	//////////////////////////////////////////////////////////////////////////
	//设置为SQL提供要操作的部门
	if(pDepartment->GetDepartmentName()=="A部门")
		DEPART="A";
	else if(pDepartment->GetDepartmentName()=="B部门")
		DEPART="B";
	else if(pDepartment->GetDepartmentName()=="C部门")
		DEPART="C";
	//////////////////////////////////////////////////////////////////////////
	//界面的其他细节
	CButton *pButton=(CButton *)GetDlgItem(IDC_SALARYSET_CONFIRM_BUTTON);  //按钮不可用
	pButton->EnableWindow(FALSE);

	DisplaySalarySetList();  //显示工资设定列表

	CDialog::OnInitDialog();
	return TRUE;
}
void CSalarySetDlg::DisplaySalarySetList(){  //显示工资设定列表
	CString SQL;  //用来查询的SQL语句
	CListCtrl *pList=(CListCtrl *)GetDlgItem(IDC_SALARYSET_RECORD_LIST);  //得到能控制列表控件的指针
	SQL="select * from "+DEPART+"DepartEmployee";
	database.GetRecordset(SQL);  //得到要查询的记录

	pList->DeleteAllItems();  //删除以前的显示条目
	int i=0;
	while(database.m_pRecordset->adoEOF==0){  //逐个加入每一条记录
		pList->InsertItem(i,"");
		pList->SetItemText(i,0,(LPCTSTR)(_bstr_t)database.m_pRecordset->GetCollect("职员号"));
		pList->SetItemText(i,1,(LPCTSTR)(_bstr_t)database.m_pRecordset->GetCollect("姓名"));
		pList->SetItemText(i,2,(LPCTSTR)(_bstr_t)database.m_pRecordset->GetCollect("基本工资"));
		pList->SetItemText(i,3,(LPCTSTR)(_bstr_t)database.m_pRecordset->GetCollect("扣除"));
		i++;
		database.m_pRecordset->MoveNext();
	}
	UpdateData(FALSE);
}
/*------------------------------------------------------------------------------*/
CSalarySetDlg::CSalarySetDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSalarySetDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSalarySetDlg)
	m_id = _T("");
	m_name = _T("");
	m_basis = _T("");
	m_deduct = _T("");
	//}}AFX_DATA_INIT
}


void CSalarySetDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSalarySetDlg)
	DDX_Text(pDX, IDC_SALARYSET_ID_EDIT, m_id);
	DDX_Text(pDX, IDC_SALARYSET_NAME_EDIT, m_name);
	DDX_Text(pDX, IDC_SALARYSET_BASIS_EDIT, m_basis);
	DDV_MaxChars(pDX, m_basis, 5);
	DDX_Text(pDX, IDC_SALARYSET_DEDUCT_EDIT, m_deduct);
	DDV_MaxChars(pDX, m_deduct, 5);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSalarySetDlg, CDialog)
	//{{AFX_MSG_MAP(CSalarySetDlg)
	ON_NOTIFY(NM_CLICK, IDC_SALARYSET_RECORD_LIST, OnClickSalarysetRecordList)
	ON_BN_CLICKED(IDC_SALARYSET_CANCEL_BUTTON, OnSalarysetCancelButton)
	ON_BN_CLICKED(IDC_SALARYSET_CONFIRM_BUTTON, OnSalarysetConfirmButton)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSalarySetDlg message handlers

void CSalarySetDlg::OnClickSalarysetRecordList(NMHDR* pNMHDR, LRESULT* pResult){  //点了列表中的一个条目
	CListCtrl *pList=(CListCtrl *)GetDlgItem(IDC_SALARYSET_RECORD_LIST);  //建立一个控制列表控件资源的指针
	UpdateData(TRUE);
	int i=pList->GetSelectionMark();

	m_id=pList->GetItemText(i,0);  //职员号
	m_name=pList->GetItemText(i,1);  //姓名
	m_basis=pList->GetItemText(i,2);  //基本工资
	m_deduct=pList->GetItemText(i,3);  //扣除

	CButton *pButton=(CButton *)GetDlgItem(IDC_SALARYSET_CONFIRM_BUTTON);  //按钮可用
	pButton->EnableWindow(TRUE);
	UpdateData(FALSE);
	*pResult = 0;
}

void CSalarySetDlg::OnSalarysetCancelButton(){  //取消
	EndDialog(IDCANCEL);
}

void CSalarySetDlg::OnSalarysetConfirmButton(){  //更新职员的工资设定
	CString SQL;  //建立要操作的SQL语句
	UpdateData(TRUE);
	SQL="update "+DEPART+"DepartEmployee set 基本工资="+m_basis+",扣除="+m_deduct+" where 职员号='"+m_id+"'";
	database.ExecuteSQL(SQL);  //执行这条SQL语句

	DisplaySalarySetList();  //显示修改后的结果
	CButton *pButton=(CButton *)GetDlgItem(IDC_SALARYSET_CONFIRM_BUTTON);  //按钮不可用
	pButton->EnableWindow(FALSE);
}

⌨️ 快捷键说明

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