2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論