📄 staffbaseinfo.cpp
字号:
{
::CoInitialize(NULL);
_ConnectionPtr m_pConn("ADODB.Connection");
m_pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\DataSource\\office1.mdb;Persist Security Info=False","","",adConnectUnspecified);
_RecordsetPtr m_pRecordset("ADODB.Recordset");//记录集
m_pRecordset->Open("Select*From 人员基本档案",_variant_t(m_pConn,true),adOpenDynamic,adLockPessimistic,adCmdText);
int i=0;
while(!m_pRecordset->EndOfFile)
{
m_list.InsertItem(i,(_bstr_t)m_pRecordset->GetCollect("StaffID"));
m_list.SetItemText(i,1,(_bstr_t)m_pRecordset->GetCollect("StaffName"));
m_list.SetItemText(i,2,(_bstr_t)m_pRecordset->GetCollect("Duty"));
i++;
m_pRecordset->MoveNext();
}
}
//捕获异常
catch(_com_error&e)
{
MessageBox(e.ErrorMessage());
}
}
void CStaffBaseInfo::OnDelete()
{
// TODO: Add your control notification handler code here
if(AfxMessageBox("您确定要删除该员工信息吗?",MB_YESNO,0)!=IDYES)
{
return;
}
CStaffInfo staffinfo;
staffinfo.SQLdelete(m_staffID);
Refresh();
UpdateData(false);
GetDlgItem(IDC_DELETE)->EnableWindow(false);
GetDlgItem(IDC_MODIFY)->EnableWindow(false);
}
CString m_oldID;
void CStaffBaseInfo::OnModify()
{
// TODO: Add your control notification handler code here
//修改则个控件可用处于待编辑状态
GetDlgItem(IDC_PHONE)->EnableWindow(true);
GetDlgItem(IDC_MAILADDRESS)->EnableWindow(true);
GetDlgItem(IDC_QQ)->EnableWindow(true);
GetDlgItem(IDC_MAYOR)->EnableWindow(true);
GetDlgItem(IDC_MOBILEPHONE)->EnableWindow(true);
GetDlgItem(IDC_NOTE)->EnableWindow(true);
GetDlgItem(IDC_POSTCODE)->EnableWindow(true);
GetDlgItem(IDC_IDENTITYID)->EnableWindow(true);
GetDlgItem(IDC_WORKTYPE)->EnableWindow(true);
GetDlgItem(IDC_MARRIAGE)->EnableWindow(true);
GetDlgItem(IDC_DUTY)->EnableWindow(true);
GetDlgItem(IDC_DEPARTMENT)->EnableWindow(true);
GetDlgItem(IDC_SEX)->EnableWindow(true);
GetDlgItem(IDC_BIRTHDAY)->EnableWindow(true);
GetDlgItem(IDC_NATIONALITY)->EnableWindow(true);
GetDlgItem(IDC_EDUCATIONLEVEL)->EnableWindow(true);
GetDlgItem(IDC_STAFFID)->EnableWindow(true);
GetDlgItem(IDC_NAME)->EnableWindow(true);
GetDlgItem(IDC_CONTRACTCODE)->EnableWindow(true);
GetDlgItem(IDC_CONTRACTDEADLINE)->EnableWindow(true);
GetDlgItem(IDC_ADDRESS)->EnableWindow(true);
GetDlgItem(IDC_GRADUATESCHOOL)->EnableWindow(true);
//处于待编辑状态
m_oldID=m_staffID;
m_address = _T("");
m_contractCode = _T("");
m_contractDeadline = COleDateTime::GetCurrentTime();
m_graduateSchool = _T("");
m_identiyID = _T("");
m_mailAddress = _T("");
m_mayor = _T("");
m_mobilephone = _T("");
m_name = _T("");
m_note = _T("");
m_phone = _T("");
m_postcode = _T("");
m_qq = _T("");
m_staffID = _T("");
m_worktype = _T("");
m_duty = _T("");
m_department = _T("");
m_sex = _T("");
m_graduateLevel = _T("");
m_marriage = _T("");
m_nationality = _T("");
UpdateData(false);
flag=2;//修改设置flag为2
GetDlgItem(IDC_SAVE)->EnableWindow();
GetDlgItem(IDC_CANCELLATION)->EnableWindow();
GetDlgItem(IDC_LIST)->EnableWindow(FALSE);
GetDlgItem(IDC_DELETE)->EnableWindow(FALSE);
GetDlgItem(IDC_ADD)->EnableWindow(FALSE);
}
void CStaffBaseInfo::OnAdd()
{
// TODO: Add your control notification handler code here
GetDlgItem(IDC_PHONE)->EnableWindow(true);
GetDlgItem(IDC_MAILADDRESS)->EnableWindow(true);
GetDlgItem(IDC_QQ)->EnableWindow(true);
GetDlgItem(IDC_MAYOR)->EnableWindow(true);
GetDlgItem(IDC_MOBILEPHONE)->EnableWindow(true);
GetDlgItem(IDC_NOTE)->EnableWindow(true);
GetDlgItem(IDC_POSTCODE)->EnableWindow(true);
GetDlgItem(IDC_IDENTITYID)->EnableWindow(true);
GetDlgItem(IDC_WORKTYPE)->EnableWindow(true);
GetDlgItem(IDC_MARRIAGE)->EnableWindow(true);
GetDlgItem(IDC_DUTY)->EnableWindow(true);
GetDlgItem(IDC_DEPARTMENT)->EnableWindow(true);
GetDlgItem(IDC_SEX)->EnableWindow(true);
GetDlgItem(IDC_BIRTHDAY)->EnableWindow(true);
GetDlgItem(IDC_NATIONALITY)->EnableWindow(true);
GetDlgItem(IDC_EDUCATIONLEVEL)->EnableWindow(true);
GetDlgItem(IDC_STAFFID)->EnableWindow(true);
GetDlgItem(IDC_NAME)->EnableWindow(true);
GetDlgItem(IDC_CONTRACTCODE)->EnableWindow(true);
GetDlgItem(IDC_CONTRACTDEADLINE)->EnableWindow(true);
GetDlgItem(IDC_ADDRESS)->EnableWindow(true);
GetDlgItem(IDC_GRADUATESCHOOL)->EnableWindow(true);
//处于待编辑状态
m_address = _T("");
m_contractCode = _T("");
m_contractDeadline = COleDateTime::GetCurrentTime();
m_graduateSchool = _T("");
m_identiyID = _T("");
m_mailAddress = _T("");
m_mayor = _T("");
m_mobilephone = _T("");
m_name = _T("");
m_note = _T("");
m_phone = _T("");
m_postcode = _T("");
m_qq = _T("");
m_staffID = _T("");
m_worktype = _T("");
m_duty = _T("");
m_department = _T("");
m_sex = _T("");
m_graduateLevel = _T("");
m_marriage = _T("");
m_nationality = _T("");
flag=1;//增加 flag设置为1
UpdateData(false);
GetDlgItem(IDC_LIST)->EnableWindow(false);
GetDlgItem(IDC_SAVE)->EnableWindow();
GetDlgItem(IDC_CANCELLATION)->EnableWindow();
GetDlgItem(IDC_MODIFY)->EnableWindow(FALSE);
GetDlgItem(IDC_DELETE)->EnableWindow(FALSE);
}
void CStaffBaseInfo::OnSave()
{
// TODO: Add your control notification handler code here
UpdateData();
CStaffInfo staffinfo;
staffinfo.m_address =m_address ;
staffinfo.m_contractCode =m_contractCode ;
staffinfo.m_contractDeadline =m_contractDeadline;
staffinfo.m_graduateSchool = m_graduateSchool;
staffinfo.m_identiyID = m_identiyID;
staffinfo.m_mailAddress = m_mailAddress;
staffinfo.m_mayor = m_mayor;
staffinfo.m_mobilephone = m_mobilephone;
staffinfo.m_name = m_name;
staffinfo.m_note = m_note;
staffinfo.m_phone = m_phone;
staffinfo.m_postcode = m_postcode;
staffinfo.m_qq = m_qq;
staffinfo.m_staffID = m_staffID;
staffinfo.m_worktype = m_worktype;
staffinfo.m_duty = m_duty;
staffinfo.m_department = m_department;
staffinfo.m_sex = m_sex;
staffinfo.m_graduateLevel = m_graduateLevel;
staffinfo.m_marriage = m_marriage;
staffinfo.m_nationality = m_nationality;
if(flag==1)// 增加条目
{
if(m_staffID==""||m_name=="")
{
MessageBox("有项目未填写,保存无效");
return;
}
staffinfo.SQLinsert();
}
if(flag==2)//修改条目
{
if(m_staffID==""||m_name=="")
{
MessageBox("有项目未填写,保存无效");
return;
}
staffinfo.SQLupdate(m_oldID);
}
//添加完成后要更新,将新的显示出来
Refresh();
//完成添加或删除任务将flag设置为0
flag=0;
GetDlgItem(IDC_SAVE)->EnableWindow(false);
GetDlgItem(IDC_CANCELLATION)->EnableWindow(false);
GetDlgItem(IDC_PHONE)->EnableWindow(false);
GetDlgItem(IDC_MAILADDRESS)->EnableWindow(false);
GetDlgItem(IDC_QQ)->EnableWindow(false);
GetDlgItem(IDC_MAYOR)->EnableWindow(false);
GetDlgItem(IDC_MOBILEPHONE)->EnableWindow(false);
GetDlgItem(IDC_NOTE)->EnableWindow(false);
GetDlgItem(IDC_POSTCODE)->EnableWindow(false);
GetDlgItem(IDC_IDENTITYID)->EnableWindow(false);
GetDlgItem(IDC_WORKTYPE)->EnableWindow(false);
GetDlgItem(IDC_MARRIAGE)->EnableWindow(false);
GetDlgItem(IDC_DUTY)->EnableWindow(false);
GetDlgItem(IDC_DEPARTMENT)->EnableWindow(false);
GetDlgItem(IDC_SEX)->EnableWindow(false);
GetDlgItem(IDC_BIRTHDAY)->EnableWindow(false);
GetDlgItem(IDC_NATIONALITY)->EnableWindow(false);
GetDlgItem(IDC_EDUCATIONLEVEL)->EnableWindow(false);
GetDlgItem(IDC_STAFFID)->EnableWindow(false);
GetDlgItem(IDC_NAME)->EnableWindow(false);
GetDlgItem(IDC_CONTRACTCODE)->EnableWindow(false);
GetDlgItem(IDC_CONTRACTDEADLINE)->EnableWindow(false);
GetDlgItem(IDC_ADDRESS)->EnableWindow(false);
GetDlgItem(IDC_GRADUATESCHOOL)->EnableWindow(false);
GetDlgItem(IDC_LIST)->EnableWindow();
GetDlgItem(IDC_ADD)->EnableWindow();
GetDlgItem(IDC_MODIFY)->EnableWindow(false);
}
void CStaffBaseInfo::OnCancellation()
{
// TODO: Add your control notification handler code here
GetDlgItem(IDC_SAVE)->EnableWindow(false);
GetDlgItem(IDC_CANCELLATION)->EnableWindow(false);
GetDlgItem(IDC_PHONE)->EnableWindow(false);
GetDlgItem(IDC_MAILADDRESS)->EnableWindow(false);
GetDlgItem(IDC_QQ)->EnableWindow(false);
GetDlgItem(IDC_MAYOR)->EnableWindow(false);
GetDlgItem(IDC_MOBILEPHONE)->EnableWindow(false);
GetDlgItem(IDC_NOTE)->EnableWindow(false);
GetDlgItem(IDC_POSTCODE)->EnableWindow(false);
GetDlgItem(IDC_IDENTITYID)->EnableWindow(false);
GetDlgItem(IDC_WORKTYPE)->EnableWindow(false);
GetDlgItem(IDC_MARRIAGE)->EnableWindow(false);
GetDlgItem(IDC_DUTY)->EnableWindow(false);
GetDlgItem(IDC_DEPARTMENT)->EnableWindow(false);
GetDlgItem(IDC_SEX)->EnableWindow(false);
GetDlgItem(IDC_BIRTHDAY)->EnableWindow(false);
GetDlgItem(IDC_NATIONALITY)->EnableWindow(false);
GetDlgItem(IDC_EDUCATIONLEVEL)->EnableWindow(false);
GetDlgItem(IDC_STAFFID)->EnableWindow(false);
GetDlgItem(IDC_NAME)->EnableWindow(false);
GetDlgItem(IDC_CONTRACTCODE)->EnableWindow(false);
GetDlgItem(IDC_CONTRACTDEADLINE)->EnableWindow(false);
GetDlgItem(IDC_ADDRESS)->EnableWindow(false);
GetDlgItem(IDC_GRADUATESCHOOL)->EnableWindow(false);
GetDlgItem(IDC_LIST)->EnableWindow();
GetDlgItem(IDC_ADD)->EnableWindow();
GetDlgItem(IDC_MODIFY)->EnableWindow(false);
UpdateData(false);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -