版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 管理數(shù)據(jù)庫(kù)原理與開發(fā)</p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 題 目:學(xué)生信息管理系統(tǒng)</p><p> 專 業(yè):電子商務(wù)(現(xiàn)代物流)</p><p><b> 成 員: </b></p><p>&l
2、t;b> 指導(dǎo)老師: </b></p><p> 2011年6月15日</p><p><b> 學(xué)生信息管理系統(tǒng)</b></p><p><b> 一、系統(tǒng)設(shè)計(jì)</b></p><p> 1、系統(tǒng)功能模塊分析</p><p> 學(xué)生信息管理系統(tǒng)
3、通常包括學(xué)生基本信息管理、課程情況和成績(jī)的管理。設(shè)計(jì)學(xué)生管理系統(tǒng)的目的就是利用計(jì)算機(jī)的快速瀏覽、維護(hù)、查詢、統(tǒng)計(jì)功能,替代管理人員對(duì)數(shù)據(jù)的手工處理。</p><p> 用計(jì)算機(jī)對(duì)學(xué)生的各種信息進(jìn)行日常管理時(shí),經(jīng)常要進(jìn)行數(shù)據(jù)的:瀏覽、查詢、修改、添加、刪除、統(tǒng)計(jì)、和打印等操作。針對(duì)上述要求,設(shè)計(jì)的成績(jī)管理系統(tǒng)應(yīng)包括實(shí)現(xiàn)這些功能的模塊如圖。</p><p> 2、系統(tǒng)功能模塊設(shè)計(jì)</
4、p><p> 在系統(tǒng)分析的基礎(chǔ)上,結(jié)合操作上的方便性,學(xué)生信息管理應(yīng)用程序包括系統(tǒng)主功能模塊、查詢、維護(hù)、統(tǒng)計(jì)、打印和退出等幾大功能模塊。以下來(lái)簡(jiǎn)單敘述各功能模塊的功能:</p><p><b> ?。?)系統(tǒng)主模塊</b></p><p> 提供了學(xué)生信息管理的主界面,作為進(jìn)入系統(tǒng)的唯一入口。在系統(tǒng)主界面中,不僅提供了用于調(diào)用系統(tǒng)各功能模塊的
5、操作方法,而且還需要對(duì)使用系統(tǒng)的用戶進(jìn)行合法性檢驗(yàn)等相應(yīng)操作。</p><p> (3)查詢模塊:提供了用于對(duì)數(shù)據(jù)進(jìn)行查詢操作的操作界面,用戶可以按學(xué)號(hào)或姓名查找某人信息、某學(xué)生所選課的情況;也可以按專業(yè)進(jìn)行查詢;也可以按開課學(xué)期查找課程情況等</p><p> ?。?)維護(hù)模塊: 維護(hù)模塊允許用戶對(duì)數(shù)據(jù)進(jìn)行維護(hù)操作,例如添加、刪除、修改等。方便維護(hù)人員對(duì)數(shù)據(jù)進(jìn)行更改,對(duì)學(xué)生信息不斷完善
6、,變得更便利。</p><p> ?。?)統(tǒng)計(jì)模塊: 可以方便的得知整個(gè)學(xué)科的最高分、最低分和平均成績(jī),便于學(xué)生了解自己的成績(jī)水平,了解一下整個(gè)課程的水平,很好的了解自己,鞭策自己上進(jìn)!</p><p> ?。?)打印模塊:打印模塊提供按專業(yè)進(jìn)行基本學(xué)生信息的打印和按學(xué)生學(xué)號(hào)打印學(xué)生所學(xué)課程的成績(jī)表功能。</p><p> 二、數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)</p>
7、<p><b> 1、表的設(shè)計(jì)</b></p><p> ?。?)表的字段中的字段、類型、寬度、索引的設(shè)計(jì),以及其他相關(guān)屬性的設(shè)計(jì)。</p><p> ?。?)利用顯示菜單中的追加方式給表輸入數(shù)據(jù)。</p><p><b> 2、數(shù)據(jù)庫(kù)的設(shè)計(jì)</b></p><p> 首先要新建
8、一個(gè)數(shù)據(jù)庫(kù)sjk,將做好的student表、course表和score表添加到建立好的數(shù)據(jù)庫(kù)中,然后根據(jù)實(shí)體之間的聯(lián)系,建立表之間的聯(lián)系。</p><p><b> 3、數(shù)據(jù)庫(kù)的實(shí)現(xiàn):</b></p><p><b> ?。?)創(chuàng)建項(xiàng)目管理</b></p><p> 數(shù)據(jù)庫(kù)管理系統(tǒng)又稱項(xiàng)目往往能是由多個(gè)文件組成。例如,
9、數(shù)據(jù)庫(kù)、表、表單、程序和報(bào)表文件等。為了更好地對(duì)其進(jìn)行管理,通常先建立一個(gè)項(xiàng)目并打開項(xiàng)目管理器,然后對(duì)項(xiàng)目管理器中的文件統(tǒng)一管理,極大方便了應(yīng)用程序的開發(fā),可以使某些程序設(shè)計(jì)、修改和運(yùn)行變得方便易行。</p><p> 創(chuàng)建學(xué)生信息管理項(xiàng)目之前,要先建立或選擇保存文件的文件夾。然后執(zhí)行系統(tǒng)【文件】菜單下的【新建】命令,選擇【項(xiàng)目】文件類型,創(chuàng)建一個(gè)“學(xué)生信息管理.PRJ”的項(xiàng)目文件,并打開【項(xiàng)目管理器】窗<
10、;/p><p> 三、系統(tǒng)功能模塊的詳細(xì)設(shè)計(jì)</p><p> 采用模塊化程序設(shè)計(jì)方法,可以將一個(gè)復(fù)雜系統(tǒng)的設(shè)計(jì)轉(zhuǎn)化為多個(gè)簡(jiǎn)單系統(tǒng)設(shè)計(jì),便于修改和維護(hù),也便于多人同時(shí)開發(fā)系統(tǒng)。</p><p><b> 系統(tǒng)登錄界面的設(shè)計(jì)</b></p><p> 為了保護(hù)系統(tǒng)的安全,防止未被授權(quán)的非法用戶使用系統(tǒng),一個(gè)信息管理系統(tǒng)
11、往往還需要設(shè)計(jì)一個(gè)登陸界面,只有合法的而用戶才能進(jìn)入系統(tǒng)主界面。</p><p> 要求設(shè)計(jì)如圖所示的界面。由Label、Command、Combo1 和Timer(計(jì)時(shí)器)控件組成,其中,定時(shí)器主要用于控制實(shí)現(xiàn)歡迎文字的從左向右滾動(dòng)。</p><p> 設(shè)計(jì)步驟:打開表單設(shè)計(jì)器,建立一個(gè)新的表單,添加相應(yīng)的控件、設(shè)置其屬性、及相關(guān)代碼</p><p> 表
12、單對(duì)象的屬性設(shè)置:</p><p> Form1: caption (登錄系統(tǒng)) MaxButtom(.f.) Minbutton(.f.) </p><p> Label1: Caption(學(xué)生信息管理統(tǒng)) Fontsize=20 Alignment=2-中央</p><p> Label2: Caption(用戶名) Fo
13、ntsize=12</p><p> Label3: Caption(密碼) Fontsize=12</p><p> Label4:Caption(歡迎使用學(xué)生信息管理系統(tǒng)) Fontsize=11</p><p> Forecolor=RGB(255,0,0)</p><p> Command1:Caption(確認(rèn))&l
14、t;/p><p> Command2:Caption(取消)</p><p> Text1: PasswordChar (*) &&定占位字符</p><p> Combo1: ReadOnly (.F.) RowSource (Password.用戶名)</p><p> RowSourceType
15、 (6-字段)</p><p> Time1:Enabled(.F.) Internal (80) &&定時(shí)器事件的事件間隔</p><p> 系統(tǒng)登錄界面對(duì)象的事件過(guò)程代碼如下:</p><p> 定時(shí)器控件對(duì)象的timer事件的代碼如下:</p><p> If thisform.label4.lef
16、t<1</p><p> thisform.label4.left=thisform.width-8</p><p><b> else</b></p><p> thisform.label4.left=thisform.label4.left-2</p><p><b> endif</
17、b></p><p> 按鈕對(duì)象Command1(確認(rèn))的Click事件過(guò)程代碼如下:</p><p> private upassword</p><p> select password</p><p> upassword=alltrim(thisform.Text1.value)</p><p>
18、 locate for alltrim(用戶名)=alltrim(thisform.Combo1.value)</p><p> if found() and upassword=alltrim(密碼)</p><p> thisform.visible=.F.</p><p> do form D:\學(xué)生信息管理\SysScreen.scx</p&
19、gt;<p><b> else</b></p><p> =messagebox("用戶名或密碼錯(cuò)誤,請(qǐng)重新輸入!")</p><p> thisform.Text1.setfocus</p><p><b> endif</b></p><p> 按鈕
20、對(duì)象Command2(取消)的Click事件過(guò)程代碼:</p><p> thisform.Combo1.value=""</p><p> thisform.text1.value=""</p><p> thisform.text1.setfocus</p><p> 表單對(duì)象功能Form1
21、的Init的事件代碼如下:</p><p> use password</p><p> 2、信息管理系統(tǒng)的功能主界面的設(shè)計(jì)</p><p> 系統(tǒng)主界面是控制其他功能模塊的應(yīng)用程序界面,終端用戶可以在系統(tǒng)主界面選擇程序所提供的功能。</p><p> 在“學(xué)生信息管理”項(xiàng)目管理窗口中,單擊【文檔】選項(xiàng)卡,選擇【表單】選擇,單擊新建
22、按鈕,打開【表單設(shè)計(jì)器】窗口,如下圖:</p><p> 設(shè)置表單對(duì)象Form1的【Cpation】屬性為“學(xué)生信息管理”,標(biāo)簽對(duì)象的【Cpation屬性為“學(xué)生信息管理系統(tǒng)”,【Fontsize】屬性為“20“。從上到下依次設(shè)置5個(gè)命令按鈕的【Caption】的屬性值。</p><p> 系統(tǒng)功能主界面的事件代碼如下:</p><p> Command1(查
23、詢)按鈕的Click事件代碼:do form D:\學(xué)生信息管理\查詢.scx</p><p> Command2(維護(hù))按鈕的Click事件代碼:do form D:\學(xué)生信息管理\維護(hù).scx</p><p> Command3(統(tǒng)計(jì))按鈕的Click事件代碼:do form D:\學(xué)生信息管理\統(tǒng)計(jì).scx</p><p> Command4(打?。┌粹o
24、的Click事件代碼:do form D:\學(xué)生信息管理\打印.scx</p><p> Command5(退出)按鈕的Click事件代碼:thisform.release</p><p> 查詢功能模塊的設(shè)計(jì):</p><p> 將學(xué)生信息管理中的查詢操作采用表單的形式進(jìn)行組織,分別實(shí)現(xiàn)學(xué)生綜合信息、學(xué)生基本信息、課程信息和成績(jī)信息的查詢。共分五個(gè)表單,結(jié)構(gòu)
25、如下</p><p> (一)、“查詢體統(tǒng)”表單</p><p> 在“項(xiàng)目管理器”窗口中,新建一個(gè)用于查詢操作的表單,然后在“表單設(shè)計(jì)器”窗口中建立如圖表單。</p><p> (1)Thisform.Commandgroup1.command1的click事件代碼如下:</p><p> thisform.release</
26、p><p> DO FORM f:\學(xué)生信息管理\學(xué)生綜合信息查詢.scx</p><p> (2)Thisform.Commandgroup1.command1的click事件代碼如下:</p><p> thisform.release</p><p> DO FORM f:\學(xué)生信息管理\學(xué)生基本信息查詢.scx</p>
27、<p> (3)Thisform.Commandgroup1.command1的click事件代碼如下:</p><p> thisform.release</p><p> DO FORM f:\學(xué)生信息管理\課程信息查詢.scx</p><p> (4)Thisform.Commandgroup1.command1的click事件代碼如下:
28、</p><p> thisform.release</p><p> DO FORM f:\學(xué)生信息管理\學(xué)生成績(jī)查詢.scx</p><p> (5)Thisform.Commandgroup1.command1的click事件代碼如下:</p><p> thisform.release</p><p>
29、 ?。ǘⅰ睂W(xué)生綜合信息”表單</p><p> 利用“表單向?qū)А毙陆ㄒ粋€(gè)“一對(duì)多表單向?qū)А?,父表選定為student表,字段為其全部包含字段,子表為score表,字段為其全部字段。設(shè)置完成對(duì)表單進(jìn)行布局調(diào)整及控件添加如圖:</p><p> Thisform.Command1的click事件代碼如下:</p><p> Thisform.rslease&l
30、t;/p><p> DO FORM D:\學(xué)生信息管理\查詢系統(tǒng).scx</p><p> Thisform.Command2的click事件代碼如下:</p><p> thisform.release</p><p> DO FORM D:\學(xué)生信息管理\sysscreen.scx</p><p> 三、“學(xué)
31、生基本信息查詢”表單</p><p> 在“項(xiàng)目管理器”窗口中新建一個(gè)關(guān)于查詢操作的表單。</p><p> 利用“表單控件”窗口向表單中添加兩個(gè)label,一個(gè)optiongruop,三個(gè)text,一個(gè)grid,兩個(gè)command</p><p> 設(shè)置頁(yè)面page1的對(duì)象屬性如表</p><p> Thisform的 activa
32、te事件代碼如下</p><p> thisform. text1.enabled=.T.</p><p> thisform..text2.enabled=.F.</p><p> thisform. text3.enabled=.F.</p><p> this.grid1.recordsource=""
33、 &&清空表格</p><p> Thisform..optionGroup1 的 interactiveChange 事件代碼如下</p><p><b> do case</b></p><p> case this.option1.value=1</p><p> thisform. t
34、ext1.enabled=.T.</p><p> thisform. text1.setfocus</p><p> thisform..text2.enabled=.F.</p><p> thisform. text3.enabled=.F.</p><p> case this.option2.value=1</p>
35、;<p> thisform.text1.enabled=.F.</p><p> thisform.text2.enabled=.T.</p><p> thisform.text2.setfocus</p><p> thisform.text3.enabled=.F.</p><p> case this.opt
36、ion3.value=1</p><p> thisform. text1.enabled=.F.</p><p> thisform.text1.enabled=.F.</p><p> thisform.text1.enabled=.T.</p><p> thisform.text1.setfocus</p>&l
37、t;p><b> endcase</b></p><p> Thisform. text1的 interactiveChange事件代碼如下</p><p> thisform.pageframe1.page1.grid1.recordsource=""</p><p> xm=alltrim(thisform
38、.pageframe1.page1.text1.value)</p><p> thisform.pageframe1.page1.grid1.recordsource=;</p><p> "select * from student where alltrim(姓名)=xm into cursor temp" &&指定表格控件的數(shù)據(jù)源<
39、/p><p> Thisform. text2 的 interactiveChange事件代碼如下</p><p> thisform.pageframe1.page1.grid1.recordsource=""</p><p> xh=alltrim(thisform.pageframe1.page1.text2.value)</p&g
40、t;<p> thisform.pageframe1.page1.grid1.recordsource=;</p><p> "select * from student where alltrim(學(xué)號(hào))= xh into cursor temp" &&指定表格控件的數(shù)據(jù)源</p><p> Thisform. text3 的
41、interactiveChange事件代碼如下</p><p> thisform.pageframe1.page1.grid1.recordsource=""</p><p> zy=alltrim(thisform.pageframe1.page1.text3.value)</p><p> thisform.pageframe1.pa
42、ge1.grid1.recordsource=;</p><p> "select * from student where alltrim(專業(yè))=zy into cursor temp" &&指定表格控件的數(shù)據(jù)源</p><p> Thisform.command1的click事件代碼如下:</p><p> thi
43、sform.release</p><p> DO FORM D:\學(xué)生信息管理\sysscreen.scx</p><p> Thisform.command2的click事件代碼如下:</p><p> Thisform.rslease</p><p> DO FORM D:\學(xué)生信息管理\查詢系統(tǒng).scx</p>
44、<p> ?。ㄋ模ⅰ罢n程信息查詢”頁(yè)面</p><p> “表單設(shè)計(jì)器”窗口的“課程查詢”頁(yè)面如圖</p><p> Form 的對(duì)象屬性設(shè)置見表</p><p> Thisform.的 activate事件代碼如下</p><p> this.grid1.recordsource=""</p&g
45、t;<p> Thisform.text1的 interactiveChange事件代碼如下</p><p> kcmc=alltrim(thisform.pageframe1.page2.text1.value)</p><p> thisform.pageframe1.page2。grid1.recordsource=;</p><p>
46、"select * from course where alltrim(課程名稱)=kcmc into cursor temp" &&指定表格控件的數(shù)據(jù)源</p><p> Thisform. text2 的 interactiveChange事件代碼如下</p><p> kcbh=alltrim(thisform.pageframe1.pag
47、e2.text2.value)</p><p> thisform.pageframe1.page2.grid1.recordsource=;</p><p> "select * from course where alltrim(課程編號(hào))=kcbh into cursor temp" &&指定表格控件的數(shù)據(jù)源</p><
48、p> Thisform.command1及thisform.command2的click事件代碼同“學(xué)生綜合信息”</p><p> ?。ㄎ澹ⅰ睂W(xué)生成績(jī)查詢”表單</p><p> “表單設(shè)計(jì)器”窗口的“學(xué)生成績(jī)查詢”頁(yè)面如圖</p><p> Form的對(duì)象屬性設(shè)置如表</p><p> Thisform的 activate
49、事件代碼如下</p><p> this.grid1.recordsource="" &&清空表格</p><p> Thisform. text1的interactiveChange事件代碼如下</p><p> xh=alltrim(thisform.text1.value)</p><p>
50、; thisform.grid1.recordsource=;</p><p> "select * from score where alltrim(學(xué)號(hào))=xh into cursor temp"</p><p> Thisform.text2 的interactiveChange事件代碼如下</p><p> kcbh=alltr
51、im(thisform.pageframe1.page3.text2.value)</p><p> thisform.grid1.recordsource=;</p><p> "select * from score where alltrim(course.課程編號(hào))=kcbh into cursor temp"</p><p> T
52、hisform.command1及thisform.command2的click事件代碼同“學(xué)生綜合信息”</p><p><b> 維護(hù)功能模塊的設(shè)計(jì)</b></p><p> 維護(hù)模塊主要實(shí)現(xiàn)對(duì)學(xué)生信息管理中各種數(shù)據(jù)的維護(hù)操作,如添加、刪除和修改數(shù)據(jù)記錄等,如圖二所示。</p><p> 選擇需要修改的數(shù)據(jù)表,單擊添加或刪除按鈕后,旗
53、下表格控件極限時(shí)需要維護(hù)的對(duì)象,單擊確認(rèn)或退出按鈕關(guān)閉選擇表,確認(rèn)所做的修改。步驟如下:</p><p> (1)、打開“學(xué)生信息管理”項(xiàng)目,然后在管理器窗口單擊“文件”選項(xiàng)卡,選擇“新建”并選擇文件類型“表單”新建,建立一個(gè)表單并保存在“D:\學(xué)生信息管理”目錄下,文件名為“維護(hù).SCX”。</p><p> ?。?)、設(shè)計(jì)如圖一的表單,首先添加一個(gè)標(biāo)簽控件,Caption屬性為“系統(tǒng)
54、數(shù)據(jù)維護(hù)”,Alignment屬性為“2-中央”,F(xiàn)ontname屬性為“華文行楷”。</p><p> ?。?)、在標(biāo)簽控件下方添加一個(gè)容器控件Container1,在容器控件里添加一個(gè)標(biāo)簽、一個(gè)選項(xiàng)按鈕組OptionGroup1和一個(gè)命令按鈕Command1。標(biāo)簽控件的Caption屬性為“選擇維護(hù)對(duì)象”;選項(xiàng)按鈕組的Buttoncount屬性為4;命令按鈕的Caption屬性為“退出維護(hù)”。</p&g
55、t;<p> ?。?)、表單下方設(shè)置一個(gè)表格控件(Grid1),用于編輯不同表中的數(shù)據(jù),其Enabled屬性設(shè)置為“.F.”,RecordSouce屬性設(shè)置為“無(wú)”。</p><p> ?。?)、另外底部還有兩個(gè)按鈕:Command2(添加&刪除)和Command3(確認(rèn)&退出),并將Enabled屬性均設(shè)置成“.T.”,設(shè)定在數(shù)據(jù)表之前無(wú)效。</p><p>
56、; 圖二 系統(tǒng)數(shù)據(jù)維護(hù)表單</p><p> 選項(xiàng)按鈕組(OptionGroup1)的Click事件代碼:</p><p><b> Do Case</b></p><p> case ThisForm.Optiongroup1.Option1.Value=1</p><p> ThisForm.Grid1.R
57、ecordSource="student"</p><p> ThisForm.Grid1.Refresh &&刷新表格</p><p> case ThisForm.Optiongroup1.Option2.Value=1</p><p> ThisForm.Gri
58、d1.RecordSource="course"</p><p> ThisForm.Grid1.Refresh</p><p> case ThisForm.Optiongroup1.Option3.Value=1</p><p> T hisForm.Grid1.RecordSource="score"</p&
59、gt;<p> ThisForm.Grid1.Refresh</p><p> case ThisForm.Optiongroup1.Option4.Value=1</p><p> ThisForm.Grid1.RecordSource="Password"</p><p> ThisForm.Grid1.Refresh&
60、lt;/p><p><b> EndCase</b></p><p><b> 設(shè)置命令按鈕的邏輯</b></p><p> ThisForm.Command1.Enabled=.F. &&“退出維護(hù)”按鈕無(wú)效</p><p> This
61、Form.Command2.Enabled=.T. &&“添加&刪除”按鈕有效</p><p> ThisForm.Command3.Enabled=.T.&&“確認(rèn)&退出”按鈕有效</p><p> Command1(退出維護(hù))按鈕的Click事件代碼:</p><p>
62、; ThisForm.release</p><p> Do form SysScreen</p><p> Command2(添加&刪除)按鈕的Click事件代碼:</p><p> 設(shè)置表個(gè)相關(guān)屬性,從而實(shí)現(xiàn)在表格中直接添加、編輯和刪除記錄</p><p> ThisForm.Grid1.Enabled=.T.&
63、;&表格能夠相應(yīng)用戶引發(fā)的事件</p><p> ThisForm.Grid1.Allowaddnew=.T.&&允許添加新紀(jì)錄</p><p> ThisForm.Grid1.SetFocus</p><p> Command3(確認(rèn)&退出)按鈕的Click事件代碼:</p><p> 關(guān)閉當(dāng)前表,
64、更改表格相關(guān)屬性,拒絕更改操作</p><p> USE&&關(guān)閉當(dāng)前打開表</p><p> ThisForm.Grid1.Enabled=.F.</p><p> ThisForm.Grid1.Allowaddnew=.F.</p><p> ThisForm.Grid1.Recordsource="&q
65、uot;&&清除表格中的數(shù)據(jù)</p><p> ThisForm.Grid1.Refresh</p><p> ThisForm.Command1.Enabled=.T.</p><p> ThisForm.Command2.Enabled=.F.</p><p> ThisForm.Command3.Enabled
66、=.F.</p><p> 5、、統(tǒng)計(jì)模塊的設(shè)計(jì)</p><p> 統(tǒng)計(jì)模塊主要用于對(duì)學(xué)生的成績(jī)進(jìn)行統(tǒng)計(jì)。統(tǒng)計(jì)的方法有兩種:一是按學(xué)生個(gè)人進(jìn)行統(tǒng)計(jì),二是按單科進(jìn)行統(tǒng)計(jì)。</p><p> 在“學(xué)生信息管理”項(xiàng)目管理器中,單擊【文檔】選項(xiàng)卡。選擇【表單】選項(xiàng),新建一個(gè)表單并保存為D:\學(xué)生信息管理\統(tǒng)計(jì).SCX。在【表單設(shè)計(jì)器】窗口中,打開【數(shù)據(jù)環(huán)境】窗口,向數(shù)
67、據(jù)環(huán)境中添加student表\course表和score表。</p><p><b> 主要抓圖如下:</b></p><p> 右鍵,點(diǎn)擊“屬性”可以修改“Caption,Frontsize,AutoCenter,RowsourceType,Style,Value,ButtonCount”及事件代碼,通過(guò)右鍵,點(diǎn)擊“生成器”,設(shè)置“Option1”的“Capti
68、on1,2”及按鈕數(shù)目,在布局頁(yè)面中設(shè)置“水平方式”</p><p> 統(tǒng)計(jì)模塊的事件過(guò)程代碼:</p><p> ThisForm.OptionGroup1的Click事件代碼</p><p><b> Do CASE</b></p><p> case this.value=0</p><
69、p> thisform.Combol.RowSource=""</p><p> case this.value=1</p><p> thisform.Combol.Rowsource="Student.學(xué)號(hào)"</p><p> case this.value=2</p><p> t
70、hisform.Combol.Rowsource="Course.課程名稱"</p><p><b> ENDCASE</b></p><p> ThisForm.Combo1的InteractiveChange事件代碼</p><p><b> DO CASE</b></p>&l
71、t;p> case ThisForm.Optiongroup1.Value=1</p><p> XH=Alltrim(This.Value)</p><p> Select Score</p><p> Calculate Max(成績(jī)),Min(成績(jī)),Avg(成績(jī)),CNT();</p><p> For 學(xué)號(hào)=XH T
72、O A1,A2,A3,A4</p><p> ThisForm.Text1.value=Alltrim(STR(A1))</p><p> ThisForm.Text2.value=Alltrim(STR(A2))</p><p> ThisForm.Text3.value=Alltrim(STR(A3))</p><p> This
73、Form.Text4.value=Alltrim(STR(A4))</p><p> Case ThisForm.Optiongroup1.Value=2</p><p> KCMC=Alltrim(This.Value)</p><p> Select Course</p><p> Locate For 課程名稱=KCMC<
74、/p><p><b> KCBH=課程編號(hào)</b></p><p> Select Score</p><p> Calculate Max(成績(jī)),Min(成績(jī)),Avg(成績(jī)),CNT();</p><p> For 課程編號(hào)=KCBH TO A1,A2,A3,A4</p><p> T
75、hisForm.Text1.value=Alltrim(STR(A1))</p><p> ThisForm.Text2.value=Alltrim(STR(A2))</p><p> ThisForm.Text3.value=Alltrim(STR(A3))</p><p> ThisForm.Text4.value=Alltrim(STR(A4))<
76、/p><p><b> ENDCASE</b></p><p> 表單Form1的Init的事件代碼</p><p> Set Talk Off</p><p> Commad1的Click事件代碼</p><p> ThisForm.release</p><p>
77、 Do form SysScreen</p><p><b> 5、打印模塊的設(shè)計(jì)</b></p><p> 打印報(bào)表不僅可以直接從打印機(jī)上輸出報(bào)表,而且還提供預(yù)覽操作方式。</p><p> 在“學(xué)生信息管理”項(xiàng)目管理器窗口中,單擊【文檔】選項(xiàng)卡,選擇【表單】選項(xiàng),新建一個(gè)表單并保存在“D:\學(xué)生信息管理”目錄下,文件名為“打印.SC
78、X”。在【表單設(shè)計(jì)器窗】口中,打開【數(shù)據(jù)環(huán)境】窗口。向數(shù)據(jù)環(huán)境中添加student表、course表和score表,,設(shè)置表單及表單控件對(duì)象的主要屬性(詳見下表)。</p><p> 單擊新建,新建一張表單,右擊表單,在彈出的快捷菜單中,點(diǎn)擊數(shù)據(jù)環(huán)境,添加student表、course表和scorce表,再單擊屬性,按照上面的表格添加屬性值。</p><p> 打印模塊的事件過(guò)程的代碼
79、:</p><p> commandgroup.command1按鈕的click事件代碼:</p><p> if thisform.check1.value=1</p><p> Zy=Alltrim(Thisform.combo1.value)</p><p> Set Filter to student.專業(yè)=Zy</p&
80、gt;<p> Report Form 專業(yè)報(bào)表 To Preview &&打印預(yù)覽</p><p><b> endif</b></p><p> if thisform.check2.value=1</p><p> kcmc=Alltrim(thisform.combo2.value)</p&
81、gt;<p> select course</p><p> locate for 課程名稱=kcmc</p><p><b> kcbh=課程編號(hào)</b></p><p> select score</p><p> Set Filter to 課程編號(hào)=kcbh</p><
82、p> Report form 成績(jī)報(bào)表 TO Preview &&打印預(yù)覽</p><p><b> endif</b></p><p> thisform.check1.value=0</p><p> thisform.check2.value=0</p><p> commandg
83、roup.command2按鈕的click事件代碼:</p><p> if thisform.check1.value=1</p><p> Zy=Alltrim(thisform.combo1.value)</p><p> select student</p><p> Set Filter to student.專業(yè)=Zy&l
84、t;/p><p> Report Form 專業(yè)報(bào)表 To Printer &&打印</p><p><b> endif</b></p><p> if thisform.check2.value=1</p><p> kcmc=Alltrim(thisform.combo2.value)<
85、;/p><p> select course</p><p> locate for 課程名稱=kcmc</p><p><b> kcbh=課程編號(hào)</b></p><p> select score</p><p> Set Filter to 課程編號(hào)=kcbh</p>
86、<p> Report Form 成績(jī)報(bào)表 To printer &&打印</p><p><b> Endif</b></p><p> commandgroup.command3按鈕的click事件代碼:</p><p> thisform.release</p><p> D
87、o form D:\學(xué)生信息管理\SysScreen</p><p> 四、設(shè)計(jì)主程序及連編</p><p> 1、應(yīng)用系統(tǒng)的主程序</p><p> 開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序時(shí),在完成了各個(gè) 功能模塊的設(shè)計(jì)之后,應(yīng)為整個(gè)應(yīng)用系統(tǒng)設(shè)計(jì)一個(gè)啟動(dòng)程序文件(又稱主程序)。主程序文件通常可以是一個(gè)程序文件.PRG)、一個(gè)表單文件(.SCX)或者是一個(gè) 菜單程序文件,主程序文
88、件在整個(gè)系統(tǒng)中的作用:</p><p> 2、主程序的設(shè)計(jì)(xscjmain.prg)</p><p> set talk off</p><p><b> clear all</b></p><p><b> close all</b></p><p> set
89、safety off</p><p> set exclusive on &&以獨(dú)享方式打開數(shù)據(jù)表、數(shù)據(jù)結(jié)構(gòu)非只讀 </p><p> _screen.autocenter=.t. &&居中</p><p> _screen.windowstate=2 &&窗口最大化 _screen系統(tǒng)變量
90、</p><p> do form 主界面.scx &&執(zhí)行系統(tǒng)登錄界面</p><p> read events</p><p> set talk on </p><p> 最后在[代碼]選項(xiàng)卡中選擇Main.prg文件,然后單擊鼠標(biāo)右鍵,設(shè)[設(shè)置主文件]命令,便可將其設(shè)置為主文件。</p>
91、<p> 五、應(yīng)程序的編譯和發(fā)布</p><p> 應(yīng)用程序的編譯與發(fā)布</p><p> 項(xiàng)目文件創(chuàng)建完畢后,可在Visual FoxPro環(huán)境中直接運(yùn)行。若要脫離Visual FoxPro環(huán)境而在Windows平臺(tái)上運(yùn)行,則需要將其連編成“.exe”文件。</p><p><b> 連編應(yīng)用程序</b></p>
92、<p> (1)、打開項(xiàng)目,在項(xiàng)目管理器中選擇主程序,單擊“連編(D)…”按鈕,打開如圖</p><p> ?。?)、在“連編選項(xiàng)”對(duì)話框中選擇“連編可執(zhí)行文件”選項(xiàng)、“重新編譯全部文件”和“重新生成組件”選項(xiàng),最后單擊“確定”按鈕即可。</p><p><b> 發(fā)布應(yīng)用程序</b></p><p> 應(yīng)用程序的發(fā)布可借助
93、于系統(tǒng)提供的“安裝向?qū)А?,要啟?dòng)安裝向?qū)Э蓤?zhí)行系統(tǒng)菜單中【工具】—>【向?qū)А俊?gt;【安裝】菜單命令?!皩W(xué)生信息管理系統(tǒng)”應(yīng)用程序的發(fā)布過(guò)程如下:</p><p><b> 制定發(fā)布目錄</b></p><p> 啟動(dòng)安裝向?qū)?,則出現(xiàn)Visual FoxPro【安裝向?qū)А繉?duì)話框,如圖</p><p> 提示用戶指定要發(fā)布的應(yīng)用程序
94、所在的目錄樹。</p><p> 在該對(duì)話框中單擊【發(fā)布樹目錄】右側(cè)的對(duì)話框按鈕【…】,在彈出的對(duì)話框中指定要發(fā)布的目錄。</p><p> 選擇所包含的系統(tǒng)組件</p><p> 單擊【下一步】按鈕,則出現(xiàn)【指定組件】對(duì)話框,如圖:</p><p> 在該對(duì)話框中選擇所包含的系統(tǒng)組件的向?qū)?,指定?yīng)用程序使用或支持的系統(tǒng)組件</
95、p><p><b> 指定磁盤映像</b></p><p> 選擇完發(fā)布程序所包含的系統(tǒng)組建后,單擊【下一步】按鈕,則出現(xiàn)【磁盤映像】對(duì)話框,用來(lái)設(shè)置磁盤映像目錄和規(guī)格,如圖:</p><p> 在該對(duì)話框中設(shè)置發(fā)布的應(yīng)用程序所使用的磁盤規(guī)格和磁盤映像存放的目錄。</p><p><b> 設(shè)置安裝選項(xiàng)&l
96、t;/b></p><p> 設(shè)置磁盤映像目錄和規(guī)格后,單擊【下一步】按鈕,則出現(xiàn)【安裝選項(xiàng)】對(duì)話框,如圖:</p><p> 在該對(duì)話框中指定發(fā)布應(yīng)用程序所使用的安裝選項(xiàng)。</p><p> 設(shè)置軟件安裝目錄和組名</p><p> 設(shè)置完安裝選項(xiàng)之后,單擊【下一步】按鈕,則出現(xiàn)【默認(rèn)目標(biāo)目錄】對(duì)話框,如圖:</p>
97、;<p> 在該對(duì)話框中指定應(yīng)用程序所要安裝的目錄及程序管理器的組名</p><p><b> 改變文件的設(shè)置</b></p><p> 設(shè)置好軟件安裝目錄和安裝組名后,單擊【下一步】按鈕,則出現(xiàn)【改變文件設(shè)置】對(duì)話框,如圖:</p><p> 在該對(duì)話框中,安裝向?qū)Я谐隽藨?yīng)用程序系統(tǒng)所包括的所有文件,可以通過(guò)單機(jī)的方式改
98、變文件的安裝設(shè)置。</p><p><b> 完成</b></p><p> 在改變文件設(shè)置對(duì)話框中,單擊【下一步】按鈕,安裝向?qū)?huì)記錄下所有的設(shè)置值,如圖,顯示安裝程序的配置工作已經(jīng)完成。</p><p> 單擊【完成】按鈕,即開始創(chuàng)建應(yīng)用程序系統(tǒng)的磁盤映像。</p><p><b> 六、 總結(jié)&l
99、t;/b></p><p> 報(bào)告做到這里,也就意味著此次VFP課程設(shè)計(jì)快大功告成了。總體的感覺是好累,課程設(shè)計(jì)好難,但是,辛苦是值得的。</p><p> 經(jīng)過(guò)一周的課設(shè),可謂是受益匪淺啊。以前上課時(shí),雖然也聽講,以為是聽懂了,就自已為是。但是這次課程設(shè)計(jì)使我知道了自己所掌握知識(shí)的淺薄,由于很多基礎(chǔ)知識(shí)沒(méi)有掌握,在做整個(gè)程序的過(guò)程中,讓我覺得課程設(shè)計(jì)好難,課程設(shè)計(jì)不僅要求我們掌
100、握扎實(shí)的數(shù)據(jù)庫(kù)知識(shí),而且還要我們做課設(shè)時(shí)一絲不茍。剛開始做課程設(shè)計(jì)時(shí),好象什么也不會(huì)做,需要用到很多VFP知識(shí),在者時(shí)間的緊張,所以覺得這個(gè)任務(wù)很難完成。但慢慢地,到圖書館、網(wǎng)上甚至請(qǐng)教老師和同學(xué),還有上機(jī)實(shí)驗(yàn),在完成一個(gè)小小的表單設(shè)計(jì)或是整個(gè)運(yùn)行系統(tǒng)設(shè)計(jì)之后,那種感覺蠻好的,很有成就感,才發(fā)現(xiàn)原來(lái)只要努力,只要用心學(xué)習(xí),就能一項(xiàng)看上去很難的任務(wù)??吹阶约盒量嗯ν瓿傻某绦蛟O(shè)計(jì),即使辛苦也是值得的。如果沒(méi)有讓我們每個(gè)人都親自嘗試去完成一
101、個(gè)程序的設(shè)計(jì),也許我們都不會(huì)自覺地去學(xué)習(xí),研究平時(shí)讓我們頭痛的文字。經(jīng)過(guò)這次實(shí)踐真正把知識(shí)用在了實(shí)踐中。這次實(shí)踐讓我收獲頗多。程序是一個(gè)很嚴(yán)謹(jǐn)?shù)臇|西,絲毫不能馬虎,馬虎就出問(wèn)題。</p><p><b> 參考文獻(xiàn):</b></p><p> 崔建忠、單啟成 .Visual FoxPro教程【M】.蘇州大學(xué)出版社</p><p> 嚴(yán)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)---個(gè)人事物管理數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--數(shù)據(jù)庫(kù)原理及應(yīng)用課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)---教室管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)
- 《數(shù)據(jù)庫(kù)原理與應(yīng)用》課程設(shè)計(jì)報(bào)告--倉(cāng)庫(kù)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)---圖書管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
- 《數(shù)據(jù)庫(kù)原理》課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)報(bào)告--工資管理系統(tǒng)
- 數(shù)據(jù)庫(kù)原理delphi課程設(shè)計(jì)報(bào)告---旅館管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--數(shù)據(jù)庫(kù)系統(tǒng)原理
- 《數(shù)據(jù)庫(kù)原理及應(yīng)用》課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)庫(kù)原理與應(yīng)用課程設(shè)計(jì)---bbs論壇數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)報(bào)告---工資管理系統(tǒng)設(shè)計(jì)
- 《數(shù)據(jù)庫(kù)原理與設(shè)計(jì)》課程設(shè)計(jì)---工廠管理系統(tǒng)
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)---題庫(kù)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)-- 庫(kù)存管理系統(tǒng)
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)——倉(cāng)庫(kù)管理系統(tǒng)
- 數(shù)據(jù)庫(kù)原理課程設(shè)計(jì)---學(xué)籍管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論