?? empolyinfo.cpp
字號(hào):
// EmpolyInfo.cpp : 實(shí)現(xiàn)文件
//
#include "stdafx.h"
#include "ProjectManage.h"
#include "EmpolyInfo.h"
#include "User.h"
#include "ADODB.h"
// CEmpolyInfo 對(duì)話框
IMPLEMENT_DYNAMIC(CEmpolyInfo, CDialog)
CEmpolyInfo::CEmpolyInfo(CWnd* pParent /*=NULL*/)
: CDialog(CEmpolyInfo::IDD, pParent)
{
}
CEmpolyInfo::~CEmpolyInfo()
{
}
void CEmpolyInfo::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_oListmateriel);
}
BEGIN_MESSAGE_MAP(CEmpolyInfo, CDialog)
ON_BN_CLICKED(IDC_BUTTON1, &CEmpolyInfo::OnBntAddEmp)
ON_BN_CLICKED(IDC_BUTTON2, &CEmpolyInfo::OnBntModifyEmp)
ON_BN_CLICKED(IDC_BUTTON3, &CEmpolyInfo::OnBntDeleteEmp)
ON_NOTIFY(NM_CLICK, IDC_LIST1, &CEmpolyInfo::OnNMClickList1)
END_MESSAGE_MAP()
// CEmpolyInfo 消息處理程序
void CEmpolyInfo::OnBntAddEmp()
{
// TODO: 在此添加控件通知處理程序代碼
CString sql;
CString EmpName,DeptID,EmpDesc;
CEdit* mCEdit=(CEdit*)this->GetDlgItem(IDC_EDIT1);
mCEdit->GetWindowText(EmpName);
CEdit* pEdit=(CEdit*)this->GetDlgItem(IDC_EDIT2);
pEdit->GetWindowTextA(EmpDesc);
CComboBox* mComb=(CComboBox*)this->GetDlgItem(IDC_COMBO1);
mComb->GetWindowTextA(DeptID);
try
{
if(EmpName!=""&&DeptID!="")
{
sql="Insert into EmployeeTab (DeptID,EmployeeName,EmployeeDesc) VALUES ('"+DeptID+"','"+EmpName+"','"+EmpDesc+"')";
if(this->m_Storage.ExecSql(_bstr_t(sql)))
{
AfxMessageBox("添加成功!");
}
}
else
{
AfxMessageBox("請(qǐng)?zhí)韺憜T工姓名和選擇部門!");
return;
}
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("增加人員信息時(shí)出錯(cuò):%s",e.ErrorMessage());
AfxMessageBox(errormessage);
}
ListCtrDataLoad();
UpdateData(false);
}
void CEmpolyInfo::OnBntModifyEmp()
{
// TODO: 在此添加控件通知處理程序代碼
CString sql;
CString EmpName,DeptID,EmpDesc,Code;
CString EmpID;
CEdit* mCEdit=(CEdit*)this->GetDlgItem(IDC_EDIT1);
mCEdit->GetWindowText(EmpName);
CEdit* pEdit=(CEdit*)this->GetDlgItem(IDC_EDIT2);
pEdit->GetWindowTextA(EmpDesc);
CEdit* sEdit=(CEdit*)this->GetDlgItem(IDC_EDIT3);
sEdit->GetWindowTextA(Code);
CComboBox* mComb=(CComboBox*)this->GetDlgItem(IDC_COMBO1);
mComb->GetWindowTextA(DeptID);
try
{
if(EmpName!=""&&DeptID!="")
{
sql="update EmployeeTab set DeptID='"+DeptID+"',EmployeeName='"+EmpName+"',EmployeeDesc='"+EmpDesc+"' where EmployeeID="+Code;
if(this->m_Storage.ExecSql(_bstr_t(sql)))
{
ListCtrDataLoad();
AfxMessageBox("修改成功!");
}
}
else
{
AfxMessageBox("請(qǐng)?zhí)韺憜T工姓名和選擇部門!");
return;
}
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("修改人員信息時(shí)出錯(cuò):%s",e.ErrorMessage());
AfxMessageBox(errormessage);
}
}
void CEmpolyInfo::OnBntDeleteEmp()
{
// TODO: 在此添加控件通知處理程序代碼
CString sql;
CString EmpName,DeptID,EmpDesc,Code;
CString EmpID;
CEdit* mCEdit=(CEdit*)this->GetDlgItem(IDC_EDIT1);
mCEdit->GetWindowText(EmpName);
CEdit* pEdit=(CEdit*)this->GetDlgItem(IDC_EDIT2);
pEdit->GetWindowTextA(EmpDesc);
CEdit* sEdit=(CEdit*)this->GetDlgItem(IDC_EDIT3);
sEdit->GetWindowTextA(Code);
CComboBox* mComb=(CComboBox*)this->GetDlgItem(IDC_COMBO1);
mComb->GetWindowTextA(DeptID);
try
{
sql="delete from EmployeeTab where EmployeeID="+Code;
if(MessageBox("真的要?jiǎng)h除考試編號(hào)為:"+EmpName+"的記錄嗎?","刪除詢問(wèn)", MB_OKCANCEL|MB_ICONQUESTION)==IDOK)
{
if(this->m_Storage.ExecSql(_bstr_t(sql)))
{
ListCtrDataLoad();
}
}
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("刪除人員信息時(shí)出錯(cuò):%s",e.ErrorMessage());
AfxMessageBox(errormessage);
}
}
BOOL CEmpolyInfo::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加額外的初始化
CString DeptName;
CComboBox* pCombobox=(CComboBox*)this->GetDlgItem(IDC_COMBO1);
theApp.m_pDept->GetDeptName();
POSITION p=theApp.m_pDept->m_DeptList.GetHeadPosition();
while(p)
{
DeptName=theApp.m_pDept->m_DeptList.GetNext(p);
pCombobox->AddString(DeptName);
}
pCombobox->SetCurSel(0);
CEdit* pEdit=(CEdit*) this->GetDlgItem(IDC_EDIT1);
pEdit->SetWindowText("");
pEdit->SetFocus();
for(int delcolumn=100;delcolumn>=0;delcolumn--)
m_oListmateriel.DeleteColumn(delcolumn);
//設(shè)置list對(duì)話框的列
DWORD dwStyle;
RECT rect;
LV_COLUMN lvc;
dwStyle = m_oListmateriel.GetStyle();
dwStyle |= LVS_EX_GRIDLINES |LVS_EX_FULLROWSELECT|LVS_SHOWSELALWAYS ;
m_oListmateriel.SetExtendedStyle(dwStyle);
m_oListmateriel.GetClientRect(&rect);
lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH |LVCF_FMT;
lvc.fmt=LVCFMT_LEFT;
lvc.iSubItem = 0;
lvc.pszText = _T("編號(hào)");
lvc.cx = 50;
m_oListmateriel.InsertColumn(1,&lvc);
lvc.iSubItem = 1;
lvc.pszText = _T("姓名");
lvc.cx = 80;
m_oListmateriel.InsertColumn(2,&lvc);
lvc.iSubItem = 2;
lvc.pszText = _T("部門");
lvc.cx = 100;
m_oListmateriel.InsertColumn(3,&lvc);
lvc.iSubItem = 3;
lvc.pszText = _T("描述");
lvc.cx = 120;
m_oListmateriel.InsertColumn(4,&lvc);
ListCtrDataLoad();
return TRUE; // return TRUE unless you set the focus to a control
// 異常: OCX 屬性頁(yè)應(yīng)返回 FALSE
}
void CEmpolyInfo::ListCtrDataLoad()
{
CString sql;
CString curID;
_RecordsetPtr m_pTRecordset;
m_oListmateriel.DeleteAllItems();
int nColumnCount=m_oListmateriel.GetHeaderCtrl()->GetItemCount();
int numline=0;
sql="SELECT * FROM EmployeeTab where 1=1";
try
{
m_pTRecordset.CreateInstance("ADODB.Recordset");
m_pTRecordset->Open((_variant_t)sql,_variant_t((IDispatch*)theApp.m_pDBCon->GetActiveConnection(),true),adOpenDynamic,adLockOptimistic,adCmdText);
m_pTRecordset->MoveFirst();
LV_ITEM lvitem;
lvitem.pszText="";
lvitem.mask=LVIF_TEXT;
lvitem.iSubItem=0;
if(!m_pTRecordset->adoEOF)
{
while(!m_pTRecordset->adoEOF)
{
lvitem.iItem=numline;
m_oListmateriel.InsertItem(&lvitem);
m_oListmateriel.SetItemText(numline,0,(LPCTSTR)(_bstr_t)(m_pTRecordset->GetCollect("EmployeeID")));
m_oListmateriel.SetItemText(numline,1,(LPCTSTR)(_bstr_t)(m_pTRecordset->GetCollect("EmployeeName")));
m_oListmateriel.SetItemText(numline,2,(LPCTSTR)(_bstr_t)(m_pTRecordset->GetCollect("DeptID")));
m_oListmateriel.SetItemText(numline,3,(LPCTSTR)(_bstr_t)(m_pTRecordset->GetCollect("EmployeeDesc")));
numline++;
//m_oListmateriel.Invalidate();
if (!m_pTRecordset->adoEOF)
{
m_pTRecordset->MoveNext();
}
}
}
m_pTRecordset->Close();
}
catch(_com_error e)
{
CString errormessage;
MessageBox("加載列表視圖出錯(cuò)!");
}
CString temp;
temp.Format("共有%d條記錄",numline);
SetWindowText(temp);
}
void CEmpolyInfo::OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知處理程序代碼
CString EmpName,DeptID,EmpDesc,Code;
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(pNMListView->iItem != -1)
{
CString strtemp;
strtemp.Format("單擊的是第%d行第%d列",
pNMListView->iItem, pNMListView->iSubItem);
EmpName=m_oListmateriel.GetItemText(pNMListView->iItem, 1);
DeptID=m_oListmateriel.GetItemText(pNMListView->iItem, 2);
EmpDesc=m_oListmateriel.GetItemText(pNMListView->iItem, 3);
Code=m_oListmateriel.GetItemText(pNMListView->iItem, 0);
CEdit* mCEdit=(CEdit*)this->GetDlgItem(IDC_EDIT1);
mCEdit->SetWindowTextA(EmpName);
CEdit* pEdit=(CEdit*)this->GetDlgItem(IDC_EDIT2);
pEdit->SetWindowTextA(EmpDesc);
CEdit* sEdit=(CEdit*)this->GetDlgItem(IDC_EDIT3);
sEdit->SetWindowTextA(Code);
CComboBox* mComb=(CComboBox*)this->GetDlgItem(IDC_COMBO1);
mComb->SetWindowTextA(DeptID);
}
*pResult = 0;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -