📄 zhgview.cpp
字号:
rs.Open(CRecordset::forwardOnly,"select * from 员工 where NAME like '%"+m_SECHKEY+"%' ");
break;
case 2:
rs.Open(CRecordset::forwardOnly,"select * from 员工 where DEPARTMENT like '%"+m_SECHKEY+"%' ");
break;
case 3:
rs.Open(CRecordset::forwardOnly,"select * from 员工 where EDU_LEVEL like '%"+m_SECHKEY +"%' ");
break;
case 4:
rs.Open(CRecordset::forwardOnly,"select * from 员工 where MAJOR like '%"+ m_SECHKEY+"%' ");
break;
case 5:
rs.Open(CRecordset::forwardOnly,"select * from 员工 where JOB like '%"+m_SECHKEY+"%' ");
break;
default:
{
AfxMessageBox("请选择查询方式!");
flag=0;
break;
}
}
if(rs.IsEOF()&&flag==1)
{
flag=0;
MessageBox("没有找到相关记录");
}
if(flag==1)
{
m_LIST.DeleteAllItems();
while(!rs.IsEOF())
{
if(flag0==1)
{
m_LIST.InsertColumn(0,"职工ID",LVCFMT_LEFT,50,0);//设置列
m_LIST.InsertColumn(1,"姓名",LVCFMT_LEFT,80,1);
m_LIST.InsertColumn(2,"性别",LVCFMT_LEFT,50,2);
m_LIST.InsertColumn(3,"出生年月",LVCFMT_LEFT,80,3);
m_LIST.InsertColumn(4,"所属部门",LVCFMT_LEFT,50,4);
m_LIST.InsertColumn(5,"担任职务",LVCFMT_LEFT,50,1);
m_LIST.InsertColumn(6,"学历",LVCFMT_LEFT,50,2);
m_LIST.InsertColumn(7,"专业",LVCFMT_LEFT,80,3);
m_LIST.InsertColumn(8,"现住址",LVCFMT_LEFT,150,4);
m_LIST.InsertColumn(9,"电话",LVCFMT_LEFT,80,1);
m_LIST.InsertColumn(10,"电子邮件",LVCFMT_LEFT,80,2);
m_LIST.InsertColumn(11,"状态",LVCFMT_LEFT,80,3);
m_LIST.InsertColumn(12,"录用日期",LVCFMT_LEFT,80,4);
m_LIST.InsertColumn(13,"身份证号",LVCFMT_LEFT,80,1);
/* int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormat , int nWidth, int nSubItem); 插入列
iCol:为列的位置,从零开始
lpszColumnHeading:为显示的列名
nFormat:为显示对齐方式
nWidth:为显示宽度
nSubItem:为分配给该列的列索引。
*/
flag0=2;
}
// rs.GetRecordCount();
CString str0;
rs.GetFieldValue("ID", str0);
m_LIST.InsertItem(0,str0);//插入行
CString str1;
rs.GetFieldValue("NAME", str1);
m_LIST.SetItemText(0,1,str1);
CString str2;
rs.GetFieldValue("SEX", str2);
m_LIST.SetItemText(0,2,str2);
CString str3;
rs.GetFieldValue("BIRTHDAY", str3);
m_LIST.SetItemText(0,3,str3);
CString str4;
rs.GetFieldValue("DEPARTMENT", str4);
m_LIST.SetItemText(0,4,str4);
CString str5;
rs.GetFieldValue("JOB", str5);
m_LIST.SetItemText(0,5,str5);
CString str6;
rs.GetFieldValue("EDU_LEVEL", str6);
m_LIST.SetItemText(0,6,str6);
CString str7;
rs.GetFieldValue("MAJOR", str7);
m_LIST.SetItemText(0,7,str7);
CString str8;
rs.GetFieldValue("ADDRESS", str8);
m_LIST.SetItemText(0,8,str8);
CString str9;
rs.GetFieldValue("TEL", str9);
m_LIST.SetItemText(0,9,str9);
CString str10;
rs.GetFieldValue("EMAIL", str10);
m_LIST.SetItemText(0,10,str10);
CString str11;
rs.GetFieldValue("STATE", str11);
m_LIST.SetItemText(0,11,str11);
CString str12;
rs.GetFieldValue("LYRQ", str12);
m_LIST.SetItemText(0,12,str12);
CString str13;
rs.GetFieldValue("PERSONID", str13);
m_LIST.SetItemText(0,13,str13);//设置该行的不同列的显示字符
rs.MoveNext();
}
rs.Close();
db.Close();
}
}
void CZHGVIEW::OnItemchangingList4(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
/* // TODO: Add your control notification handler code here
int i=m_LIST.GetSelectionMark()+1;
//int nIndex=atoi(m_LIST.GetItemText(i,0));
m_pSet->SetAbsolutePosition(i);
UpdateData(FALSE);
*/
*pResult = 0;
}
void CZHGVIEW::OnSHOW()
{
// TODO: Add your control notification handler code here
/* m_LIST.DeleteAllItems();
m_SECHWAY=0;
m_SECHKEY="%";
UpdateData(FALSE);
OnZHAO();
*/ OnInitialUpdate();
}
BOOL CZHGVIEW::OnCommand(WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
CString str;
CMainFrame *pFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd;
CStatusBar* pStatus=&pFrame->m_wndStatusBar;
if(pStatus)
{
CRecordsetStatus rStatus;
m_pSet->GetStatus(rStatus);
str.Format("职工管理:第%d条记录/共%d条",1+m_LIST.GetSelectionMark(),m_LIST.GetItemCount());
pStatus->SetPaneText(1,str);
}
return CRecordView::OnCommand(wParam, lParam);
}
void CZHGVIEW::OnAdd()
{
// TODO: Add your control notification handler code here
CDatabase db;
CRecordset rs(&db);
db.Open("sam人事管理");
CString strUser;
rs.Open(CRecordset::forwardOnly,"select ID from 当前用户 where POS=1");
rs.GetFieldValue("ID",strUser);
rs.Close();
if(strUser=="人事部 ")
{
CSAMDLG samdlg;
int MAXID=0,IDTMP=0;
CString strID;
rs.Open(CRecordset::forwardOnly,"select ID from 员工");
while(!rs.IsEOF())
{
rs.GetFieldValue("ID",strID);
strID=strID.Mid(3);
IDTMP=atoi(strID);
if(MAXID<IDTMP)
{
MAXID=IDTMP;
}
rs.MoveNext();
}
rs.Close();
strID.Format("YG0%d",MAXID+1);
samdlg.m_ID=strID;
if(IDOK==samdlg.DoModal())
{
UpdateData();
CString strSQL;
CDatabase db;
db.Open("sam人事管理");
strSQL=" INSERT\
INTO 员工 (ID,NAME,SEX,BIRTHDAY,EDU_LEVEL,MAJOR,PERSONID,LYRQ,STATE,DEPARTMENT,JOB,TEL,ADDRESS)\
VALUES(\
'"+samdlg.m_ID+"',\
'"+samdlg.m_NAME+"',\
'"+samdlg.m_SEX+"',\
'"+samdlg.BIRTHDAY+"',\
'"+samdlg.m_EDUlevel+"',\
'"+samdlg.m_MAJOR+"',\
'"+samdlg.m__PERSONID+"',\
'"+samdlg.LYRQ+"',\
'"+samdlg.m_STATE+"',\
'"+samdlg.m_DEPARTMENT+"',\
'"+samdlg.m_JOB+"',\
'"+samdlg.m_TEL+"',\
'"+samdlg.m_ADDRESS+"');";
db.ExecuteSQL(strSQL);
AfxMessageBox("成功添加一条记录!");
db.Close();
m_LIST.DeleteAllItems();
OnInitialUpdate();
}
}
else
{
AfxMessageBox("您没有相关权限!");
}
db.Close();
}
int CZHGVIEW::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CRecordView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
return 0;
}
void CZHGVIEW::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
// Do not call CRecordView::OnPaint() for painting messages
}
void CZHGVIEW::OnEdit()
{
// TODO: Add your control notification handler code here
CDatabase db;
CRecordset rs(&db);
db.Open("sam人事管理");
CString strUser,strSQL,strtmp;
rs.Open(CRecordset::forwardOnly,"select ID from 当前用户 where POS=1");
strtmp.Format("%-10s",m_pSet->m_ID);
rs.GetFieldValue("ID",strUser);
strUser.MakeUpper();//操作用户ID转化为大写
strtmp.MakeUpper();//欲修改用户ID转化为大写
if(strUser=="人事部 " || strUser==strtmp)//人事部拥有对所有员工信息进行修改权限,操作用户只能编辑自己的信息
{
CSAMDLG samdlg;
samdlg.m_ID=m_pSet->m_ID;
samdlg.m_NAME=m_pSet->m_NAME;
samdlg.m_SEX=m_pSet->m_SEX;
samdlg.BIRTHDAY=m_pSet->m_BIRTHDAY;
samdlg.m_EDUlevel=m_pSet->m_EDU_LEVEL;
samdlg.m_MAJOR=m_pSet->m_MAJOR;
samdlg.m__PERSONID=m_pSet->m_PERSONID;
samdlg.LYRQ=m_pSet->m_LYRQ;
samdlg.m_STATE=m_pSet->m_STATE;
samdlg.m_DEPARTMENT=m_pSet->m_DEPARTMENT;
samdlg.m_JOB=m_pSet->m_JOB;
samdlg.m_TEL=m_pSet->m_TEL;
samdlg.m_ADDRESS=m_pSet->m_ADDRESS;//初始化编辑对话框各项内容
if(IDOK==samdlg.DoModal())
{
CDatabase dbtmp;
CString strSQL;
dbtmp.Open("sam人事管理");
strSQL="update 员工 set\
NAME='"+samdlg.m_NAME+"',\
SEX='"+samdlg.m_SEX+"',\
BIRTHDAY='"+samdlg.BIRTHDAY+"',\
EDU_LEVEL='"+samdlg.m_EDUlevel+"',\
MAJOR='"+samdlg.m_MAJOR+"',\
PERSONID='"+samdlg.m__PERSONID+"',\
LYRQ='"+samdlg.LYRQ+"',\
STATE='"+samdlg.m_STATE+"',\
DEPARTMENT='"+samdlg.m_DEPARTMENT+"',\
JOB='"+samdlg.m_JOB+"',\
TEL='"+samdlg.m_TEL+"',\
ADDRESS='"+samdlg.m_ADDRESS+"'\
WHERE ID='"+samdlg.m_ID+"';";
dbtmp.ExecuteSQL(strSQL);
AfxMessageBox("修改信息成功!");
dbtmp.Close();
m_LIST.DeleteAllItems();
OnInitialUpdate();
}
}
else
{
AfxMessageBox("您没有相关权限!");
}
rs.Close();
db.Close();
}
void CZHGVIEW::OnDelete()
{
// TODO: Add your control notification handler code here
CDatabase db;
CRecordset rs(&db);
db.Open("sam人事管理");
CString strUser,strSQL;
rs.Open(CRecordset::forwardOnly,"select ID from 当前用户 where POS=1");
rs.GetFieldValue("ID",strUser);
if(strUser=="人事部 ")
{
CString strtmp;
strtmp.Format("确认删除编号为%s\r名为%s\r这条记录么?",m_pSet->m_ID,m_pSet->m_NAME);
if(AfxMessageBox(strtmp,MB_YESNO)==IDYES)
{
CDatabase dbtmp;
CString strSQL;
dbtmp.Open("sam人事管理");
strSQL=" delete\
from 员工\
where ID='"+m_pSet->m_ID+"' ; ";
dbtmp.ExecuteSQL(strSQL);
AfxMessageBox("删除信息成功!");
dbtmp.Close();
OnInitialUpdate();
}
}
else
{
AfxMessageBox("您没有相关权限!");
}
rs.Close();
db.Close();
}
void CZHGVIEW::OnRclickList4(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
POINT point;
GetCursorPos(&point);
CMenu menu;
menu.LoadMenu(IDR_DELETEMENU);
menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);
*pResult = 0;
}
void CZHGVIEW::OnDblclkList4(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
OnEdit();
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -