數(shù)據(jù)庫設計完整流程圖_第1頁
數(shù)據(jù)庫設計完整流程圖_第2頁
數(shù)據(jù)庫設計完整流程圖_第3頁
數(shù)據(jù)庫設計完整流程圖_第4頁
數(shù)據(jù)庫設計完整流程圖_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

..目錄實驗一軟件分析3一、功能說明3二、E-R圖3三、邏輯表格5四、任務6實驗二創(chuàng)建項目及數(shù)據(jù)庫6一、創(chuàng)建項目6二、創(chuàng)建數(shù)據(jù)庫6三、創(chuàng)建表并設定索引6四、建立表之間的關系8五、任務9實驗三數(shù)據(jù)可視化操作9一、添加記錄9二、修改記錄12三、刪除記錄12四、任務12實驗四使用命令操作數(shù)據(jù)庫12一、數(shù)據(jù)庫及表操作12二、任務15實驗五表單設計15一、表單分析15二、使用向導創(chuàng)建表單16三、使用表單設計器修改表單19四、完成其他表單23實驗六編寫代碼28一、創(chuàng)建系統(tǒng)主程序28二、編寫登錄表單的代碼29三、編寫主表單程序代碼30四、編寫管理員管理代碼34五、提示信息添加代碼36六、編寫管理信息代碼37七、今日提醒代碼編寫39八、編寫部門管理代碼41九、員工管理代碼編寫45十、使菜單和工具欄與表單關聯(lián)45十一、任務46實驗七設計報表46一、為報表準備數(shù)據(jù)46二、設計報表47三、操作注意51四、運行表單51五、任務51實驗八編譯發(fā)布52一、軟件的編譯52二、制作安裝盤52三、任務56實驗九分析及優(yōu)化56實驗一軟件分析請從網(wǎng)站下載示例程序,分析軟件的功能并列出,并從中抽象出實體,畫出軟件的E-R圖并進行數(shù)據(jù)庫邏輯設計,畫出數(shù)據(jù)庫邏輯設計表格。參考如下:功能說明系統(tǒng)登錄控制:要求填寫用戶名及密碼,并進行了3次連續(xù)錯誤后系統(tǒng)退出功能。部門編碼設置:主要是用來設置部門的層級關系。部門信息設置:部分的基本信息,如地址、等。員工信息管理:管理企業(yè)內(nèi)部員工的信息,還可以設置生日提醒。提醒設置功能:可以通過設置信息及接收用戶及時間,當被設置的用戶登錄時顯示給用戶。今日提醒功能:根據(jù)提醒設置,顯示相應信息。系統(tǒng)設置:修改使用軟件的單位信息。密碼修改功能:修改用戶的密碼。E-R圖首先是進行實體的抽象,通過系統(tǒng)登錄功能及用戶密碼修改功能,我們可以抽象出"用戶"實體,通過部門編碼及部門信息管理功能,可以抽象出"部門"實體,通過員工信息管理可得到"員工"實體,通過提醒功能及今日提醒功能可以抽象出"提醒"實體,最后就是系統(tǒng)基本信息,可以得到"系統(tǒng)"實體。部門信息部門信息員工信息提醒信息包含提醒1nn1實體之間關系有E-R圖提醒信息提醒信息編碼員工編號提醒類別提醒內(nèi)容提醒日期提醒實體用戶信息用戶信息用戶名密碼姓名用戶信息實體的E-R圖部門信息部門信息編號上層編號單位名稱單位地址。。。部門信息實體的E-R圖員工信息員工信息編號姓名生日。。。員工信息實體的E-R圖系統(tǒng)信息系統(tǒng)信息企業(yè)名稱顯示提醒系統(tǒng)信息實體的E-R圖邏輯表格通過上面的E-R圖,我們已經(jīng)確立了實體,現(xiàn)在我們要進一步把實體及屬性更完善,進行數(shù)據(jù)庫的邏輯設計提醒信息字段名字段類型寬度可否為空默認值說明Warnid自動編號4主索引emplyid整型4否0普通索引當為0時代表發(fā)給所有用戶Wtype整型4不同的數(shù)值代表不同類型showdate日期型8顯示日期msg字符型200顯示的信息用戶信息字段名字段類型寬度可否為空默認值說明uname字符型20否主索引,用戶名upwd字符型20否0密碼truename字符型8真實姓名部門信息字段名字段類型寬度可否為空默認值說明ID自動4主索引,編號TopID整型4上層編號DPName字符50單位名稱DPAddr字符100單位地址DPPhone字符30單位DPPerson字符8單位聯(lián)系人員工信息字段名字段類型寬度可否為空默認值說明ID自動4編號,主索引uname字符8姓名usex字符2性別birthday日期8生日DPID整型4所屬部門ISMsg邏輯1是否生日提醒上面的字符可以進行相應的增加或刪減,關鍵在于想實現(xiàn)的功能。任務仔細分析軟件本身,并可以進行相應改進,完成軟件分析任務。把個人設計的軟件也進行上述的過程,完成數(shù)據(jù)庫概念設計及邏輯設計。實驗二創(chuàng)建項目及數(shù)據(jù)庫創(chuàng)建項目在硬盤的相應目錄下建立自己的項目文件夾,并在文件夾下建立data和doc兩個文件夾分別用來存放數(shù)據(jù)文件及開發(fā)文檔。打開VFP8.0,建立項目文件,命名為EPUser〔可任意,為了后面方便表達。創(chuàng)建數(shù)據(jù)庫在項目管理器中新建一個數(shù)據(jù)庫EPData,并保存在Data文件夾中。創(chuàng)建表并設定索引在EPData數(shù)據(jù)庫下創(chuàng)建新表warning。表設計器如下:在warnid上建立主索引,在emplyid上建立普通索引。依照上邊的方法建立其他數(shù)據(jù)表。最終如下:建立表之間的關系選中Epdata數(shù)據(jù)庫,單擊修改打開數(shù)據(jù)庫設計器把主表的主索引拖至從表的普通索引上建立關系任務完成企業(yè)員工管理軟件的項目創(chuàng)建及數(shù)據(jù)庫、數(shù)據(jù)庫表的創(chuàng)建,并建立相應關系。完成自主設計的軟件的數(shù)據(jù)庫、數(shù)據(jù)庫表的創(chuàng)建工作。實驗三數(shù)據(jù)可視化操作添加記錄打開實驗二創(chuàng)建的項目,并打開epdata數(shù)據(jù)庫的設計器。雙擊Depart和employ表之間的關系線,打開關系設定窗口。選擇"referentialintegrity"選項,并選擇插入規(guī)則,選擇級連項,實現(xiàn)兩表之間的"相對完整性",確定退出窗體。在項目管理器中選擇depart表,并選擇"瀏覽",打開瀏覽窗口,在"顯示"菜單中選擇"追加模式",在表中添加兩條數(shù)據(jù),如下圖,在這里我們可以看到"聊城大學"這個部門的topid為0而"教育傳播技術學院"的topid為"聊城大學"的id,通過這種方式實現(xiàn)部門間的級別管理,這種方式在開發(fā)中經(jīng)常使用。關閉depart表,再打開employ表,使用上述方式添加數(shù)據(jù),當我們在Dpid中添加了一個depart表中未出現(xiàn)的ID值時,會出現(xiàn)如下錯誤,而輸入的值為正確的,則會被確認,從這里我們可以看到完整性檢查的作用。建立一個與employ結構相同的表employ1,在表中添加一些數(shù)據(jù)。在打開employ表,選擇"表"菜單中的追加記錄,如下圖,點擊來源后面的瀏覽按鈕,找到employ1表,并設置選項,選中除自動編號以外的所有字段,確定后,查看employ表中是否添加了employ1中的數(shù)據(jù)。修改記錄打開一個添加了數(shù)據(jù)的表格,然后使用"顯示"菜單中的"編輯"實現(xiàn)對數(shù)據(jù)的修改,不再演示,大家也可以設置表之間的關系,看一下更新規(guī)則的作用。刪除記錄打開一個有數(shù)據(jù)的表格,點擊記錄左側的小矩形,這樣記錄便被邏輯刪除進行物理刪除,打開"表"菜單,選擇徹底刪除,便可以實現(xiàn)"物理刪除"任務在我們建立的表中添加適量數(shù)據(jù),以方便后續(xù)操作。實驗四使用命令操作數(shù)據(jù)庫數(shù)據(jù)庫及表操作創(chuàng)建數(shù)據(jù)庫:CreateDataBasestumanage創(chuàng)建表:Createtableclasses<cidIAutoIncprimarykey,classnamec<20>>

CreateTablestudent<stuidc<10>primarykey,stunamec<10>,sexc<2>checksex=’男’orsex=’女’error"此數(shù)據(jù)只能為男或女"default‘男’,classidI,foreignkeyclassidtagclassidreferencesclasses>修改表結構:ALTERTABLEclassesaddteacherc<6>ALTERTABLEclassesalterteacherc<8>ALTERTABLEclassesrenameteachertomanagerALTERTABLEclassesdropmanager在當前工作期中打開要使用的表:USEclasses或selectclasses插入數(shù)據(jù):insertintoclasses<classname>values<‘2004級1班’>insertintoclasses<classname>values<‘2004級2班’>insertintoclasses<classname>values<‘2004級3班’>瀏覽數(shù)據(jù):browse或display或list,會發(fā)現(xiàn)使用display時只顯示第一條記錄,這時需要使用范圍語句displayall,大家可以使用條件語句看一下結果。查看當前記錄各信息:?recno<>&&顯示當前記錄號?Bof<> &&查看記錄指針是否在最前?Eof<> &&查看記錄指針是否在最后skip-1 &&使記錄指針向前滾動一條?recno<>

?Bof<>

?Eof<>

gototop &&使記錄指針移到頂端

?recno<>

?Bof<>

?Eof<>條件定位:locateforcid=2?recno<>在學生表中插入數(shù)據(jù):INSERTintostudent<stuid,stuname,sex,classid>values<'20040101','zhang','男',1>

INSERTintostudent<stuid,stuname,sex,classid>values<'20040102','wang','女',2>修改學生數(shù)據(jù):updatestudentsetclassid=3wherestuid=’20040101刪除學生記錄:

DELETEFROMstudentwherestuid='20040101'LIST恢復被邏輯刪除的記錄:RECALLall再執(zhí)行上面的刪除命令后使用Pack命令,把記錄從磁盤徹底刪除。執(zhí)行查詢:select*fromstudentselectstuid,stunamefromstudent向學生表中多插入幾條記錄selectdistinctsexfromstudentselectsexas性別fromstudentselect*fromstudentwherestuid=’20040101select*fromstudentwherestuidin<‘20040101’,’20040102SELECT*fromstudentwherestunamelike'w%'SELECT*fromstudentwherestunamelike'w_'SELECT*fromstudentwherestunamelike'__a%'selectcount<*>as學生總數(shù)fromstudentSELECTA.*,B.classnamefromstudentA,classesBwhereA.classid=B.cidSELECTA.*,B.classnamefromstudentAinnerjoinclassesBonA.classid=B.cidSELECTA.*,B.classnamefromstudentArightouterjoinclassesBonA.classid=B.cidSELECT*fromstudentorderbystuiddescSELECTtop1*fromstudentorderbystuiddescSelectcount<*>asstucount,classidfromstudentgroupbyclassidSelect*fromstudentintocursortest刪除表:droptablestudentdroptableclasses刪除數(shù)據(jù)庫:

CLOSEALLDELETEDATABASEstumanage任務使用上面的命令在員工管理數(shù)據(jù)庫表的添加一些記錄實驗五表單設計表單分析根據(jù)實驗一中的項目功能分析,我們需要創(chuàng)建以下幾個表單。部分信息管理表單:實現(xiàn)對部分信息的添加、修改、刪除等管理員工信息管理表單:實現(xiàn)對員工信息的添加、修改、刪除等管理管理員管理表單:實現(xiàn)對管理員的添加、刪除等管理當前用戶密碼修改表單:修改當前用戶的密碼和真實姓名信息提示表單:當啟動軟件時顯示提示信息提示信息設置表單:設置提示信息登錄表單系統(tǒng)設置表單關于表單使用向導創(chuàng)建表單打開員工管理項目,這里需要注意的是,VFP軟件有可能對中文目錄支持不太好,如果出現(xiàn)類似問題,請把項目放在一個英文目錄中。在項目管理器中選擇文檔〔documents,選擇表單,并新建。選擇使用向導,這里有兩項,一項是表單向導,另一個是一對多表單向導,可以看出我們也可以使用向導產(chǎn)生基于兩個表的表單。選擇使用到的表字段,這里實現(xiàn)管理員管理的表單,所以選擇Manager表中的所有字段。選擇表單樣式,使用默認即可。選擇排序字段,這里也可以不選擇。最后一步,設置表單標題并設置保存,在項目文件夾下建立forms文件夾,并把表單保存在內(nèi)。最終效果如下:在我們的創(chuàng)建的數(shù)據(jù)庫中,部門表與員工表之間存在一對多關系,使用向導自己建立一個一對多的表單。使用表單設計器修改表單使用向導生成的表單有時不能滿足我們的需要,這時,我們需要使用表單設計器來完善表單的設計。下面我們來修改一下上面的表單。選擇我們剛才創(chuàng)建的表單,進行修改下面是表單設計器,同時會打開表單控件面板和屬性面板選擇表格控件,并在表單中單擊,把控件添加到表單中。使用表格生成器來使表格與數(shù)據(jù)表之間綁定。選擇顯示的字段。設置顯示樣式修改表格字段顯示的標題。點擊OK完成修改,關閉設計器并保存修改,使用項目管理器運行表單查看最終效果。對于由向導生成的控件,可以通過屬性面板進行修改,如改變標題顯示<caption>。通過上述方式,多加測試,掌握表單設計的基本方法。完成其他表單部門信息管理:這里要用到一個Activex控件,方法是,打開"工具"菜單,選項中選擇控件面板,找到如下圖的控件:后從控件面板中選擇如下:就可以看到我們選擇的組件,拖放到表單中就可以了。員工信息管理登錄表單管理員管理表單用戶密碼修改表單提示信息管理表單提示信息添加表單,這里用了一個時間控件,如TreeView控件一樣,自行添加進來即可。提示信息顯示表單實驗六編寫代碼本實驗分三次完成,主要實現(xiàn)程序的所有代碼,了解程序開發(fā)過程及代碼開發(fā)技巧。創(chuàng)建系統(tǒng)主程序主程序是所編寫程序的入口,主要設置運行環(huán)境、定義變量、常量,然后調用其他表單,本程序文件保存為main.prg。CLEARCLEARALL*把系統(tǒng)菜單隱藏掉SETSYSMENUoff*程序運行時不允許使用ESC鍵退出SETESCAPEOFF*關閉命令顯示SETTALKOFF*覆蓋時不要確認SETSAFETYOFF*設置時間格式,使用四位顯示年代SETCENTURYonSETDATEYMD*定義一個公共變量,保存當前用戶信息PUBLICcuruser*調用登錄表單DOFORMforms\login*進入事務處理,當執(zhí)行cleanevents時結束READevents*當結束循環(huán)時執(zhí)行退出quit編寫登錄表單的代碼打開實驗五中已經(jīng)制作的Login表單,修改控件相應屬性??丶傩灾到M合框NameunameRowsourcemanager.unameRowsourcetype6-fieldsStyle2-dropdownlist文本框NameUpwdPasswordchar*表單AutocenterTrueBorderstyle2-固定對話框ClosbleFCaption用戶登錄controlboxFMaxButtonFMinButtonFNameFrmloginShowwindow作為頂層表單Windowtyp模式選中表單,從屬性面板中找到init事件,添加如下代碼:*定義一個公共變量來保存登錄次數(shù)PUBLIClogincountlogincount=0雙擊登錄按鈕,打開按鈕的click事件:IFALLTRIM<thisform.uname.Value>==""then MESSAGEBOX<"沒有選擇用戶名??!">ELSE LOCATEFORuname=ALLTRIM<thisform.uname.value> IFALLTRIM<thisform.upwd.Value>=ALLTRIM<upwd>then curuser=thisform.uname.value thisform.Release DOFORMforms\main return ELSE logincount=logincount+1 IFlogincount<3then thisform.upwd.Value="" MESSAGEBOX<"您的密碼輸入錯誤,請重新輸入??!",16,"錯誤"> ELSE MESSAGEBOX<"對不起,錯誤次數(shù)已達3次,不能進入系統(tǒng)??!",16,"報歉"> thisform.Release CLEAREVENTS CLOSEALL quit endif endifENDIF為退出添加click事件:thisform.ReleaseCLEAREVENTSquit編寫主表單程序代碼主表單主要是起到調用其他表單的作用,在這里我們添加一個菜單和一個工具欄,從而了解如何創(chuàng)建表單與工具欄,以及如何在程序中使用它們。創(chuàng)建主表單,保存為main,設置屬性如下:控件屬性值表單AutocenterTrueCaption企業(yè)員工管理系統(tǒng)Height600Width600MDIformTNameFrmmainShowwindow作為頂層表單Windowtyp模式創(chuàng)建菜單,在項目管理器中選擇"其他"選項卡,選中菜單,新建:選擇Menu,先制作如圖的菜單然后選擇菜單"顯示->常規(guī)選項"選中"頂層表單",設計表單時要注意的問題是,需要生成,而且每一次改動后都需要生成,否則使用的菜單是未生成前的菜單。"菜單->生成菜單":好了,下面我們把菜單加入到主表單中去。打開主表單,添加"init"事件:DOmenu\main.mprWITHthis*這里的菜單地址,請根據(jù)自己的保存位置確定。這里保存到menu文件件下了??梢赃\行主表單看一下效果了。下面制作工具欄,選擇"類"選項卡,新建類:從ToolBar類繼承制作自己的工具欄,添加按鈕,圖片資源可以從FTP得到。設置Showwindow屬性值為"在頂層表單中"。因為工具欄是與表單一級的對象,所以表單中不能容納工具欄,所以需要建立一個表單集來放置表單與工具欄,打開主表單,使用"表單"菜單中的"新建表單集"建立表單集對象,這時我們使用代碼的方式把工具欄加入到主表單中去,設置表單集的init事件。PUBLICisCreateToolbarisCreateToolbar=0再在Activate事件中添加如下代碼:IFisCreateToolbar=0 isCreateToolbar=1*加載類 SETCLASSLIBTOlib\myclass *使用類創(chuàng)建對象 this.AddObject<"tool1","mytoolbar">*把工具欄停放在表單的上部this.tool1.dock<0>endif這時運行主表單,效果如下:編寫管理員管理代碼控件屬性值表格NamegmanagerEnabledFalseRecordsourceManager表單BufferMode1Caption操作員管理NamefrmmanagerShowwindow在頂層表單中打開表單的數(shù)據(jù)環(huán)境,選擇manager表。設置其屬性。buffermodeOveride:2,Exlusive:True添加按鈕的click事件:thisform.gManager.Enabled=.T.APPENDBLANKGObottomthisform.Refresh修改按鈕的click事件:thisform.gManager.Enabled=.t.保存按鈕的click事件:YN=MESSAGEBOX<"確定保存",4+32,"企業(yè)員工管理系統(tǒng)">IFYN=6then IFTABLEUPDATE<.f.>=.f.then MESSAGEBOX<"保存出錯"> ELSE thisform.Refresh ENDIFENDIFthisform.gmanager.Enabled=.f.取消按鈕的click事件:IFMESSAGEBOX<"確認取消",4+32,"企業(yè)員工管理系統(tǒng)">==6then TABLEREVERT<.f.>ENDIFthisform.gmanager.Enabled=.f.thisform.Refresh刪除按鈕的click事件:IFMESSAGEBOX<"確定刪除",32+4,"企業(yè)員工管理系統(tǒng)">==6then SELECTmanager DELETE thisform.gmanager.RecordSource=null PACK thisform.gmanager.RecordSource="manager" IFEOF<> SKIP-1 ELSE IFBOF<> SKIP ENDIF ENDIF thisform.Refreshendif提示信息添加代碼控件屬性值DateandtimerpickerNamemsgdate文本域namemsgcontent保存按鈕click事件:SETDATEYMDSETCENTURYonmdate=TTOD<thisform.msgdate._value>mcontent=ALLTRIM<thisform.msgcontent.Value>IFEMPTY<mdate>.and.EMPTY<mcontent>then MESSAGEBOX<"時間和內(nèi)容都不能為空"> returnENDIFIFMESSAGEBOX<"確定保存",4+32,"企業(yè)員工管理系統(tǒng)">=6 INSERTINTOwarning<emplyid,wtype,showdate,msg>values<0,0,mdate,mcontent> MESSAGEBOX<"提示信息已經(jīng)添加到數(shù)據(jù)庫中",64,"企業(yè)員工管理系統(tǒng)"> thisform.Releaseendif取消按鈕click事件:thisform.Release編寫管理信息代碼此窗體的代碼與管理員管理代碼類似,所以可以很容易實現(xiàn)??丶傩灾当砀馧amegmsgEnabledFalseRecordsourceManagerMousePointer1-Arrow表單BufferMode1Caption操作員管理NameFrmmsgShowwindow在頂層表單中打開表單的數(shù)據(jù)環(huán)境,選擇waring表。設置其屬性。buffermodeOveride:2,Exlusive:True添加按鈕onclick事件:DOFORMforms/setmsgThisform.refresh修改按鈕的onclick事件:IFMESSAGEBOX<"確定保存修改信息",4+32,"企業(yè)員工管理系統(tǒng)">=6then IFTABLEUPDATE<.f.>=.f.then MESSAGEBOX<"保存出錯,請檢查"> ELSE thisform.Refresh ENDifENDIFthisform.gmsg.Enabled=.f.取消按鈕的onclick事件:IFMESSAGEBOX<"確認取消",4+32,"企業(yè)員工管理系統(tǒng)">==6then TABLEREVERT<.f.>ENDIFthisform.gmanager.Enabled=.f.thisform.Refresh刪除按鈕的click事件:IFMESSAGEBOX<"確定刪除",32+4,"企業(yè)員工管理系統(tǒng)">==6then SELECTwaring DELETE thisform.gmanager.RecordSource=null PACK thisform.gmanager.RecordSource="waring" IFEOF<> SKIP-1 ELSE IFBOF<> SKIP ENDIF ENDIF thisform.Refreshendif今日提醒代碼編寫控件屬性值文本框Namemsgreadonlytrue多選框Nameisstart表單BufferMode1Caption今日提醒NameFrmtodayShowwindow在頂層表單中Windowtype1-模式標簽Namelmsg表單init事件:PUBLICi,inumi=0inum=0SELECTwarningCOUNTFORshowdate=DATE<>toinumIFinum<1then thisform.msg.Value="沒有本日提醒" thisform.lmsg.caption="沒有提醒"ELSE SELECTwarning SETFILTERTOshowdate=DATE<> gotop i=1 thisform.msg.ControlSource="warning.msg" thisform.lmsg.caption="共有"+ALLTRIM<STR<inum>>+"條提醒,第"+ALLTRIM<STR<i>>+"條提醒" thisform.Refreshendif下一條按鈕單擊事件:SELECTwarningIF.not.EOF<> SKIP i=i+1 thisform.lmsg.Caption="共有"+ALLTRIM<STR<inum>>+"條提醒,第"+ALLTRIM<STR<i>>+"條提醒"ENDIFthisform.Refresh確定按鈕onclick事件:IFthisform.isstart.Value=1 UPDATEsysSETisstart=.f.ENDIFthisform.release編寫部門管理代碼部門管理表單使用了一個ActiveX控件,如果想非常細致的了解此控件的使用方法,請參考FTP上給出的資料??丶傩灾禈湫蚇amedepartTreeStyle7名稱文本框NameEnamecontrolSourcedpname地址文本框NameEaddrcontrolSourcedpaddr文本框NameEphonecontrolSourcedpphone聯(lián)系人文本框NameEpersoncontrolSourceDpperson表單BufferMode1Caption部門信息管理NameFrmdepartShowwindow在頂層表單中Windowtype1-模式同樣要設置表單對應的depart表格的屬性:buffermodeOveride:2,Exlusive:True首先我們給表單添加init事件:PUBLICisedit 定義一個變量來標識當前操作是添加還是修改PUBLICdpid 保存當前部門編碼SELECTdepartGOtopthisform.ename.Value=dpnamethisform.eaddr.Value=dpaddrthisform.ephone.Value=dpphonethisform.eperson.Value=dppersonthisform.eaddr.Enabled=.f.thisform.ename.Enabled=.f.thisform.eperson.Enabled=.f.=.f.thisform.Refresh給樹形控件添加init事件SCANIFtopid==0Node=this.nodes.add<,1,"D"+ALLTRIM<STR<id>>,ALLTRIM<dpname>,,>*加入根節(jié)點ELSENode=this.nodes.add<"D"+ALLTRIM<STR<topid>>,4,"D"+ALLTRIM<STR<id>>,ALLTRIM<dpname>,,>ENDIFENDSCAN樹形控件的onclick事件:SELECTdepartLOCATEFORid=VAL<SUBSTR<this.selectedItem.Key,2>>dpid=idthisform.ename.Value=dpnamethisform.eaddr.Value=dpaddrthisform.ephone.Value=dpphonethisform.eperson.Value=dpperson添加按鈕onclick事件:thisform.ename.Value=""thisform.eaddr.Value=""thisform.ephone.Value=""thisform.eperson.Value=""thisform.eaddr.Enabled=.t.thisform.ename.Enabled=.t.thisform.eperson.Enabled=.t.thisform.ephone.Enabled=.t.isedit="add"thisform.Refresh刪除按鈕onclick事件:IFMESSAGEBOX<"確認要刪除所選部門信息",4+32,"企業(yè)員工管理系統(tǒng)">==6then DELETEFROMdepartWHEREid=dpid PACK thisform.Refresh ENDif修改按鈕onclick事件:thisform.eaddr.Enabled=.t.thisform.ename.Enabled=.t.thisform.eperson.Enabled=.t.thisform.ephone.Enabled=.t.isedit="mod"取消按鈕onclick事件:thisform.ename.Value=dpnamethisform.eaddr.Value=dpaddrthisform.ephone.Value=dpphonethisform.eperson.Value=dppersonthisform.eaddr.Enabled=.f.thisform.ename.Enabled=.f.thisform.eperson.Enabled=.f.thisform.ephone.Enabled=.f.保存按鈕onclick事件:IFMESSAGEBOX<"確認要保存修改后的信息嗎?",4+32,"企業(yè)員工管理系統(tǒng)">==6then IFisedit="mod"then ename=ALLTRIM<thisform.ename.value> eaddr=ALLTRIM<thisform.eaddr.value> ephone=ALLTRIM<thisform.ephone.value> eperson=ALLTRIM<thisform.eperson.value> UPDATEdepartSETdpname=ename,dpaddr=eaddr,dpphone=ephone,dpperson=epersonWHEREid=dpid ENDIF IFisedit="add"then INSERTINTOdepart<topid,dpname,dpaddr,dpphone,dpperson>values<dpid,thisform.ename.Value,thisform.eaddr.Value,thisform.ephone.Value,thisform.eperson.Value> endifENDIFthisform.eaddr.Enabled=.f.thisform.ename.Enabled=.f.thisform.eperson.Enabled=.f.thisform.ephone.Enabled=.f.thisform.Refresh員工管理代碼編寫員工管理代碼請參考部門管理代碼和管理員管理代碼來完成。使菜單和工具欄與表單關聯(lián)到這里,把目前編寫的表單和主表單統(tǒng)一起來,使菜單項及工具欄按鈕可以響應事件,打開菜單,修改相應項,如提示信息管理下有子項,所以設置為Submenu,單擊Edit進行修改如下使用doform表單名稱〔注意表單路徑,來調用表單,其他相應修改。打開工具欄,為工具欄上的按鈕添加代碼,如doformforms/depart來完成工具欄的代碼添加。任務把實驗指導書中未給出的代碼補齊,完成整個程序的代碼編寫。實驗七設計報表為報表準備數(shù)據(jù)新建一個本地視圖,如下圖所示,把Depart表和Employ表加入到視圖中來,并設置顯示的字段。設計報表新建報表打開報表設計器在報表菜單中打開標題總結對話框選擇相應選項,這里Newpage選項是為了讓標題區(qū)和總結區(qū)在單獨頁中顯示在標題帶區(qū)中添加以下標簽控件,并輸入文字在pageheader帶區(qū)中添加以下控件,標簽控件中顯示"聊城大學教育傳播技術學院企業(yè)員工管理系

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論