案例2 高校工資管理系統(tǒng)_第1頁
案例2 高校工資管理系統(tǒng)_第2頁
案例2 高校工資管理系統(tǒng)_第3頁
案例2 高校工資管理系統(tǒng)_第4頁
案例2 高校工資管理系統(tǒng)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

PAGE

PAGE202

第7章高校工資管理系統(tǒng)本章對數(shù)據(jù)庫的連接主要采用Borland提供的BDE控件直接連接,無需額外設(shè)置。7.1摘要與關(guān)鍵字7.1.1摘要高校工資管理系統(tǒng)主要是高等院校的財(cái)務(wù)部門作為使用對象而開發(fā)的,工資管理作為一個典型的信息管理系統(tǒng)(MIS),其系統(tǒng)開發(fā)任務(wù)主要包括數(shù)據(jù)庫的設(shè)計(jì)與維護(hù)、客戶端應(yīng)用程序的開發(fā)等兩個方面。對于前者要求建立起的數(shù)據(jù)庫具有完整性和一致性,且具有一定的數(shù)據(jù)安全性如用戶需要密碼才能使用等,而對于后者則要求程序界面友好、功能完備等特點(diǎn)。經(jīng)過詳細(xì)的分析,選用Borland公司的Delphi作為前端開發(fā)工具,利用其提供的集成開發(fā)環(huán)境及各種控件,尤其是對數(shù)據(jù)庫的支持完成對數(shù)據(jù)庫的各種操作,達(dá)到對圖書資料管理的目的。首先建立系統(tǒng)應(yīng)用原型,然后對原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的實(shí)際可行系統(tǒng)。7.1.2關(guān)鍵詞工資、管理、設(shè)計(jì)、實(shí)現(xiàn)、dbase。7.2引言高校工資管理是高等院校的財(cái)務(wù)部門都必須切實(shí)面對的工作,隨著高等院校不斷地發(fā)展,各高校的規(guī)模不斷地?cái)U(kuò)大,教職員工的數(shù)量也越來越多,這對高校的工資管理提出了新的要求。使用計(jì)算機(jī)進(jìn)行管理成為必然趨勢,這不僅僅可以降低管理工作的難度,也可以減少錯誤和提高效率。工資管理系統(tǒng)作為計(jì)算機(jī)應(yīng)用的一個分支,有著手工管理所無法比擬的優(yōu)點(diǎn),如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高工資管理的效率。因此,開發(fā)一套能夠?yàn)橛脩籼峁┮?guī)范化的工資管理、充足的信息和快捷的查詢手段的工資管理系統(tǒng),將是非常必要的,也是十分及時的。因此可以把高校工資管理作為畢業(yè)設(shè)計(jì)的題目,正好可以充分利用幾年在校所學(xué)的各種專業(yè)知識開發(fā)一個高校工資管理系統(tǒng)來幫助相關(guān)部門進(jìn)行有效的管理。7.3需求分析管理系統(tǒng)開發(fā)的起點(diǎn)是需求分析,這是整個系統(tǒng)開發(fā)過程中最重要的一步,它決定著開發(fā)的成敗。7.3.1功能需求高等院校的工資管理系統(tǒng)涉及到教職員工基本信息的錄入、修改和刪除,工資標(biāo)準(zhǔn)的設(shè)定、查詢和結(jié)算等。經(jīng)過實(shí)際考察和分析,典型的高等院校工資管理系統(tǒng)主要應(yīng)具有以下基本功能:員工基本信息的錄入、修改、刪除等功能。工資標(biāo)準(zhǔn)設(shè)定功能,具體包括職務(wù)工資、職稱工資以及其它工資標(biāo)準(zhǔn)的設(shè)定。工資信息瀏覽。員工工資表創(chuàng)建。工資調(diào)整管理。工資統(tǒng)計(jì)。再進(jìn)行詳細(xì)調(diào)查,繪制出數(shù)據(jù)流圖,如圖7-1所示。圖7-1系統(tǒng)數(shù)據(jù)流圖7.3.2安全保密需求為完善系統(tǒng)的管理功能,增加系統(tǒng)用戶管理功能,包括系統(tǒng)用戶的數(shù)據(jù)增加、刪除和修改。教職員工為系統(tǒng)普通用戶,只能運(yùn)行個人工資查詢功能;系統(tǒng)管理員能夠運(yùn)行系統(tǒng)所有功能,從而保證系統(tǒng)數(shù)據(jù)的安全性。7.3.3開發(fā)與運(yùn)行環(huán)境本例的新生報(bào)名管理系統(tǒng)開發(fā)與運(yùn)行環(huán)境如下:開發(fā)環(huán)境:WindowsXP開發(fā)工具:Delphi8數(shù)據(jù)庫管理系統(tǒng):dbaseIV運(yùn)行環(huán)境:Windows98/ME/2000/XP7.3.4系統(tǒng)實(shí)現(xiàn)過程分析首先根據(jù)系統(tǒng)功能分析設(shè)計(jì)出數(shù)據(jù)庫,包括各個數(shù)據(jù)表和數(shù)據(jù)表關(guān)系圖的詳細(xì)結(jié)構(gòu)。實(shí)現(xiàn)功能模塊時,采用先模塊化,后集成的方式。即對系統(tǒng)各個功能模塊分別獨(dú)立設(shè)計(jì)和調(diào)試,在創(chuàng)建系統(tǒng)主窗體時再將各個功能模塊通過主窗體的菜單系統(tǒng)集成到一起,最后進(jìn)行系統(tǒng)整體設(shè)計(jì)調(diào)試。在訪問數(shù)據(jù)庫時,采用公用數(shù)據(jù)模塊存放訪問數(shù)據(jù)庫需要的對象。該模塊在各個功能模塊中被直接調(diào)用,避免對數(shù)據(jù)庫的反復(fù)連接,并可減少代碼編寫,從而提高系統(tǒng)開發(fā)效率。7.4系統(tǒng)設(shè)計(jì)7.4.1系統(tǒng)模塊設(shè)計(jì)根據(jù)系統(tǒng)功能分析得到如圖7-2所示的系統(tǒng)功能模塊結(jié)構(gòu)圖。圖7-2系統(tǒng)功能模塊結(jié)構(gòu)圖7.4.2數(shù)據(jù)庫設(shè)計(jì)對于信息管理系統(tǒng),數(shù)據(jù)基本上都是使用數(shù)據(jù)庫進(jìn)行管理。數(shù)據(jù)庫設(shè)計(jì)是對保存管理系統(tǒng)數(shù)據(jù)的數(shù)據(jù)庫結(jié)構(gòu)進(jìn)行設(shè)計(jì),對整個系統(tǒng)的開發(fā)具有非常重要的作用。1.數(shù)據(jù)字典根據(jù)系統(tǒng)功能模塊結(jié)構(gòu)圖以及典型高校工資管理系統(tǒng)的需求,分析得到如下數(shù)據(jù)字典:系統(tǒng)用戶數(shù)據(jù):包含的數(shù)據(jù)項(xiàng)有系統(tǒng)用戶名、登錄口令和用戶級別代碼。員工基本信息數(shù)據(jù):包含的數(shù)據(jù)項(xiàng)有編號、姓名、性別、部門、職稱、職務(wù)、入部門時間、是否專家、是否有住房、是否有獨(dú)生未成年子女等。職稱工資標(biāo)準(zhǔn)數(shù)據(jù):包含的數(shù)據(jù)項(xiàng)有高級、副高、中級、初級、工人等。職務(wù)工資標(biāo)準(zhǔn)數(shù)據(jù):包含的數(shù)據(jù)項(xiàng)有正處、副處、正科、副科等。其它工資標(biāo)準(zhǔn)數(shù)據(jù):包含的數(shù)據(jù)項(xiàng)有獨(dú)補(bǔ)、專家津貼、房貼、一次性補(bǔ)發(fā)、其它補(bǔ)貼、扣房租、扣公積金、扣失業(yè)險(xiǎn)、扣醫(yī)療險(xiǎn)、扣垃圾費(fèi)、扣其它等。工資表數(shù)據(jù):包含的數(shù)據(jù)項(xiàng)有工資編號、員工編號、工資代碼、工資名稱、工資金額等。工資代碼數(shù)據(jù):包含的數(shù)據(jù)項(xiàng)有工資代碼、工資名稱、工資金額等。部門代碼數(shù)據(jù):包含的數(shù)據(jù)項(xiàng)有部門代碼、部門名稱。2.數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)根據(jù)系統(tǒng)需求,分析出實(shí)體-關(guān)系圖,如圖7-3所示。圖7-3實(shí)體-關(guān)系圖根據(jù)實(shí)體-關(guān)系圖和數(shù)據(jù)字典,設(shè)計(jì)出工資管理系統(tǒng)數(shù)據(jù)庫中的各個數(shù)據(jù)表。根據(jù)系統(tǒng)用戶使用要求得到系統(tǒng)用戶數(shù)據(jù)表,根據(jù)工資、員工、部門實(shí)體得到員工信息數(shù)據(jù)表、部門代碼數(shù)據(jù)表、工資結(jié)算數(shù)據(jù)表,根據(jù)工資實(shí)體屬性設(shè)計(jì)得到職稱工資標(biāo)準(zhǔn)數(shù)據(jù)表、職務(wù)工資標(biāo)準(zhǔn)數(shù)據(jù)表、其它工資標(biāo)準(zhǔn)數(shù)據(jù)表。數(shù)據(jù)表名稱與結(jié)構(gòu)如下:系統(tǒng)用戶數(shù)據(jù)表:用于保存系統(tǒng)用戶的賬戶信息,數(shù)據(jù)表命名為“user”,結(jié)構(gòu)見表7-1。表7-1“user”表結(jié)構(gòu)列名數(shù)據(jù)類型長度索引說明YhmCharacter10是用戶名MmCharacter10否密碼QxNumber3否權(quán)限員工基本信息數(shù)據(jù)表:用于保存員工與工資管理有關(guān)的信息數(shù)據(jù),數(shù)據(jù)表命名為“ygb”,結(jié)構(gòu)見表7-2。表7-2“ygb”表結(jié)構(gòu)列名數(shù)據(jù)類型長度索引說明BhCharacter10是編號XmCharacter10否姓名BmdmNumber3否部門代碼ZwdmNumber3否職務(wù)代碼ZcdmNumber3否職稱代碼GzrqDate否工作日期BzCharacter100否備注職務(wù)工資標(biāo)準(zhǔn)數(shù)據(jù)表:用于保存各種職務(wù)對應(yīng)的工資標(biāo)準(zhǔn)數(shù)據(jù),數(shù)據(jù)表命名為“zwdm”,結(jié)構(gòu)見表7-3。表7-3“zwdm”表結(jié)構(gòu)列名數(shù)據(jù)類型長度索引說明ZwdmNumber3是職務(wù)代碼ZwmcCharacter10否職務(wù)名稱ZwgzNumber10.2否職務(wù)工資職稱工資標(biāo)準(zhǔn)數(shù)據(jù)表:用于保存各種職稱對應(yīng)的工資標(biāo)準(zhǔn)數(shù)據(jù),數(shù)據(jù)表命名為“zcdm”,結(jié)構(gòu)見表7-4。表7-4“zcdm”表結(jié)構(gòu)列名數(shù)據(jù)類型長度索引說明ZcdmNumber3是職稱代碼ZcmcCharacter10否職稱名稱ZcgzNumber10.2否職稱工資其它工資標(biāo)準(zhǔn)數(shù)據(jù)表:用于保存各種其它工資標(biāo)準(zhǔn)數(shù)據(jù),數(shù)據(jù)表命名為“gzdm”,結(jié)構(gòu)見表7-5。表7-5“gzdm”表結(jié)構(gòu)列名數(shù)據(jù)類型長度索引說明GzdmNumber3是工資代碼GzmcCharacter10否工資名稱GzjeNumber10.2否工資金額工資結(jié)算數(shù)據(jù)表:用于保存工資結(jié)算數(shù)據(jù),數(shù)據(jù)表命名為“gzb”,結(jié)構(gòu)見表7-6。表7-6“gzb”表結(jié)構(gòu)列名數(shù)據(jù)類型長度索引說明GzbhCharacter6是工資編號YgbhCharacter10是員工編號GzdmNumber3否工資代碼GzmcCharacter10否工資名稱GzjeNumber10.2否工資金額部門代碼數(shù)據(jù)表:用于保存各個部門數(shù)據(jù),數(shù)據(jù)表命名為“bmdm”,結(jié)構(gòu)見表7-7。表7-7“bmdm”表結(jié)構(gòu)列名數(shù)據(jù)類型長度索引說明BmdmNumber3是部門代碼BmmcCharacter10否部門名稱7.5系統(tǒng)實(shí)現(xiàn)7.5.1建立數(shù)據(jù)庫本例數(shù)據(jù)庫使用dbaseIV。建立各數(shù)據(jù)表的有關(guān)內(nèi)容請參閱相關(guān)書籍。7.5.2程序設(shè)計(jì)1.主窗體設(shè)計(jì)在Delphi中,新建一個“VCLFormsApplication”,將工程文件保存為“P7_1.bdsproj”。主窗體保存為main.pas,界面設(shè)計(jì)如圖7-4所示(左),包含一個MainMenu組件,菜單設(shè)計(jì)見圖7-4(右)。圖7-4主窗體設(shè)計(jì)界面與主窗體菜單設(shè)計(jì)窗體組件屬性設(shè)置見表7-8。表7-8主窗體組件屬性設(shè)置組件屬性值Form1Name='Main_Form'FormStyle=fsMDIFormCaption='新生報(bào)名管理系統(tǒng)'MainMenu1主窗體中定義兩個全局變量yhm、qx,用于保存登錄的用戶名和權(quán)限代碼,便于其它窗體使用。2.用戶登錄窗體設(shè)計(jì)在啟動工資管理系統(tǒng)之前,顯示登錄對話框,要求用戶輸入用戶名和密碼,只有經(jīng)過系統(tǒng)管理員授權(quán)的用戶才能使用系統(tǒng)。用戶登錄窗體保存為login.pas,界面設(shè)計(jì)如圖7-5所示,包含兩個LabeledEdit組件和兩個Button組件。圖7-5用戶登錄窗體設(shè)計(jì)窗體主要組件屬性設(shè)置見表7-9。表7-9用戶登錄窗體主要組件屬性組件屬性值Form2BorderStyle=bsSingleBorderIcons=[biSystemMenu]Name=Login_FormCaption='用戶登錄窗口'LabeledEdit1EditLabel.Caption='用戶名'Name=yhm_LEditLabeledEdit2EditLabel.Caption='密碼'PasswordChar=*Name=mm_LEditButton1Caption='確定'Button2Caption='取消'用戶登錄窗體代碼如下:publicloginok:boolean; //定義公用變量,標(biāo)識登錄成功與否……//確定按鈕單擊事件procedureTlogin_Form.Button1Click(Sender:TObject);varyhm,mm,sqlstr:string;beginyhm:=Trim(yhm_LEdit.Text);mm:=Trim(mm_LEdit.Text);sqlstr:='select*fromuserwhere(yhm='''+yhm+''')and(mm='''+mm+''')';if(Length(yhm)>0)or(Length(mm)>0)thenbeginwithTQuery.Create(nil)dotryClose;SQL.Clear;SQL.Add(sqlstr);Open;//驗(yàn)證用戶合法性ifRecordCount>0thenbeginMainForm.yhm:=FieldByName('yhm').AsString;MainForm.qx:=FieldByName('qx').AsString;loginok:=True;endelsebeginloginok:=False;ShowMessage('請確認(rèn)登錄的用戶名和密碼是否正確!');yhm_LEdit.SelectAll;end;finallyFree;end;Close;endelsebeginShowMessage('請輸入登錄用戶名和密碼!');yhm_LEdit.SelectAll;end;end;3.用戶管理窗體設(shè)計(jì)用戶管理包括用戶數(shù)據(jù)(包括編號、密碼和權(quán)限)的添加、刪除和瀏覽等操作。高級管理員可以管理系統(tǒng)中所以的用戶數(shù)據(jù),而普通用戶則只能修改自己的密碼。用戶管理窗體保存為usergl.pas,界面設(shè)計(jì)如圖7-6所示,包含一個GroupBox組件、兩個LabeledEdit組件、一個Label組件、一個ComboBox組件、三個Button組件、一個PopupMenu組件、一個Query組件、一個DataSource組件和一個DBGrid組件。圖7-6用戶管理窗體設(shè)計(jì)窗體主要組件屬性設(shè)置見表7-10。表7-10用戶管理窗體主要組件屬性組件屬性值Form3FormStyle=fsMDIChildBorderStyle=bsSingleBorderIcons=[biSystemMenu]Name=usergl_FormCaption='用戶管理'GroupBox1Caption=''Align=alRightLabeledEdit1(GroupBox1)EditLabel.Caption='系統(tǒng)用戶名'Name=yhm_LEditLabeledEdit2(GroupBox1)EditLabel.Caption='登錄密碼'PasswordChar=*Name=mm_LEditLabel1Caption='系統(tǒng)權(quán)限'ComboBox1(GroupBox1)Name=qx_CBoxItems='系統(tǒng)用戶

普通用戶'Button1(GroupBox1)Name=cmdmodiCaption='修改'Button2(GroupBox1)Name=cmdaddCaption='添加'Button3(GroupBox1)Name=cmddelCaption='刪除'Query1DataSource1DataSet=Query1DBGrid1DataSource=DataSource1Align=alClient用戶管理窗體主要代碼如下:type……procedurenewll;//自定義過程實(shí)現(xiàn)數(shù)據(jù)刷新publicadd:boolean;end;usesmain;procedureTusergl_Form.newll;begin//查詢用戶表Query1.Close;Query1.SQL.Clear;Query1.SQL.Add('select*fromuser');Query1.Open;//根據(jù)用戶存在與否,設(shè)置按鈕的可用性ifQuery1.RecordCount>0thenbegincmdmodi.Enabled:=True;cmddel.Enabled:=True;cmdadd.Enabled:=True;endelsebegincmdmodi.Enabled:=False;cmddel.Enabled:=False;cmdadd.Enabled:=True;end;end;procedureTusergl_Form.FormShow(Sender:TObject);beginnewll;end;procedureTusergl_Form.FormClose(Sender:TObject;varAction:TCloseAction);beginAction:=caFree;MainForm.N11.Enabled:=True;end;procedureTusergl_Form.FormCreate(Sender:TObject);beginadd:=False;end;//實(shí)現(xiàn)數(shù)據(jù)與文本框的綁定procedureTusergl_Form.DBGrid1CellClick(Column:TColumn);beginifQuery1.RecordCount>0thenbeginyhm_LEdit.Text:=Query1.FieldByName('yhm').AsString;mm_LEdit.Text:=Query1.FieldByName('mm').AsString;qx_CBox.ItemIndex:=Query1.FieldByName('qx').AsInteger;end;end;//實(shí)現(xiàn)用戶修改功能procedureTusergl_Form.cmdmodiClick(Sender:TObject);varid,yhm,qx,mm,sqlstr:string;begin//數(shù)據(jù)合法性檢查yhm:=Trim(yhm_LEdit.Text);ifLength(yhm)<1thenbeginShowMessage('系統(tǒng)用戶名不能為空');exit;end;mm:=Trim(mm_LEdit.Text);ifLength(mm)<1thenbeginShowMessage('系統(tǒng)用戶的密碼不能為空');exit;end;qx:=IntToStr(qx_CBox.ItemIndex);id:=Query1.FieldByName('id').AsString;//執(zhí)行檢驗(yàn)用戶名是否有重復(fù)的SQL語句sqlstr:='select*fromuserwhere(yhm='''+yhm+''')and(id<>'''+id+''')';withTQuery.Create(nil)dobegintryClose;SQL.Clear;SQL.Add(sqlstr);Open;ifRecordCount>0thenbeginShowMessage('修改的系統(tǒng)用戶名有重復(fù),請重新輸入!');exit;endelsebegin//執(zhí)行修改系統(tǒng)用戶信息的SQL語句sqlstr:='updateusersetyhm='''+yhm+''',mm='''+mm;sqlstr:=sqlstr+''',qx='''+qx+'''where(id='''+id+''')';Close;SQL.Clear;SQL.Add(sqlstr);ExecSQL;end;finallyFree;end;ShowMessage('成功修改系統(tǒng)用戶!');newll;end;end;//實(shí)現(xiàn)用戶添加功能procedureTusergl_Form.cmdaddClick(Sender:TObject);varid,yhm,qx,mm,sqlstr:string;begin//判斷是否處于添加狀態(tài)ifaddthenbeginyhm:=Trim(yhm_LEdit.Text);ifLength(yhm)<1thenbeginShowMessage('系統(tǒng)用戶名不能為空');exit;end;mm:=Trim(mm_LEdit.Text);ifLength(mm)<1thenbeginShowMessage('系統(tǒng)用戶的密碼不能為空');exit;end;qx:=IntToStr(qx_CBox.ItemIndex);id:=Query1.FieldByName('id').AsString;sqlstr:='select*fromuserwhere(yhm='''+yhm+''')';withTQuery.Create(nil)dobegintryClose;SQL.Clear;SQL.Add(sqlstr);Open;//判斷添加的用戶名是否有重復(fù)ifRecordCount>0thenbeginShowMessage('添加的系統(tǒng)用戶名有重復(fù),請重新輸入!');exit;endelse//用戶名無重復(fù),添加用戶記錄beginsqlstr:='insertintouser(yhm,mm,qx)values('''+yhm+''','''+mm+''','''+qx+''')';Close;SQL.Clear;SQL.Add(sqlstr);ExecSQL;end;finallyFree;end;ShowMessage('成功添加系統(tǒng)用戶!');newll;cmdadd.Caption:='添加';end;endelsebegincmdadd.Caption:='保存';add:=True;yhm_LEdit.Clear;mm_LEdit.Clear;qx_CBox.ItemIndex:=0;end;end;//實(shí)現(xiàn)系統(tǒng)用戶刪除功能procedureTusergl_Form.cmddelClick(Sender:TObject);varid:string;begintryifMessageDlg('確認(rèn)要刪除選中的系統(tǒng)用戶嗎?',mtConfirmation,[mbYes,mbNo],0)=mrYesthenbeginid:=Query1.FieldByName('id').AsString;withTQuery.Create(nil)dobegintryClose;SQL.Clear;SQL.Add('deletefromuserwhereid='''+id+'''');ExecSQL;finallyFree;end;end;ShowMessage('成功刪除系統(tǒng)用戶');newll;end;exceptend;end;4.修改密碼窗體設(shè)計(jì)用戶登錄后可以自己修改密碼,這樣既能保證系統(tǒng)的安全性,同時又減少了系統(tǒng)管理員的工作量。修改密碼窗體保存為password.pas,界面設(shè)計(jì)如圖7-7所示,包含三個Label組件、三個Edit組件和兩個Button組件。圖7-7修改密碼窗體設(shè)計(jì)窗體主要組件屬性設(shè)置見表7-11。表7-11修改密碼窗體主要組件屬性組件屬性值Form4FormStyle=fsMDIChildBorderStyle=bsSingleBorderIcons=[biSystemMenu]Name=Password_FormCaption='修改密碼'Edit1Text=''PasswordChar=*Edit2Text=''PasswordChar=*Edit3Text=''PasswordChar=*Button1Caption='確定'Name=cmdokButton2Caption='取消'Name=cmdclose修改密碼窗體主要代碼如下:usesmain;//確定按鈕單擊事件procedureTpassword_Form.cmdokClick(Sender:TObject);varyhm,oldpass,newpass,qrpass,sqlstr:string;beginyhm:=Trim(MainForm.yhm);oldpass:=Trim(omm_LEdit.Text);newpass:=Trim(nmm_LEdit.Text);//數(shù)據(jù)合法性檢驗(yàn)ifLength(newpass)<3thenbeginShowMessage('密碼由3--20個字符組成?。?);exit;end;qrpass:=Trim(qmm_LEdit.Text);ifLength(qrpass)<3thenbeginShowMessage('密碼由3--20個字符組成?。?);exit;end;if(newpass<>qrpass)thenbeginShowMessage('確認(rèn)密碼不相同,請確認(rèn)!!');exit;end;sqlstr:='select*fromuserwhere(yhm='''+yhm+''')and(mm='''+oldpass+''')';withTQuery.Create(nil)dobegintryClose;SQL.Clear;SQL.Add(sqlstr);Open;//判斷輸入的原密碼是否正確ifRecordCount<1thenbeginShowMessage('原密碼錯誤,你不能修改--'+yhm+'--用戶的密碼?。?!');exit;end;//生成修改密碼的SQL語句sqlstr:='updateusersetmm='''+newpass+'''where(yhm='''+yhm+''')';SQL.Clear;SQL.Add(sqlstr);ExecSQL;finallyFree;end;end;ShowMessage('密碼修改成功!');Close;end;procedureTpassword_Form.FormClose(Sender:TObject;varAction:TCloseAction);beginClose;MainForm.N12.Enabled:=True;end;5.員工信息管理窗體設(shè)計(jì)員工信息管理功能是新生數(shù)據(jù)檢索功能。員工信息管理窗體保存為yggl.pas,界面設(shè)計(jì)如圖7-8所示,包含一個GroupBox組件、一個Label組件、一個ComboBox組件、一個Query組件、一個DataSource組件、一個DBGrid組件、一個PopupMenu組件和兩個Button組件。圖7-8員工信息管理窗體設(shè)計(jì)窗體主要組件屬性設(shè)置見表7-12。表7-12員工信息管理窗體主要組件屬性組件屬性值Form5FormStyle=fsMDIChildName=yggl_FormCaption='員工管理'GroupBox1Caption='員工檢索條件'Align=alTopLabel1(GroupBox1)Caption='選擇員工部門'ComboBox1(GroupBox1)Name=bmdm_CBoxButton1(GroupBox1)Caption='確定'Name=cmdokButton2(GroupBox1)Caption='取消'Name=cmdclosePopupMenu1MenuItem1Name=N11Caption='添加員工'MenuItem2Name=N12Caption='修改員工'MenuItem3Name=N13Caption='刪除員工'Query1DataSource1DataSet=Query1DBGrid1DataSource=DataSource1Align=alClient員工信息管理窗體主要代碼如下:publicmodi:boolean;xcaption:string;end;usesmain,ygxx;procedureTyggl_Form.FormClose(Sender:TObject;varAction:TCloseAction);beginAction:=caFree;MainForm.N21.Enabled:=True;end;//確定按鈕單擊事件procedureTyggl_Form.cmdokClick(Sender:TObject);varbmdm,sqlstr:string;begin//生成檢索所有員工的SQL語句ifbmdm_CBox.ItemIndex=0thenbeginsqlstr:='selecta.*,b.bmmc,c.zcmc,d.zwmcfromygba,bmdmb,';sqlstr:=sqlstr+'zcdmc,zwdmdwhere(a.bmdm=b.bmdm)and(a.zcdm=c.zcdm)';sqlstr:=sqlstr+'and(a.zwdm=d.zwdm)orderbya.bmdm,a.bh';endelse//生成檢索某一部門員工的SQL語句beginbmdm:=IntToStr(bmdm_CBox.ItemIndex-1);sqlstr:='selecta.*,b.bmmc,c.zcmc,d.zwmcfromygba,td_bmdmb,';sqlstr:=sqlstr+'td_zcdmc,td_zwdmdwhere(a.bmdm=b.bmdm)and(a.zcdm=c.zcdm)';sqlstr:=sqlstr+'and(a.zwdm=d.zwdm)and(a.bmdm='''+bmdm+''')orderbya.bh';end;Query1.Close;Query1.SQL.Clear;Query1.SQL.Add(sqlstr);Query1.Open;//根據(jù)檢索結(jié)果,修改彈出菜單項(xiàng)的可操作性ifQuery1.RecordCount>0thenbeginN1.Enabled:=True;N2.Enabled:=True;N3.Enabled:=True;endelsebeginN1.Enabled:=True;N2.Enabled:=False;N3.Enabled:=False;end;end;//“添加員工”彈出菜單單擊事件procedureTyggl_Form.N1Click(Sender:TObject);begin//設(shè)置標(biāo)識xcaption:='添加員工信息';modi:=False;//打開添加/修改員工信息窗體Application.CreateForm(Tygxx_Form,ygxx_Form);ygxx_Form.ShowModal;end;//“修改員工”彈出菜單單擊事件procedureTyggl_Form.N2Click(Sender:TObject);begin//設(shè)置標(biāo)識xcaption:='修改員工信息';modi:=True;//打開添加/修改員工信息窗體Application.CreateForm(Tygxx_Form,ygxx_Form);ygxx_Form.ShowModal;end;//“刪除員工”彈出菜單單擊事件procedureTyggl_Form.N3Click(Sender:TObject);varid:string;beginifMessageDlg('確認(rèn)要刪除選中的員工信息嗎?',mtConfirmation,[mbYes,mbNo],0)=mrYesthenbeginid:=Query1.FieldByName('id').AsString;withTQuery.Create(nil)dobegintryClose;SQL.Clear;SQL.Add('deletefromygbwhereid='''+id+'''');ExecSQL;finallyFree;end;end;ShowMessage('成功刪除員工信息');cmdok.Click;end;end;procedureTyggl_Form.cmdcloseClick(Sender:TObject);beginClose;end;procedureTyggl_Form.FormCreate(Sender:TObject);beginwithTQuery.Create(nil)dotryClose;SQL.Clear;SQL.Add('select*frombmdmorderbybmdm');Open;First;//將數(shù)據(jù)表中的所以部門添加到部門列表中bmdm_CBox.Items.Add('所有部門');whilenotEofdobeginbmdm_CBox.Items.Add(FieldByName('bmmc').AsString);Next;end;bmdm_CBox.ItemIndex:=0;finallyFree;end;end;6.添加/修改員工信息窗體設(shè)計(jì)添加/修改員工信息窗體保存為ygxx.pas,界面設(shè)計(jì)如圖7-9所示,包含四個Label組件、三個LabeledEdit組件、三個ComboBox組件、一個DateTimePicker組件和兩個Button組件。圖7-9添加/修改員工信息窗體設(shè)計(jì)窗體主要組件屬性設(shè)置見表7-13。表7-13添加/修改員工信息窗體主要組件屬性組件屬性值Form6FormStyle=fsMDIChildBorderStyle=bsSingleBorderIcons=[biSystemMenu]Name=ygxx_FormCaption='員工信息'LabeledEdit1Name=bh_LEditEditLabel.Caption='編號'LabeledEdit2Name=xm_LEditEditLabel.Caption='姓名'LabeledEdit3Name=bz_LEditEditLabel.Caption='備注'Label1Caption='工作日期'Label2Caption='員工部門'Label3Caption='員工職務(wù)'Label4Caption='員工職稱'DateTimePicker1Name=rq_DTPComboBox1Name=bmdm_CBoxComboBox2Name=zcdm_CBoxComboBox3Name=zwdm_CBoxButton1Caption='確定'Name=cmdokButton2Caption='取消'Name=cmdclose添加/修改員工信息窗體主要代碼如下:usesyggl,data;procedureTygxx_Form.cmdcloseClick(Sender:TObject);beginClose;end;procedureTygxx_Form.FormCreate(Sender:TObject);beginCaption:=yggl_Form.xcaption;withTQuery.Create(nil)dotry//初始化部門列表框Close;SQL.Clear;SQL.Add('select*frombmdmorderbybmdm');Open;First;whilenotEofdobeginbmdm_CBox.Items.Add(FieldByName('bmmc').AsString);Next;end;bmdm_CBox.ItemIndex:=0;//初始化職務(wù)列表框Close;SQL.Clear;SQL.Add('select*fromzwdmorderbyzwdm');Open;First;whilenotEofdobeginzwdm_CBox.Items.Add(FieldByName('zwmc').AsString);Next;end;zwdm_CBox.ItemIndex:=0;//初始化職稱列表框Close;SQL.Clear;SQL.Add('select*fromzcdmorderbyzcdm');Open;First;whilenotEofdobeginzcdm_CBox.Items.Add(FieldByName('zcmc').AsString);Next;end;zcdm_CBox.ItemIndex:=0;finallyFree;end;//修改狀態(tài)時,初始化員工信息ifyggl_Form.modithenbeginbh_LEdit.Text:=yggl_Form.Query1.FieldByName('bh').AsString;xm_LEdit.Text:=yggl_Form.Query1.FieldByName('xm').AsString;bz_LEdit.Text:=yggl_Form.Query1.FieldByName('bz').AsString;zcdm_CBox.ItemIndex:=yggl_Form.Query1.FieldByName('zcdm').AsInteger;zwdm_CBox.ItemIndex:=yggl_Form.Query1.FieldByName('zwdm').AsInteger;bmdm_CBox.ItemIndex:=yggl_Form.Query1.FieldByName('bmdm').AsInteger;gzrq_DTP.DateTime:=yggl_Form.Query1.FieldByName('gzrq').AsDateTime;end;end;procedureTygxx_Form.cmdokClick(Sender:TObject);varid,bh,xm,gzrq,bz,bmdm,zcdm,zwdm,sqlstr,sqlstr1:string;begin//數(shù)據(jù)合法性檢驗(yàn)bh:=Trim(bh_LEdit.Text);ifLength(bh)<1thenbeginShowMessage('請輸入員工編號!');exit;end;xm:=Trim(xm_LEdit.Text);ifLength(xm)<1thenbeginShowMessage('請輸入員工姓名!');exit;end;bz:=Trim(bz_LEdit.Text);bmdm:=IntToStr(bmdm_CBox.ItemIndex);zcdm:=IntToStr(zcdm_CBox.ItemIndex);zwdm:=IntToStr(zwdm_CBox.ItemIndex);gzrq:=DateToStr(gzrq_DTP.DateTime);ifyggl_Form.modithen//生成修改員工信息的SQL語句beginid:=yggl_Form.Query1.FieldByName('id').AsString;sqlstr1:='select*fromygbwhere(bh='''+bh+''')and(id<>'''+id+''')';sqlstr:='updateygbsetbh='''+bh+''',xm='''+xm;sqlstr:=sqlstr+''',gzrq='''+gzrq+''',bmdm='''+bmdm;sqlstr:=sqlstr+''',zcdm='''+zwdm+''',zwdm='''+zwdm;sqlstr:=sqlstr+''',bz='''+bz+'''where(id='''+id+''')';endelse//生成添加員工信息的SQL語句beginsqlstr1:='select*fromygbwhere(bh='''+bh+''')';sqlstr:='insertintoygb(bh,xm,gzrq,bmdm,zwdm,zcdm,bz)';sqlstr:=sqlstr+'values('''+bh+''','''+xm+''','''+gzrq;sqlstr:=sqlstr+''','''+bmdm+''','''+zwdm+''','''+zcdm+''','''+bz+''')';end;//執(zhí)行SQL語句withTQuery.Create(nil)dotryClose;SQL.Clear;SQL.Add(sqlstr1);Open;//檢驗(yàn)員工編號是否有重復(fù)ifRecordCount>0thenbeginShowMessage('員工的編號有重復(fù),請重新輸入!');exit;end;Close;SQL.Clear;SQL.Add(sqlstr);ExecSQL;finallyFree;end;//刷新員工信息yggl_Form.cmdok.Click;Close;end;7.設(shè)定職務(wù)工資標(biāo)準(zhǔn)窗體設(shè)計(jì)職務(wù)工資標(biāo)準(zhǔn)設(shè)定實(shí)現(xiàn)對職務(wù)工資標(biāo)準(zhǔn)數(shù)據(jù)表中的各種職務(wù)工資進(jìn)行設(shè)置或修改。設(shè)定職務(wù)工資標(biāo)準(zhǔn)窗體保存為setzw.pas,界面設(shè)計(jì)如圖7-10所示,包含一個GroupBox組件、一個LabeledEdit組件、兩個Button組件、一個Query組件、一個DataSource組件和一個DBGrid組件。圖7-10設(shè)定職務(wù)工資標(biāo)準(zhǔn)窗體設(shè)計(jì)窗體主要組件屬性設(shè)置見表7-14。表7-14設(shè)定職務(wù)工資標(biāo)準(zhǔn)窗體主要組件屬性組件屬性值Form7FormStyle=fsMDIChildName=setzw_FormCaption='設(shè)定職務(wù)工資標(biāo)準(zhǔn)'GroupBox1Caption=''Align=alRightLabeledEdit1(GroupBox1)Name=je_LEditEditLabel.Caption='工資標(biāo)準(zhǔn)'Button1(GroupBox1)Caption='確定'Name=cmdokButton2(GroupBox1)Caption='取消'Name=cmdcloseQuery1DataSource1DataSet=Query1DBGrid1DataSource=DataSource1Align=alClient設(shè)定職務(wù)工資標(biāo)準(zhǔn)窗體主要代碼如下:procedureTsetzw_Form.FormCreate(Sender:TObject);begin//顯示所有職務(wù)名稱Query1.Close;Query1.SQL.Clear;Query1.SQL.Add('select*fromzwdmorderbyzwdm');Query1.Open;//設(shè)置按鈕的可操作性ifQuery1.RecordCount>0thencmdok.Enabled:=Trueelsecmdok.Enabled:=False;end;procedureTsetzw_Form.DBGrid1CellClick(Column:TColumn);begin//更新文本框內(nèi)容je_LEdit.Text:=Query1.FieldByName('zwgz').AsString;end;procedureTsetzw_Form.cmdcloseClick(Sender:TObject);beginClose;end;//保存修改后的職務(wù)工資標(biāo)準(zhǔn)procedureTsetzw_Form.cmdokClick(Sender:TObject);varzwdm,sqlstr,zwgz:string;begintryzwgz:=Trim(je_LEdit.Text);ifStrToFloat(zwgz)<=0thenbeginShowMessage('請輸入正確的職務(wù)工資標(biāo)準(zhǔn)');exit;end;zwdm:=Query1.FieldByName('zwdm').AsString;//執(zhí)行修改職務(wù)工資的SQL語句sqlstr:='updatetd_zwdmsetzwgz='''+zwgz+'''where(zwdm='''+zwdm+''')';withTQuery.Create(nil)dotryClose;SQL.Clear;SQL.Add(sqlstr);ExecSQL;finallyFree;end;//更新數(shù)據(jù)顯示Query1.Close;Query1.SQL.Clear;Query1.SQL.Add('select*fromtd_zwdmorderbyzwdm');Query1.Open;ifQuery1.RecordCount>0thencmdok.Enabled:=Trueelsecmdok.Enabled:=False;exceptShowMessage('請輸入合法的職務(wù)工資!');end;end;8.設(shè)定職稱工資標(biāo)準(zhǔn)窗體設(shè)計(jì)職稱工資標(biāo)準(zhǔn)設(shè)定實(shí)現(xiàn)對職稱工資標(biāo)準(zhǔn)數(shù)據(jù)表中的各種職稱工資進(jìn)行設(shè)置或修改。設(shè)定職稱工資標(biāo)準(zhǔn)窗體保存為setzc.pas,界面設(shè)計(jì)如圖7-11所示,包含一個GroupBox組件、一個LabeledEdit組件、兩個Button組件、一個Query組件、一個DataSource組件和一個DBGrid組件。圖7-11設(shè)定職稱工資標(biāo)準(zhǔn)窗體設(shè)計(jì)窗體主要組件屬性設(shè)置見表7-15。表7-15設(shè)定職稱工資標(biāo)準(zhǔn)窗體主要組件屬性組件屬性值Form8FormStyle=fsMDIChildName=setzc_FormCaption='設(shè)定職稱工資標(biāo)準(zhǔn)'GroupBox1Caption=''Align=alRightLabeledEdit1(GroupBox1)Name=je_LEditEditLabel.Caption=工資標(biāo)準(zhǔn)Button1(GroupBox1)Caption=確定Name=cmdokButton2(GroupBox1)Caption=取消Name=cmdcloseQuery1DataSource1DataSet=Query1DBGrid1DataSource=DataSource1Align=alClient設(shè)定職稱工資標(biāo)準(zhǔn)窗體主要代碼如下:procedureTsetzc_Form.FormCreate(Sender:TObject);begin//顯示所有職稱名稱Query1.Close;Query1.SQL.Clear;Query1.SQL.Add('select*fromzcdmorderbyzcdm');Query1.Open;//設(shè)置按鈕的可操作性ifQuery1.RecordCount>0thencmdok.Enabled:=Trueelsecmdok.Enabled:=False;end;procedureTsetzc_Form.DBGrid1CellClick(Column:TColumn);begin//更新文本框內(nèi)容je_LEdit.Text:=Query1.FieldByName('zcgz').AsString;end;procedureTsetzc_Form.cmdcloseClick(Sender:TObject);beginClose;end;//保存修改后的職稱工資標(biāo)準(zhǔn)procedureTsetzc_Form.cmdokClick(Sender:TObject);varzcdm,sqlstr,zcgz:string;begintryzcgz:=Trim(je_LEdit.Text);ifStrToFloat(zcgz)<=0thenbeginShowMessage('請輸入正確的職稱工資標(biāo)準(zhǔn)');exit;end;zcdm:=Query1.FieldByName('zcdm').AsString;//生成修改職稱工資的SQL語句sqlstr:='updatezcdmsetzcgz='''+zcgz+'''where(zcdm='''+zcdm+''')';withTQuery.Create(nil)dotryClose;SQL.Clear;SQL.Add(sqlstr);ExecSQL;finallyFree;end;//更新數(shù)據(jù)顯示Query1.Close;Query1.SQL.Clear;Query1.SQL.Add('select*fromzcdmorderbyzcdm');Query1.Open;ifQuery1.RecordCount>0thencmdok.Enabled:=Trueelsecmdok.Enabled:=False;exceptShowMessage('請輸入合法的職務(wù)工資!');end;end;9.其它工資標(biāo)準(zhǔn)設(shè)定窗體設(shè)計(jì)其它工資標(biāo)準(zhǔn)設(shè)定實(shí)現(xiàn)對工資代碼數(shù)據(jù)表中的各種其它工資進(jìn)行設(shè)置或修改。其它工資標(biāo)準(zhǔn)設(shè)定窗體保存為setother.pas,界面設(shè)計(jì)如圖7-12所示,包含一個GroupBox組件、兩個LabeledEdit組件、四個Button組件、一個Query組件、一個DataSource組件和一個DBGrid組件。圖7-12其它工資標(biāo)準(zhǔn)設(shè)定窗體設(shè)計(jì)窗體主要組件屬性設(shè)置見表7-16。表7-16其它工資標(biāo)準(zhǔn)設(shè)定窗體主要組件屬性組件屬性值Form9FormStyle=fsMDIChildName=setzc_FormCaption='其它工資標(biāo)準(zhǔn)設(shè)定'GroupBox1Caption=''Align=alRightLabeledEdit1(GroupBox1)Name=gzmc_LEditEditLabel.Caption='工資名稱'LabeledEdit2(GroupBox1)Name=gzje_LEditEditLabel.Caption='工資金額'Button1(GroupBox1)Caption='添加'Name=cmdaddButton2(GroupBox1)Caption='修改'Name=cmdmodiButton3(GroupBox1)Caption='刪除'Name=cmddelButton4(GroupBox1)Caption='關(guān)閉'Name=cmdcloseQuery1DataSource1DataSet=Query1DBGrid1DataSource=DataSource1Align=alClient其它工資標(biāo)準(zhǔn)設(shè)定窗體主要代碼如下:proceduremynew;//自定義過程實(shí)現(xiàn)數(shù)據(jù)刷新publicadd:boolean;end;procedureTsetother_Form.FormCreate(Sender:TObject);beginmynew;add:=False;end;procedureTsetother_Form.mynew;begin//重新打開其它工資標(biāo)準(zhǔn)數(shù)據(jù)表,更新顯示Query1.Close;Query1.SQL.Clear;Query1.SQL.Add('select*fromgzdmorderbygzdm');Query1.Open;//根據(jù)查詢結(jié)果,設(shè)置按鈕可用性ifQuery1.RecordCount>0thenbegincmdadd.Enabled:=True;cmdmodi.Enabled:=True;cmddel.Enabled:=True;cmdclose.Enabled:=True;endelsebegincmdadd.Enabled:=True;cmdmodi.Enabled:=False;cmddel.Enabled:=False;cmdclose.Enabled:=True;end;end;//添加其它工資標(biāo)準(zhǔn)procedureTsetother_Form.cmdaddClick(Sender:TObject);vargzmc,gzje,sqlstr:string;beginifaddthenbegin//數(shù)據(jù)合法性檢驗(yàn)gzmc:=Trim(gzmc_LEdit.Text);ifLength(gzmc)<1thenbeginShowMessage('請輸入工資名次');exit;end;gzje:=Trim(gzje_LEdit.Text);ifLength(gzje)<1thenbeginShowMessage('請輸入工資金額');exit;end;sqlstr:='select*fromgzdmwhere(gzmc='''+gzmc+''')';withTQuery.Create(nil)dotryClose;SQL.Clear;SQL.Add(sqlstr);Open;ifRecordCount>0thenbeginShowMessage('輸入的工資名稱已經(jīng)存在,請重新輸入!');exit;end;//生成添加其它工資標(biāo)準(zhǔn)的SQL語句sqlstr:='insertintogzdm(gzmc,gzje)values('''+gzmc+''','''+gzje+''')';Close;SQL.Clear;SQL.Add(sqlstr);ExecSQL;finallyFree;end;ShowMessage('添加工資名稱成功!');mynew;cmdadd.Caption:='添加';endelsebeginadd:=True;cmdadd.Caption:='保存';gzmc_LEdit.Clear;gzje_LEdit.Clear;end;end;procedureTsetother_Form.DBGrid1CellClick(Column:TColumn);begin//更新文本框內(nèi)容trygzmc_LEdit.Text:=Query1.FieldByName('gzmc').AsString;gzje_LEdit.Text:=Query1.FieldByName('gzje').AsString;exceptend;end;//修改其它工資標(biāo)準(zhǔn)procedureTsetother_Form.cmdmodiClick(Sender:TObject);vargzdm,gzmc,gzje,sqlstr:string;begin//數(shù)據(jù)合法性檢驗(yàn)gzdm:=Query1.FieldByName('gzdm').AsString;gzmc:=Trim(gzmc_LEdit.Text);ifLength(gzmc)<1thenbeginShowMessage('請輸入工資名稱');exit;end;gzje:=Trim(gzje_LEdit.Text);ifLength(gzje)<1thenbeginShowMessage('請輸入工資金額');exit;end;sqlstr:='select*fromgzdmwhere(gzmc='''+gzmc+''')and(gzdm<>'''+gzdm+''')';withTQuery.Create(nil)dotryClose;SQL.Clear;SQL.Add(sqlstr);Open;//判斷工資名稱是否有重復(fù)ifRecordCount>0thenbeginShowMessage('輸入的工資名稱已經(jīng)存在,請重新輸入!');exit;end;//生成添加其它工資標(biāo)準(zhǔn)的SQL語句sqlstr:='updategzdmsetgzmc='''+gzmc+''',gzje='''+gzje;sqlstr:=sqlstr+'''where(gzdm='''+gzdm+''')';Close;SQL.Clear;SQL.Add(sqlstr);ExecSQL;finallyFree;end;ShowMessage('修改工資名稱成功!');mynew;end;//刪除其它工資標(biāo)準(zhǔn)procedureTsetother_Form.cmddelClick(Sender:TObject);vargzdm:string;beginifMessageDlg('確認(rèn)要刪除選中的工資名稱信息嗎?',mtConfirmation,[mbYes,mbNo],0)=mrYesthenbegingzdm:=Query1.FieldByName('gzdm').AsString;withTQuery.Create(nil)dobegintryClose;SQL.Clear;SQL.Add('deletefromgzdmwheregzdm='''+gzdm+'''');ExecSQL;finallyFree;end;end;ShowMessage('成功刪除工資名稱信息');mynew;end;end;procedureTsetother_Form.cmdcloseClick(Sender:TObject);beginClose;end;10.生成工資表窗體設(shè)計(jì)生成工資表實(shí)現(xiàn)根據(jù)高校員工表,生成每月的員工工資表。選擇一個日期后,在工資表中檢索是否已經(jīng)創(chuàng)建該月的工資表,如果未創(chuàng)建,根據(jù)員工表和工資代碼表創(chuàng)建該月的工資表。生成工資表窗體保存為addgzb.pas,界面設(shè)計(jì)如圖7-13所示,包含一個Label組件、一個DateTimePicker組件、兩個Query組件和兩個Button組件。圖7-13生成工資表窗體設(shè)計(jì)窗體主要組件屬性設(shè)置見表7-17。表7-17生成工資表窗體主要組件屬性組件屬性值Form10FormStyle=fsMDIChildBorderStyle=bsSingleBorderIcons=[biSystemMenu]Name=addgzb_FormCaption='生成工資表'Label1Caption='選擇生成月份'DateTimePicker1Name=rq_DTPQuery1Query2Button1Caption='確定'Name=cmdokButton2Caption='取消'Name=cmdclose生成工資表窗體主要代碼如下:procedureTaddgzb_Form.FormCreate(Sender:TObject);beginrq_DTP.DateTime:=now;end;//確定按鈕單擊事件procedureTaddgzb_Form.cmdokClick(Sender:TObject);vargzdm,gzmc,gzje,ygbh,gzbh,sqlstr:string;begin//獲取日期gzbh:=FormatDateTime('yyyymmdd',rq_DTP.DateTime);//提取年月gzbh:=Copy(gzbh,1,6);//查詢工資表sqlstr:='selectgzbhfromgzbwhere(gzbh='''+gzbh+''')';withTQuery.Create(nil)dobegintry

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論