版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據(jù)庫原理及應用 姓名:XXX 班級:通信XXX班 學號:XXXXXXXXXXPAGE PAGE 51“工資管理系統(tǒng)”設計內(nèi)容成員:XXX、XXX、XXX、XXX、XXX、XXX、XXX一、系統(tǒng)功能分析本系統(tǒng)要求實現(xiàn)以下主要功能:1.數(shù)據(jù)基本管理功能主要任務是對各種工資信息進行日常的管理,如:(1)工資信息的輸入 (2)數(shù)據(jù)的修改(3)數(shù)據(jù)的增加、刪除2.數(shù)據(jù)查詢功能系統(tǒng)需要提供以下查詢功能: (1)員工基本信息情況查詢: 員工姓名,員工號,身份證號,職稱,身份證號,銀行卡號,電話(2)員工月工資情況查詢:員工號,姓名,部門名,基本工資,各種扣款,加班費,應得工資(3)職稱基本信息情況查詢:職
2、稱名稱,職稱基本工資二、系統(tǒng)設計的功能模塊三、E-R圖設計四、需要建立的庫和表1、建立“工資管理系統(tǒng)”數(shù)據(jù)庫2、建立四張表(1)員工基本信息表(2)基本工資表(3)職稱工資表(4)用戶表五、程序和主要實現(xiàn)界面1、程序(1)界面/ StaffSystermView.cpp : implementation of the CStaffSystermView class/#include stdafx.h#include StaffSysterm.h#include StaffSystermDoc.h#include StaffSystermView.h#include afxdb.h#ifdef
3、_DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif#define WM_INSERT 2000#define WM_DELETE 2001#define WM_ADDOVERTIME 3000#define WM_ADDPRIZE 3001#define WM_CANCELPRIZE 3002#define WM_ADDLATE 3003#define WM_WAGETOTAL 3004#define WM_CLEARPWAGE 3005#define WM_CLEARWAGE 300
4、6/ CStaffSystermViewIMPLEMENT_DYNCREATE(CStaffSystermView, CFormView)BEGIN_MESSAGE_MAP(CStaffSystermView, CFormView)/AFX_MSG_MAP(CStaffSystermView)ON_COMMAND(IDM_SHOWTAFF, OnShowtaff)ON_COMMAND(IDM_STAFFWAGE, OnStaffwage)ON_COMMAND(IDM_ADDSTAFF, OnAddstaff)ON_COMMAND(IDM_DELETESTAFF, OnDeletestaff)O
5、N_COMMAND(IDM_LATEADD, OnLateadd)ON_COMMAND(IDM_PRIZE, OnPrize)ON_COMMAND(IDM_TOTAL, OnTotal)ON_COMMAND(IDM_CLEARPRIZE, OnClearprize)ON_COMMAND(IDM_CLEARSWAGE, OnClearswage)ON_COMMAND(IDM_CLEARWAGE, OnClearwage)ON_COMMAND(IDM_OVERTIMEWAGE, OnOvertimewage)ON_NOTIFY(NM_RCLICK, IDC_LIST1, OnRclickList1
6、)ON_COMMAND(ID_BUTTON32791, OnButton32791)ON_COMMAND(ID_BUTTON32792, OnButton32792)ON_COMMAND(ID_BUTTON32794, OnButton32794)ON_COMMAND(ID_BUTTON32795, OnButton32795)ON_COMMAND(ID_BUTTON32796, OnButton32796)ON_COMMAND(ID_BUTTON32797, OnButton32797)ON_COMMAND(ID_BUTTON32798, OnButton32798)ON_BN_CLICKE
7、D(IDC_BTN_FIND, OnBtnFind)ON_COMMAND(ID_BUTTON32800_SHOWSTAFF, OnButton32800Showstaff)ON_COMMAND(ID_BUTTON32804_SHOWWAGE, OnButton32804Showwage)ON_COMMAND(ID_BUTTON32805_PRINTVIEW, OnButton32805Printview)ON_COMMAND(IDM_UPDATAZCWAGE, OnUpdatazcwage)ON_COMMAND(IDM_ADDZC, OnAddzc)ON_COMMAND(IDM_SHOWZC,
8、 OnShowzc)ON_COMMAND(ID_BUTTON32809_ZC, OnButton32809Zc)ON_COMMAND(WM_INSERT,OnAddstaff)ON_COMMAND(WM_DELETE,OnDeletestaff)ON_COMMAND(WM_ADDOVERTIME,OnOvertimewage)ON_COMMAND(WM_ADDPRIZE,OnPrize)ON_COMMAND(WM_CANCELPRIZE,OnClearprize)ON_COMMAND(WM_ADDLATE,OnLateadd)ON_COMMAND(WM_WAGETOTAL,OnTotal)ON
9、_COMMAND(WM_CLEARPWAGE,OnClearswage)ON_COMMAND(WM_CLEARWAGE,OnClearwage)ON_COMMAND(IDM_SAVEDATABASE, OnSavedatabase)ON_COMMAND(IDM_RESTORE, OnRestore)/AFX_MSG_MAP/ Standard printing commandsON_COMMAND(ID_FILE_PRINT, CFormView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT, CFormView:OnFilePrint)ON_COMM
10、AND(ID_FILE_PRINT_PREVIEW, CFormView:OnFilePrintPreview)END_MESSAGE_MAP()/CStaffSystermView construction/destructionCStaffSystermView:CStaffSystermView(): CFormView(CStaffSystermView:IDD)/AFX_DATA_INIT(CStaffSystermView)/AFX_DATA_INIT/ TODO: add construction code herem_login.DoModal();pDb=new CDatab
11、ase();CStaffSystermView:CStaffSystermView()void CStaffSystermView:DoDataExchange(CDataExchange* pDX)CFormView:DoDataExchange(pDX);/AFX_DATA_MAP(CStaffSystermView)DDX_Control(pDX, IDC_COMBO_FIND, m_ControlComFind);DDX_Control(pDX, IDC_LIST2, m_findTemp);DDX_Control(pDX, IDC_LIST1, m_DataArea);/AFX_DA
12、TA_MAPBOOL CStaffSystermView:PreCreateWindow(CREATESTRUCT& cs)/ TODO: Modify the Window class or styles here by modifying/ the CREATESTRUCT csreturn CFormView:PreCreateWindow(cs);void CStaffSystermView:OnInitialUpdate()CFormView:OnInitialUpdate();GetParentFrame()-RecalcLayout();ResizeParentToFit();m
13、_DataArea.SetExtendedStyle(LVS_EX_FLATSB /扁平風格滾動條|LVS_EX_FULLROWSELECT /允許整行選中|LVS_EX_HEADERDRAGDROP /允許標題拖拽|LVS_EX_ONECLICKACTIVATE /高亮顯示|LVS_EX_GRIDLINES /畫出網(wǎng)格線);m_findTemp.SetExtendedStyle(LVS_EX_FLATSB /扁平風格滾動條|LVS_EX_FULLROWSELECT /允許整行選中|LVS_EX_HEADERDRAGDROP /允許標題拖拽|LVS_EX_ONECLICKACTIVATE /高
14、亮顯示|LVS_EX_GRIDLINES /畫出網(wǎng)格線);m_ControlComFind.AddString(員工號);m_ControlComFind.AddString(員工姓名);SetDlgItemText(IDC_COMBO_FIND,員工號);/ CStaffSystermView printingBOOL CStaffSystermView:OnPreparePrinting(CPrintInfo* pInfo)/ default preparationreturn DoPreparePrinting(pInfo);void CStaffSystermView:OnBeginP
15、rinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add extra initialization before printingvoid CStaffSystermView:OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add cleanup after printingvoid CStaffSystermView:OnPrint(CDC* pDC, CPrintInfo* /*pInfo*/)/ TODO: add customized printing code h
16、ere/ CStaffSystermView diagnostics#ifdef _DEBUGvoid CStaffSystermView:AssertValid() constCFormView:AssertValid();void CStaffSystermView:Dump(CDumpContext& dc) constCFormView:Dump(dc);CStaffSystermDoc* CStaffSystermView:GetDocument() / non-debug version is inlineASSERT(m_pDocument-IsKindOf(RUNTIME_CL
17、ASS(CStaffSystermDoc);return (CStaffSystermDoc*)m_pDocument;#endif /_DEBUG/ CStaffSystermView message handlersvoid CStaffSystermView:ShowStaffTable()m_tableNum=1;clearColumn();setColumn(員工基本信息表);pDb-Open(NULL,FALSE,FALSE,ODBC;DSN=pubSQL;UID=sqlc;PWD=,FALSE);/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/C
18、String strsql=select * from 員工基本信息表;rs.m_pDatabase=pDb;rs.Open(CRecordset:forwardOnly,strsql);tryint index=0;CString s10;CString t;short n=rs.GetODBCFieldCount();while (!rs.IsEOF() t=;for (short i=0;iClose();catch (CDBException *pEx) pDb-Close();rs.Close();pEx-ReportError();void CStaffSystermView:On
19、Showtaff() / TODO: Add your command handler code hereShowStaffTable();void CStaffSystermView:OnStaffwage() / TODO: Add your command handler code hereShowWageTable();void CStaffSystermView:clearColumn()m_DataArea.DeleteAllItems();int n=m_DataArea.GetHeaderCtrl()-GetItemCount();for (int i=0;iOpen(NULL
20、,FALSE,FALSE,ODBC;DSN=pubSQL;UID=sql;PWD=,FALSE);/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/CString strsql=select * from 基本工資表;rs.m_pDatabase=pDb;rs.Open(CRecordset:forwardOnly,strsql);tryint index=0;CString s10;CString t;short n=rs.GetODBCFieldCount();while (!rs.IsEOF() t=;for (short i=0;iClose();cat
21、ch (CDBException *pEx) rs.Close();pDb-Close();pEx-ReportError();void CStaffSystermView:OnAddstaff() / TODO: Add your command handler code hereif(m_tableNum!=1)AfxMessageBox(請先進入員工基本信息表!);return;m_addstaff.getArea(&m_DataArea);m_addstaff.DoModal();void CStaffSystermView:OnDeletestaff() / TODO: Add yo
22、ur command handler code heredeletdTable(員工基本信息表);void CStaffSystermView:setColumn(CString tablename)/*CDatabase *pDb=new CDatabase;*/pDb-Open(NULL,FALSE,FALSE,ODBC;DSN=pubSQL;UID=sql;PWD=,FALSE);rs.m_pDatabase=pDb;CODBCFieldInfo info;CString strSQL=tablename;/ m_combTable.GetLBText(m_combTable.GetCu
23、rSel(), strSQL);strSQL = _T(SELECT * FROM ) + strSQL;rs.Open(CRecordset:forwardOnly,strSQL);int nColumns = rs.GetODBCFieldCount();for (int nNum = 0; nNum Close();void CStaffSystermView:OnLateadd() / TODO: Add your command handler code hereif(m_tableNum!=2)AfxMessageBox(請先進入基本工資表!);return;int index=m
24、_DataArea.GetSelectionMark();if (indexClose();return;pDb-Open(NULL,FALSE,FALSE,ODBC;DSN=pubSQL;UID=sql;PWD=,FALSE);CString id;CString klate;char m10;id=m_DataArea.GetItemText(index,0);m_DataArea.GetItemText(index,5,m,10);int lateN=atoi(m);lateN+;klate.Format(%d,lateN);CString strsql;/xxxxxxxxxxxxxxx
25、xxxxxxxxxxxxxxxxxxx/strsql.Format(update 基本工資表 set 遲到次數(shù)=%d where 員工號=%s,lateN,id);trypDb-ExecuteSQL(strsql);pDb-Close();AfxMessageBox(已修改!);m_DataArea.SetItemText(index,5,klate);catch (CDBException *pEx) pEx-ReportError();pDb-Close();void CStaffSystermView:OnPrize() / TODO: Add your command handler
26、code hereif(m_tableNum!=2)AfxMessageBox(請先進入基本工資表!);return;int index=m_DataArea.GetSelectionMark();if(indexClose();return;m_prize.getArea(&m_DataArea);m_prize.DoModal();void CStaffSystermView:OnTotal() / TODO: Add your command handler code hereif(m_tableNum!=2)AfxMessageBox(請先進入基本工資表!);return;int in
27、dex=0;int countNum=m_DataArea.GetItemCount();if(countNum=0)AfxMessageBox(無記錄!);return;CString id;char basicWage10,overtimeWage10,prizeWage10,lateNum10,sj10;int total=0;int part;pDb-Open(pubSQL);for(int i=0;iExecuteSQL(strsql);CString klate;klate.Format(%d,total);m_DataArea.SetItemText(index,7,klate)
28、;catch (CDBException *pEx) pDb-Close();pEx-ReportError();index+;total=0;part=0;AfxMessageBox(已完成!);pDb-Close();int CStaffSystermView:getListText(int index, int i, char *p)m_DataArea.GetItemText(index,i,p,10);int part=atoi(p);return part;void CStaffSystermView:OnClearprize() / TODO: Add your command
29、handler code hereif(m_tableNum!=2)AfxMessageBox(請先進入基本工資表!);return;pDb-Open(NULL,FALSE,FALSE,ODBC;DSN=pubSQL;UID=sql;PWD=,FALSE);CString id;int index=m_DataArea.GetSelectionMark();id=m_DataArea.GetItemText(index,0);CString strsql;/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/strsql.Format(update 基本工資表 se
30、t 獎金=%d where 員工號=%s,0,id);trypDb-ExecuteSQL(strsql);pDb-Close();AfxMessageBox(已修改!);m_DataArea.SetItemText(index,4,0);catch (CDBException *pEx) pEx-ReportError();pDb-Close();void CStaffSystermView:OnClearswage() / TODO: Add your command handler code hereif(m_tableNum!=2)AfxMessageBox(請先進入基本工資表!);re
31、turn;int index=m_DataArea.GetSelectionMark();if(indexOpen(pubSQL);pDb-ExecuteSQL(insql1);AfxMessageBox(已結算!);m_DataArea.SetItemText(index,2,wageS);m_DataArea.SetItemText(index,3,0);m_DataArea.SetItemText(index,4,0);m_DataArea.SetItemText(index,5,0);m_DataArea.SetItemText(index,6,wageJ);m_DataArea.Se
32、tItemText(index,7,0);pDb-Close();catch (CDBException *pEx) pDb-Close();pEx-ReportError();pDb-Close();void CStaffSystermView:OnClearwage() / TODO: Add your command handler code hereif(m_tableNum!=2)AfxMessageBox(請先進入基本工資表!);return;int index=0;int num=m_DataArea.GetItemCount();for(int i=0;iOpen(pubSQL
33、);pDb-ExecuteSQL(insql1);m_DataArea.SetItemText(index,2,wageS);m_DataArea.SetItemText(index,3,0);m_DataArea.SetItemText(index,4,0);m_DataArea.SetItemText(index,5,0);m_DataArea.SetItemText(index,6,wageJ);m_DataArea.SetItemText(index,7,0);pDb-Close();catch (CDBException *pEx) pDb-Close();pEx-ReportErr
34、or();pDb-Close();index+;AfxMessageBox(已結算!);int CStaffSystermView:getZCwage(CString id)int wage;CString zc;CString strsql,strsql1;/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/strsql.Format(select 職稱 from 員工基本信息表 where 員工號=%s,id);trypDb-Open(pubSQL);CRecordset rs(pDb);rs.Open(CRecordset:forwardOnly,strsql);s
35、hort n=rs.GetODBCFieldCount();while (!rs.IsEOF() for (short i=0;in;i+) rs.GetFieldValue(職稱,zc);rs.MoveNext();rs.Close();/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/strsql1.Format(select 工資 from 職稱工資表 where 職稱=%s,zc);CDBVariant t;rs.Open(CRecordset:forwardOnly,strsql1);n=rs.GetODBCFieldCount();while (!r
36、s.IsEOF() for (short i=0;iClose();catch (CDBException *pEx) pDb-Close();pEx-ReportError();return wage;void CStaffSystermView:OnOvertimewage() / TODO: Add your command handler code hereif(m_tableNum!=2)AfxMessageBox(請先進入基本工資表!);return; int index=m_DataArea.GetSelectionMark();if(indexClose();return;m_
37、overtimewage.getArea(&m_DataArea);m_overtimewage.DoModal();void CStaffSystermView:OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult) / TODO: Add your control notification handler code hereif(m_tableNum=1)LPPOINT lpoint=new tagPOINT; :GetCursorPos(lpoint);/得到鼠標位置 CMenu menu; menu.CreatePopupMenu();/聲明一個彈
38、出式菜單 /增加菜單項“關閉”,點擊則發(fā)送消息WM_DESTROY給主窗口,將程序結束。 menu.AppendMenu(MF_STRING,WM_INSERT,添加員工);menu.AppendMenu(MF_STRING,WM_DELETE,刪除員工);/確定彈出式菜單的位置 menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint-x,lpoint-y,this); /資源回收 HMENU hmenu=menu.Detach(); menu.DestroyMenu(); delete lpoint; else if (m_tableNum=2) LPPOINT l
39、point=new tagPOINT; :GetCursorPos(lpoint);/得到鼠標位置 CMenu menu; menu.CreatePopupMenu();/聲明一個彈出式菜單 /增加菜單項“關閉”,點擊則發(fā)送消息WM_DESTROY給主窗口,將程序結束。menu.AppendMenu(MF_STRING,WM_ADDOVERTIME,增加加班費);menu.AppendMenu(MF_STRING,WM_ADDPRIZE,增加獎金);menu.AppendMenu(MF_STRING,WM_CANCELPRIZE,取消本月獎金);menu.AppendMenu(MF_STRIN
40、G,WM_ADDLATE,遲到次數(shù)+1);menu.AppendMenu(MF_STRING,WM_WAGETOTAL,工資計算與統(tǒng)計);menu.AppendMenu(MF_STRING,WM_CLEARPWAGE,個人工資結算);menu.AppendMenu(MF_STRING,WM_CLEARWAGE,結算所有員工工資);/確定彈出式菜單的位置 menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint-x,lpoint-y,this); /資源回收 HMENU hmenu=menu.Detach(); menu.DestroyMenu(); delete lpo
41、int; *pResult = 0;void CStaffSystermView:OnButton32791() / TODO: Add your command handler code hereswitch (m_tableNum)case 1:deletdTable(員工基本信息表);break;case 2: deletdTable(基本工資表);break;case 3:deletdTable(職稱工資表);break;void CStaffSystermView:OnButton32792() / TODO: Add your command handler code hereif
42、(m_tableNum!=1&m_tableNum!=3)AfxMessageBox(請先選擇插入表);return;else if(m_tableNum=2)AfxMessageBox(工資表無法單獨添加!);return;if (m_tableNum=1) OnAddstaff();elseOnAddzc();void CStaffSystermView:OnButton32794() / TODO: Add your command handler code hereOnPrize();void CStaffSystermView:OnButton32795() / TODO: Add
43、your command handler code hereOnLateadd();void CStaffSystermView:OnButton32796() / TODO: Add your command handler code hereOnOvertimewage();void CStaffSystermView:OnButton32797() / TODO: Add your command handler code hereOnClearswage();void CStaffSystermView:OnButton32798() / TODO: Add your command
44、handler code hereOnTotal();void CStaffSystermView:OnBtnFind() / TODO: Add your control notification handler code hereCString findstr,findbasic;GetDlgItemText(IDC_EDIT_FINDSTR,findstr);GetDlgItemText(IDC_COMBO_FIND,findbasic);pDb-Open(NULL,FALSE,FALSE,ODBC;DSN=pubSQL;UID=sql;PWD=,FALSE);CString strsq
45、l;CString table;if(m_tableNum=1) table=員工基本信息表;else if(m_tableNum=2) table=基本工資表;strsql.Format(select * from %s where %s=%s,table,findbasic,findstr);/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/rs.m_pDatabase=pDb;rs.Open(CRecordset:forwardOnly,strsql);tryint index=0;CString s10;CString t;short n=rs.GetODBCFie
46、ldCount();if(rs.IsEOF() AfxMessageBox(無記錄!);return;elsem_DataArea.DeleteAllItems();while (!rs.IsEOF() t=;for (short i=0;iClose();catch (CDBException *pEx) pEx-ReportError();pDb-Close();rs.Close();pDb-Close();void CStaffSystermView:OnButton32800Showstaff() /名稱錯了/ TODO: Add your command handler code h
47、ereShowWageTable();void CStaffSystermView:OnButton32804Showwage() /名稱錯了/ TODO: Add your command handler code hereShowStaffTable();void CStaffSystermView:OnButton32805Printview() / TODO: Add your command handler code herevoid CStaffSystermView:OnUpdatazcwage() / TODO: Add your command handler code he
48、rem_updataZC.DoModal();void CStaffSystermView:OnAddzc() / TODO: Add your command handler code here/*/m_addzc.getArea(&m_DataArea);m_addzc.DoModal();if(m_tableNum=3)showZCtable();void CStaffSystermView:OnShowzc() / TODO: Add your command handler code hereshowZCtable();void CStaffSystermView:showZCtab
49、le()m_tableNum=3;clearColumn();setColumn(職稱工資表);pDb-Open(NULL,FALSE,FALSE,ODBC;DSN=pubSQL;UID=sql;PWD=,FALSE);/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/CString strsql=select * from 職稱工資表;rs.m_pDatabase=pDb;rs.Open(CRecordset:forwardOnly,strsql);tryint index=0;CString s10;short n=rs.GetODBCFieldCount()
50、;while (!rs.IsEOF() for (short i=0;iClose();catch (CDBException *pEx) pDb-Close();rs.Close();pEx-ReportError();void CStaffSystermView:OnButton32809Zc() / TODO: Add your command handler code hereshowZCtable();/功能:刪除表名為tablename的表,如果是員工表則關聯(lián)工資表/bool CStaffSystermView:deletdTable(CString tablename)int i
51、ndex=m_DataArea.GetSelectionMark();if (indexClose();return false;if(IDNO=(AfxMessageBox(是否刪除!,MB_YESNO)return false;CString id,name,sex,age,idcard,tel,bankid;id=m_DataArea.GetItemText(index,0);pDb-Open(NULL,FALSE,FALSE,ODBC;DSN=pubSQL;UID=sql;PWD=,FALSE);CString strsql,strsql1;strsql.Format(delete f
52、rom %s where %s=%s,tablename,firstColum,id);/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/tryif (m_tableNum=1) /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/if(IDYES=(AfxMessageBox(將同時刪除其工資信息,MB_YESNO)strsql1.Format(delete from %s where %s=%s,基本工資表,firstColum,id);pDb-ExecuteSQL(strsql1);pDb-ExecuteSQL(strsql);e
53、lse if(m_tableNum=2)if(IDYES=(AfxMessageBox(將同時刪除其員工信息,MB_YESNO)strsql1.Format(delete from %s where %s=%s,員工基本信息表,firstColum,id);pDb-ExecuteSQL(strsql1);pDb-ExecuteSQL(strsql);elsepDb-ExecuteSQL(strsql);pDb-Close();AfxMessageBox(已刪除!);catch (CDBException *pEx) pEx-ReportError();pDb-Close();m_DataAre
54、a.DeleteItem(index);return true;void CStaffSystermView:OnSavedatabase() / TODO: Add your command handler code hereCString insql1;CString fl=;CString name=工資管理系統(tǒng);CString Fname=c:工資管理系統(tǒng).bak;/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/insql1.Format(execute pr_backup_db %s, %s ,%s,fl,name,Fname);trypDb-Ope
55、n(pubSQL);pDb-ExecuteSQL(insql1);pDb-Close();AfxMessageBox(備份成功!);pDb-Close();catch (CDBException *pEx) pDb-Close();pEx-ReportError();void CStaffSystermView:OnRestore() / TODO: Add your command handler code hereCString insql1;CString fl=;CString name=工資管理系統(tǒng)_備份;CString Fname=c:工資管理系統(tǒng).bak;insql1.Forma
56、t(execute pr_restore_db %s,%s ,%s,fl,name,Fname);trypDb-Open(pubSQL);pDb-ExecuteSQL(insql1);pDb-Close();AfxMessageBox(還原成功!);catch (CDBException *pEx) pDb-Close();pEx-ReportError();(2)修改“基本工資表”中的數(shù)據(jù)/ Prize.cpp#include stdafx.h#include StaffSysterm.h#include Prize.h#ifdef _DEBUG#define new DEBUG_NEW#u
57、ndef THIS_FILEstatic char THIS_FILE = _FILE_;#endifCPrize:CPrize(CWnd* pParent): CDialog(CPrize:IDD, pParent)pDb=new CDatabase();void CPrize:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);BEGIN_MESSAGE_MAP(CPrize, CDialog)/AFX_MSG_MAP(CPrize)ON_BN_CLICKED(IDC_BTN_OK, OnBtnOk)ON_BN_CLI
58、CKED(IDC_BTN_CNACLE, OnBtnCnacle)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CPrize message handlers/void CPrize:OnBtnOk() / TODO: Add your control notification handler code herepDb-Open(NULL,FALSE,FALSE,ODBC;DSN=pubSQL;UID=sql;PWD=,FALSE);CString id;CString klate;char m10;int index=m_DataArea-GetSelectionMark()
59、;id=m_DataArea-GetItemText(index,0);m_DataArea-GetItemText(index,4,m,10);int lateN=atoi(m);GetDlgItemText(IDC_EDIT_ADDPRIZE,m,10);int addN=atoi(m);lateN=lateN+addN;klate.Format(%d,lateN);CString strsql;strsql.Format(update 基本工資表 set 獎金=%d where 員工號=%s,lateN,id);trypDb-ExecuteSQL(strsql);pDb-Close();
60、AfxMessageBox(已修改!);m_DataArea-SetItemText(index,4,klate);catch (CDBException *pEx) pEx-ReportError();pDb-Close();CPrize:OnOK();void CPrize:OnBtnCnacle() / TODO: Add your control notification handler code hereCPrize:OnCancel();void CPrize:getArea(CListCtrl *temp)m_DataArea=temp;BOOL CPrize:OnInitDia
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年建筑師考試建筑構造與材料試題集
- 2026年貴陽康養(yǎng)職業(yè)大學單招綜合素質筆試模擬試題含詳細答案解析
- 2026年鄭州電力職業(yè)技術學院單招綜合素質筆試模擬試題含詳細答案解析
- 2026年云南工貿(mào)職業(yè)技術學院單招職業(yè)技能考試參考題庫含詳細答案解析
- 2026年保定電力職業(yè)技術學院單招綜合素質考試備考試題含詳細答案解析
- 2026年山西管理職業(yè)學院單招綜合素質考試參考題庫含詳細答案解析
- 2026中國科學院云南天文臺撫仙湖太陽觀測和研究基地望遠鏡工程師招聘1人考試重點試題及答案解析
- 2026年青島電影學院高職單招職業(yè)適應性測試備考題庫及答案詳細解析
- 2026年云南體育運動職業(yè)技術學院高職單招職業(yè)適應性測試備考題庫及答案詳細解析
- 2026年長沙民政職業(yè)技術學院單招綜合素質筆試參考題庫含詳細答案解析
- 2025-2026學年北京市朝陽區(qū)高一(上期)期末考試英語試卷(含答案)
- 2026湖南衡陽耒陽市公安局招聘75名警務輔助人員考試參考題庫及答案解析
- 電力工程施工方案及規(guī)范
- 2026年1月浙江省高考(首考)英語試題(含答案詳解)+聽力音頻+聽力材料
- 2026年時事政治測試題庫附完整答案(網(wǎng)校專用)
- 智慧物流背景下多式聯(lián)運的協(xié)同發(fā)展與運輸效能提升研究畢業(yè)論文答辯匯報
- 替人背債合同范本
- 山西省運城市小學一年級上學期數(shù)學期末考試試題
- 藥師處方審核管理制度
- T-HHPA 001-2025 老年人跌倒風險評估及干預措施
- 2025年廣西高考地理真題(解析版)
評論
0/150
提交評論