?? empadddlg.cpp
字號:
// EmpAddDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Salary.h"
#include "EmpAddDlg.h"
#include "Update.h"
#include "LOOKDIG.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CEmpAddDlg dialog
CEmpAddDlg::CEmpAddDlg(CWnd* pParent /*=NULL*/)
: CDialog(CEmpAddDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CEmpAddDlg)
m_sex = _T("");
m_name = _T("");
m_id = _T("");
m_dept = _T("");
//}}AFX_DATA_INIT
}
void CEmpAddDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CEmpAddDlg)
DDX_Control(pDX, IDC_EMPLOYEELIST, m_listEmp);
DDX_Text(pDX, IDC_EDIT_SEX, m_sex);
DDX_Text(pDX, IDC_EDIT_NAME, m_name);
DDX_Text(pDX, IDC_EDIT_ID, m_id);
DDX_Text(pDX, IDC_EDIT_DEPT, m_dept);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CEmpAddDlg, CDialog)
//{{AFX_MSG_MAP(CEmpAddDlg)
ON_BN_CLICKED(IDC_BUTTON_ADD, OnAdd)
ON_BN_CLICKED(IDC_BUTTON_UPDATE, OnUpdate)
ON_BN_CLICKED(IDC_BUTTON_COMEON, OnComeon)
ON_BN_CLICKED(IDC_BUTTON_DEL, OnDel)
ON_BN_CLICKED(IDC_BUTTON_LOOK, OnLook)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CEmpAddDlg message handlers
void CEmpAddDlg::InitControl()
{
//設置列表框控件擴展風格
DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES |
LVS_EX_HEADERDRAGDROP | LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT;
m_listEmp.SetExtendedStyle(dwExStyle);
m_listEmp.SetExtendedStyle(dwExStyle);
//初始化收入類型列表框控件
m_listEmp.InsertColumn(0,"員工號",LVCFMT_CENTER,60);
m_listEmp.InsertColumn(1,"員工姓名",LVCFMT_CENTER,100);
m_listEmp.InsertColumn(2,"性別",LVCFMT_CENTER,60);
m_listEmp.InsertColumn(3,"部門",LVCFMT_CENTER,100);
}
void CEmpAddDlg::InitCtrlData()
{
m_listEmp.DeleteAllItems();
CDStrs InFields;
//獲取員工信息
g_odbcDB.ExecuteQuery("Select * from members order by mid",InFields);
for(int i = 0 ; i < InFields.size() ; i++)
{
CStrs strs = InFields[i];
InsertTypeItem(&m_listEmp,strs[0],strs[1],strs[2],strs[3]);
}
}
void CEmpAddDlg::InsertTypeItem(CListCtrl* pList, CString id, CString name,CString sex,CString dept)
{
//獲取當前的紀錄條數(shù).
int nIndex = pList->GetItemCount();
LV_ITEM lvItem;
lvItem.mask = LVIF_TEXT ;
lvItem.iItem = nIndex; //行數(shù)
lvItem.iSubItem = 0;
lvItem.pszText = (char*)(LPCTSTR)id; //第一列
//在最后一行插入記錄值.
pList->InsertItem(&lvItem);
//設置該行的其他列的值.
pList->SetItemText(nIndex,1,name);
pList->SetItemText(nIndex,2,sex);
pList->SetItemText(nIndex,3,dept);
}
void CEmpAddDlg::OnAdd()
{
// TODO: Add your control notification handler code here
UpdateData();
if(m_name.IsEmpty())
{
AfxMessageBox("姓名不能為空");
return ;
}
CDStrs Inid;
CString sql;
//添加新員工
sql.Format("insert into members values('%s','%s','%s','%s')",m_id,m_name,m_sex,m_dept);
g_odbcDB.ExecuteSQL(sql);
InsertTypeItem(&m_listEmp,m_id,m_name,m_sex,m_dept);
m_id.Empty();
m_name.Empty();
m_sex.Empty();
m_dept.Empty();
UpdateData(FALSE);
}
void CEmpAddDlg::OnUpdate()
{
// TODO: Add your control notification handler code here
//獲取要修改類型信息
int nItem = m_listEmp.GetNextItem(-1, LVNI_SELECTED);
if(nItem == -1)
{
AfxMessageBox("請選定員工");
return;
}
CUpdate dig;
dig.m_id=m_listEmp.GetItemText(nItem, 0);
dig.DoModal();
}
BOOL CEmpAddDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
InitControl();
InitCtrlData();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CEmpAddDlg::OnComeon()
{
// TODO: Add your control notification handler code here
InitCtrlData();
}
void CEmpAddDlg::OnDel()
{
// TODO: Add your control notification handler code here
int nItem = m_listEmp.GetNextItem(-1, LVNI_SELECTED);
if(nItem == -1){
AfxMessageBox("請選定要刪除的員工");
return;
}
//獲取選擇的員工ID.
int id = atoi(m_listEmp.GetItemText(nItem,0));
CString sql;
//刪除選擇的員工
sql.Format("delete from members where mid = %d",id);
g_odbcDB.ExecuteSQL(sql);
m_listEmp.DeleteItem(nItem);
// UpdateData();
}
void CEmpAddDlg::OnLook()
{
// TODO: Add your control notification handler code here
int nItem = m_listEmp.GetNextItem(-1, LVNI_SELECTED);
if(nItem == -1)
{
AfxMessageBox("請選定要察看的員工");
return;
}
// CEmpAddDlg::OnOK();
CLOOKDIG dlg;
dlg.id=m_listEmp.GetItemText(nItem, 0);
dlg.DoModal();
/* int id = atoi(m_listEmp.GetItemText(nItem,0));
CString sql;
sql.Format("select * from members where mid=%d",id);*/
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -