課程設(shè)計——學(xué)生信息管理系統(tǒng)_第1頁
已閱讀1頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p><b>  一、背景2</b></p><p>  二、課題組成員及本人任務(wù)3</p><p><b>  1.課題組成員3</b></p><p><b>  2.本人任務(wù)3</b>&l

2、t;/p><p><b>  三、需求分析3</b></p><p>  四、概念結(jié)構(gòu)設(shè)計4</p><p>  五、邏輯結(jié)構(gòu)設(shè)計5-6</p><p>  六、系統(tǒng)功能設(shè)計6-25</p><p><b>  1.系統(tǒng)功能6</b></p><p&

3、gt;  2.程序流圖7-8</p><p>  3.程序代碼9-25</p><p>  七、設(shè)計總結(jié)26-27</p><p><b>  八、參考文獻(xiàn)27</b></p><p><b>  一、背景 </b></p><p>  學(xué)生信息管理系統(tǒng)是高校都必須面

4、對的工作,特別是近幾年,隨著國家的調(diào)整,我國高等院校大面積擴招,給高等院校的教學(xué)管理、學(xué)生管理、后勤管理等方面都帶來了不少的沖擊。特別是對于學(xué)校的決策者和管理者來說學(xué)生信息管理工作是至關(guān)重要的,但一直以來人們使用傳統(tǒng)的人工方式管理文件檔案,這種管理方式存在著許多缺點,如:效率底、保密性差,另外隨著學(xué)生數(shù)量的增加,其工作量也大大增加,這必然增加了學(xué)生檔案管理者的工作量和勞動程度,同時將產(chǎn)生大量的文件和數(shù)據(jù),這給學(xué)生信息的查找、更新和維護(hù)都

5、帶來了不少困難。據(jù)調(diào)查,目前我國各類高等院校中還有相當(dāng)一部分學(xué)生檔案管理還停留在紙介質(zhì)的基礎(chǔ)上,尤其是中、小學(xué)對學(xué)生檔案的管理更是落后,這樣的管理機制已經(jīng)不能適應(yīng)時代發(fā)展的需要,其管理方法將浪費許多人力和物力。隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)與技術(shù)的不斷成熟,計算機應(yīng)用的普及,計算機已進(jìn)入人類社會生活的各個領(lǐng)域,并發(fā)揮著越來越重要的作用。這種傳統(tǒng)的手工管理模式必然被計算機為基礎(chǔ)的信息管理方面所取代。</p><p&

6、gt;  作為計算機應(yīng)用的一部分,使用計算機對學(xué)生檔案信息進(jìn)行管理,有著手工管理所無法比擬的優(yōu)點,如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學(xué)生檔案管理的效率,也是學(xué)校向科學(xué)化、正規(guī)化管理發(fā)展的必要條件,更是各個高等院校與世界接軌的重要條件。</p><p>  因此,開發(fā)一套能夠為用戶提供充足的信息和快捷的查詢手段的學(xué)生信息管理系統(tǒng),將是非常必要的,也是十分及

7、時的。借此機會利用以掌握的數(shù)據(jù)庫知識,結(jié)合實際應(yīng)用,開發(fā)一個小小的學(xué)生信息管理系統(tǒng),將其作為網(wǎng)絡(luò)程序設(shè)計課程的設(shè)計課題。</p><p>  課題組成員及本人任務(wù)</p><p><b>  成員:李慧琴</b></p><p>  本人任務(wù):學(xué)生基本信息的查詢及維護(hù);學(xué)生成績的查詢及維護(hù);學(xué)生所學(xué)課程的信息查詢與維護(hù);各系信息查詢及維護(hù)。&l

8、t;/p><p><b>  三、需求分析</b></p><p>  隨著上學(xué)期對數(shù)據(jù)庫原理的學(xué)習(xí),也經(jīng)過多方面的參考和分析,我使用了Microsoft Visual FoxPro 6.0編譯工具做一個簡單的編程,使用它可以建立開發(fā)比較完善的數(shù)據(jù)庫操作應(yīng)用程序,我所選擇的是Microsoft Visual FoxPro 6.0來編寫一個學(xué)生信息管理系統(tǒng),</p&g

9、t;<p>  本系統(tǒng)要求的主要功能是信息的存儲、查詢和維護(hù),以及實現(xiàn)檔案管理和成績管理等。</p><p>  在本系統(tǒng)中要管理的信息主要有:學(xué)生信息、課程信息、成績信息和各系信息等。因此本系統(tǒng)一共需要3張:學(xué)生表、課程表、成績表和系名表。</p><p>  學(xué)生表包括的內(nèi)容有:學(xué)號、姓名、性別、出生日期、政治面貌、籍貫、備注、相片和系號等。</p><

10、;p>  課程表包括的內(nèi)容有:課號、課程號、學(xué)時、學(xué)分和是否必修棵等。</p><p>  成績表包括的內(nèi)容有:學(xué)號、課號和成績等。</p><p>  系名表包括的內(nèi)容有:系號、系名和聯(lián)系電話等。</p><p>  在學(xué)生表中以學(xué)號作為關(guān)鍵字段,保證每個學(xué)生的學(xué)號是唯一的;程表以課號為關(guān)鍵字,課號要求是唯一的;成績表包括學(xué)號、課號和成績,通過學(xué)號字段與學(xué)生

11、表相關(guān)聯(lián),通過課號與課程表關(guān)聯(lián);系名表以系號作為關(guān)鍵字,系號要求是唯一的,這是主要的四張數(shù)據(jù)庫表。</p><p>  在數(shù)據(jù)庫的需求分析完成之后。下面來進(jìn)行數(shù)據(jù)庫概念設(shè)計。</p><p><b>  四、概念結(jié)構(gòu)設(shè)計</b></p><p>  Student(學(xué)生表)(學(xué)號、姓名、性別、出生日期、政治面貌、籍貫、備注、相片、系號)<

12、/p><p>  Course(課程表)(課號、課程名、學(xué)時、學(xué)分、是否必修課)</p><p>  Depart(系名表)(系號、系名、聯(lián)系電話)</p><p><b>  全局E—R圖</b></p><p><b>  五、邏輯結(jié)構(gòu)設(shè)計</b></p><p>  通過上

13、面的分析,本系統(tǒng)需要的數(shù)據(jù)表有5個:student(學(xué)生表)、course(課程表)、depart(系名表)、score(成績表)和adminer(密碼表),分別如表5—1、5—2、5—3、5—4和5—5所示。</p><p><b>  表5—1學(xué)生表結(jié)構(gòu)</b></p><p><b>  表5—2課程表結(jié)構(gòu)</b></p>&

14、lt;p><b>  表5—3系名表結(jié)構(gòu)</b></p><p><b>  表5—4成績表結(jié)構(gòu)</b></p><p><b>  表5—5密碼表結(jié)構(gòu)</b></p><p>  E—R圖向關(guān)系模型的轉(zhuǎn)換后的關(guān)系模式如下:</p><p>  Student(學(xué)生表)(

15、學(xué)號、姓名、性別、出生日期、政治面貌、籍貫、備注、相片、系號)</p><p>  Course(課程表) (課號、課程名、學(xué)時、學(xué)分、是否必修課)</p><p>  Score(成績表) (學(xué)號、課號、成績)</p><p>  Depart(系名表) (系號、系名、聯(lián)系電話)</p><p><b>  系統(tǒng)功能設(shè)計<

16、/b></p><p><b>  1、系統(tǒng)功能</b></p><p>  本系統(tǒng)主要功能分別通過主菜單中的以下各項來實現(xiàn):</p><p>  通過“系統(tǒng)”菜單實現(xiàn)重新登陸、密碼修改、注冊的;</p><p>  通過“查詢”菜單實現(xiàn)對學(xué)生信息、課程信息、成績和各系信息的查詢;</p><p

17、>  通過“維護(hù)”菜單實現(xiàn)對學(xué)生信息、課程信息、學(xué)生成績和各系信息的添加、修改和刪除等操作;</p><p>  通過“打印報表”實現(xiàn)對學(xué)生信息、課程信息、成績和各系信息的總瀏覽;</p><p>  通過“幫助”菜單實現(xiàn)操作提示、版權(quán)聲明;</p><p>  通過“退出”菜單退出本系統(tǒng)</p><p><b>  程序流圖

18、</b></p><p><b>  3、程序代碼</b></p><p>  封面(cover.scx)窗體:</p><p>  表單由兩個“標(biāo)簽”控件和“兩個計時器”組成:</p><p>  1.1在Timer1(interval屬性值為10000)的timer時間中添加如下響應(yīng)代碼:</p&g

19、t;<p>  thisform.release</p><p>  messagebox("默認(rèn)用戶名admin,密碼admin",0,"用戶提示")</p><p>  do form password.scx </p><p>  1.2在Timer2(interval屬性值為200)的timer時間中添加

20、如下響應(yīng)代碼:</p><p>  if thisform.label2.left+thisform.label2.width<0</p><p>  thisform.label2.left=thisform.width</p><p><b>  else</b></p><p>  thisform.labe

21、l2.left=thisform.label2.left-30</p><p><b>  endif</b></p><p>  thisform.refresh()</p><p>  用戶登陸(password.scx)窗體:</p><p>  表單由兩個標(biāo)簽控件和兩個文本框和兩個命令按鈕組成:</p>

22、;<p>  2.1在表單Form1的Init事件中添加如下響應(yīng)代碼:</p><p>  Public n &&宣告n為全局內(nèi)存變量</p><p>  n=0 &&設(shè)置n的初值為零</p><p>  2.2在命令按鈕“確定”中添加如下響應(yīng)代碼:</p><p><b>

23、;  n=n+1</b></p><p>  czy=Alltrim(ThisForm.Text1.value)</p><p>  mm=Alltrim(ThisForm.Text2.value)</p><p>  USE adminer &&打開事先創(chuàng)建好的管理員表</p><p

24、>  IF empty(ThisForm.Text1.value).or.empty(ThisForm.Text2.value)</p><p>  messagebox("用戶名或密碼不能為空",0,"提示")</p><p>  thisform .Refresh</p><p>  ThisForm.Text1.V

25、alue=''</p><p>  ThisForm.Text1.Setfocus</p><p>  ThisForm.text2.Value=''</p><p>  ThisForm.Text2.Setfocus</p><p><b>  ELSE</b></p>&

26、lt;p>  LOCATE FOR 注冊名=czy &&注冊名為管理員表中的字段</p><p>  If Found().and.密碼=mm &&密碼也為管理員表中的字段</p><p><b>  USE</b></p><p>  ThisForm.release</

27、p><p><b>  Release n</b></p><p>  DO FORM choose.scx</p><p><b>  ELSE </b></p><p><b>  IF n<3</b></p><p>  Messagebox(&

28、quot;用戶名不存在或密碼不正確,請重新輸入!",0,"輸入錯誤")</p><p>  ThisForm.Text1.Value="" </p><p>  ThisForm.Text2.Value=""</p><p>  ThisForm.Text1.setfocus &&a

29、mp;把文本框置空</p><p><b>  ELSE</b></p><p>  ThisForm.release</p><p><b>  Release n</b></p><p>  Clear Events</p><p><b>  ENDIF<

30、;/b></p><p><b>  USE</b></p><p><b>  ENDIF</b></p><p><b>  ENDIF</b></p><p>  2.3在命令按鈕“退出”中添加如下響應(yīng)代碼:</p><p><b>

31、;  CLOSE ALL</b></p><p>  RELEASE ALL</p><p>  thisform.Release</p><p>  選擇(choose.scx)窗體</p><p>  表單由兩個命令按鈕組成:</p><p>  3.1在命令按鈕“學(xué)生信息查詢登陸”中添加如下響應(yīng)代碼:

32、</p><p>  do main.mpr &&運行菜單mian</p><p>  thisform.release</p><p>  3.2在命令按鈕“學(xué)生信息查詢維護(hù)”中添加如下響應(yīng)代碼</p><p>  do main1.mpr &&運行菜單main1</p><p&g

33、t;  thisform.release</p><p>  學(xué)生信息查詢(query.scx)窗體:</p><p>  表單由一個命令按鈕、一個組合框和一個表格組成:</p><p>  4.1在Form1的Init事件中添加如下響應(yīng)代碼:</p><p>  public temp &&定義全局變量</p>

34、;<p>  thisform.combo1.additem("學(xué)號") &&初始化組合框</p><p>  thisform.combo1.additem("姓名")</p><p>  thisform.combo1.additem("性別")</p><p>  t

35、hisform.combo1.additem("出生日期")</p><p>  thisform.combo1.additem("政治面貌")</p><p>  thisform.combo1.additem("籍貫")</p><p>  thisform.combo1.value=1</p&g

36、t;<p>  4.2在命令按鈕“查詢”添加如下響應(yīng)代碼:</p><p>  if empty(thisform.text1.value)</p><p>  messagebox("查詢值不能為空!",0,"警告")</p><p><b>  else</b></p>&

37、lt;p>  if thisform.combo1.text="學(xué)號" &&按學(xué)號查詢</p><p>  select * from student;</p><p>  where alltrim(student.學(xué)號)=alltrim(thisform.text1.value);</p><p>  order by

38、 student.學(xué)號;</p><p>  into cursor temp</p><p>  thisform.grid1.recordsource=temp</p><p><b>  endif </b></p><p>  if thisform.combo1.text="姓名" &am

39、p;&按姓名查詢</p><p>  select * from student;</p><p>  where alltrim(student.姓名)=alltrim(thisform.text1.value);</p><p>  order by student.學(xué)號;</p><p>  into cursor temp&l

40、t;/p><p>  thisform.grid1.recordsource=temp</p><p><b>  endif </b></p><p>  if thisform.combo1.text="性別" &&按性別查詢</p><p>  select * from stu

41、dent;</p><p>  where alltrim(student.性別)=alltrim(thisform.text1.value);</p><p>  order by student.學(xué)號;</p><p>  into cursor temp</p><p>  thisform.grid1.recordsource=tem

42、p</p><p><b>  endif </b></p><p>  if thisform.combo1.text="出生日期" &&按出生日期查詢</p><p>  select * from student;</p><p>  where alltrim(student

43、.出生日期)=alltrim(thisform.text1.value);</p><p>  order by student.學(xué)號;</p><p>  into cursor temp</p><p>  thisform.grid1.recordsource=temp</p><p><b>  endif </b&g

44、t;</p><p>  if thisform.combo1.text="政治面貌" &&按政治面貌查詢</p><p>  select * from student;</p><p>  where alltrim(student.政治面貌)=alltrim(thisform.text1.value);</p>

45、<p>  order by student.學(xué)號;</p><p>  into cursor temp</p><p>  thisform.grid1.recordsource=temp</p><p><b>  endif </b></p><p>  if thisform.combo1.tex

46、t="籍貫" &&按籍貫查詢</p><p>  select * from student;</p><p>  where alltrim(student.籍貫)=alltrim(thisform.text1.value);</p><p>  order by student.學(xué)號;</p><p&

47、gt;  into cursor temp</p><p>  thisform.grid1.recordsource=temp</p><p><b>  endif </b></p><p><b>  endif</b></p><p>  課程信息查詢(course_q.scx)窗體:<

48、;/p><p>  表單由一個命令按鈕、一個組合框和一個表格組成:</p><p>  5.1在Form1的Init事件中添加如下響應(yīng)代碼:</p><p>  public temp &&定義全局變量</p><p>  thisform.combo1.value=1</p><p>  5.2在

49、命令按鈕“查詢”添加如下響應(yīng)代碼:</p><p>  if empty(thisform.text1.value)</p><p>  messagebox("查詢值不能為空!",0,"警告")</p><p>  thisform.refresh</p><p><b>  else<

50、;/b></p><p>  if thisform.combo1.text="課號" &&按課號查詢</p><p>  select * from course;</p><p>  where alltrim(course.課號)=alltrim(thisform.text1.value);</p>

51、<p>  order by course.課號; &&按課號排序</p><p>  into cursor temp</p><p>  thisform.grid1.recordsource=temp</p><p>  thisform.refresh</p><p><b>  endif

52、</b></p><p>  if thisform.combo1.text="課程名" &&按課程名查詢</p><p>  select * from course;</p><p>  where alltrim(course.課程名)=alltrim(thisform.text1.value);</p&

53、gt;<p>  order by course.課號;</p><p>  into cursor temp</p><p>  thisform.grid1.recordsource=temp</p><p>  thisform.refresh</p><p><b>  endif</b></

54、p><p>  if thisform.combo1.text="是否必修課" &&按課程類型查詢</p><p>  select * from course;</p><p>  where alltrim(course.是否必修課)=alltrim(thisform.text1.value);</p><p

55、>  order by course.課號;</p><p>  into cursor temp</p><p>  thisform.grid1.recordsource=temp</p><p>  thisform.refresh</p><p><b>  endif </b></p>&l

56、t;p>  if thisform.combo1.text="授課老師" &&按授課老師查詢</p><p>  select * from course;</p><p>  where alltrim(course.授課老師)=alltrim(thisform.text1.value);</p><p>  orde

57、r by course.課號;</p><p>  into cursor temp</p><p>  thisform.grid1.recordsource=temp</p><p>  thisform.refresh</p><p><b>  endif </b></p><p><

58、;b>  endif</b></p><p>  學(xué)生成績查詢(score_q.scx)窗體:</p><p>  表單由一個命令按鈕、一個組合框和一個表格組成:</p><p>  6.1在Form1的Init事件中添加如下響應(yīng)代碼:</p><p>  public temp &&定義全局變量<

59、;/p><p>  thisform.combo1.additem("學(xué)號")</p><p>  thisform.combo1.additem("課號")</p><p>  thisform.combo1.value=1</p><p>  6.2在命令按鈕“查詢”添加如下響應(yīng)代碼:</p>

60、;<p>  if empty(thisform.text1.value)</p><p>  messagebox("查詢值不能為空!",0,"警告")</p><p><b>  else</b></p><p>  if thisform.combo1.text="學(xué)號&qu

61、ot; &&按學(xué)號查詢</p><p>  select * from score;</p><p>  where alltrim(score.學(xué)號)=alltrim(thisform.text1.value);</p><p>  order by score.學(xué)號;</p><p>  into cursor temp

62、</p><p>  thisform.grid1.recordsource=temp</p><p><b>  endif </b></p><p>  if thisform.combo1.text="課號" &&按課號查詢</p><p>  select * from s

63、core;</p><p>  where alltrim(score.課號)=alltrim(thisform.text1.value);</p><p>  order by score.學(xué)號;</p><p>  into cursor temp</p><p>  thisform.grid1.recordsource=temp<

64、;/p><p><b>  endif </b></p><p><b>  endif</b></p><p>  各系信息查詢(depart_q.scx)窗體:</p><p>  表單由一個命令按鈕、一個組合框和一個表格組成:</p><p>  7.1在Form1的Ini

65、t事件中添加如下響應(yīng)代碼:</p><p>  public temp</p><p>  thisform.combo1.additem("系號")</p><p>  thisform.combo1.additem("系名")</p><p>  thisform.combo1.additem(&q

66、uot;聯(lián)系電話")</p><p>  thisform.combo1.value=1</p><p>  7.2在命令按鈕“查詢”添加如下響應(yīng)代碼:</p><p>  if empty(thisform.text1.value)</p><p>  messagebox("查詢值不能為空!",0,"

67、;警告")</p><p><b>  else</b></p><p>  if thisform.combo1.text="系號" &&按系號查詢</p><p>  select * from depart;</p><p>  where alltrim(depar

68、t.系號)=alltrim(thisform.text1.value);</p><p>  order by depart.系號;</p><p>  into cursor temp</p><p>  thisform.grid1.recordsource=temp</p><p><b>  endif </b>

69、</p><p>  if thisform.combo1.text="系名" &&按系名查詢</p><p>  select * from depart;</p><p>  where alltrim(depart.系名)=alltrim(thisform.text1.value);</p><p>

70、;  order by depart.系號;</p><p>  into cursor temp</p><p>  thisform.grid1.recordsource=temp</p><p><b>  endif </b></p><p>  if thisform.combo1.text="聯(lián)系電

71、話" &&按聯(lián)系方式查詢</p><p>  select * from depart;</p><p>  where alltrim(depart.聯(lián)系電話)=alltrim(thisform.text1.value);</p><p>  order by depart.系號;</p><p>  into

72、cursor temp</p><p>  thisform.grid1.recordsource=temp</p><p><b>  endif </b></p><p><b>  endif</b></p><p>  學(xué)生信息維護(hù)(maintain.scx)窗體:</p>&

73、lt;p>  表由一個類和六個命令按鈕組成:</p><p>  8.1在Form1的Init事件中添加如下響應(yīng)代碼:</p><p>  thisform.text2.ReadOnly=.T. &&設(shè)定文本框的屬性為只讀</p><p>  thisform.text3.ReadOnly=.T.</p><p>

74、  thisform.text4.ReadOnly=.T.</p><p>  thisform.text5.ReadOnly=.T.</p><p>  thisform.text6.ReadOnly=.T.</p><p>  thisform.text7.ReadOnly=.T.</p><p>  thisform.text8.Rea

75、dOnly=.T.</p><p>  thisform.edit1.ReadOnly=.T.</p><p>  thisform.bc.Enabled=.F. </p><p>  thisform.refresh</p><p>  use student.dbf excl &&以獨占

76、方式打開表</p><p>  8.2在“開始搜索”命令按鈕中添加如下響應(yīng)代碼:</p><p>  cz=ALLtrim(ThisForm.Text1.Value)</p><p><b>  n=Recno()</b></p><p><b>  GO TOP</b></p>&l

77、t;p><b>  SCAN </b></p><p>  IF student.學(xué)號=cz.OR.student.姓名=cz</p><p>  Thisform.text1.value=""</p><p>  Thisform.text1.setfocus &&把文本框的值設(shè)空</p&

78、gt;<p>  Thisform.refresh</p><p><b>  RETURN</b></p><p><b>  ENDIF</b></p><p><b>  ENDSCAN</b></p><p>  MessageBox("該學(xué)生不

79、存在!",0,"查找失??!")</p><p>  Go n &&將記錄指針指向原記錄</p><p>  Thisform.text1.value=""</p><p>  Thisform.text1.setfocus</p><p>  Thisf

80、orm.refresh</p><p>  8.3在命令按鈕“添加”中添加如下響應(yīng)代碼:</p><p>  go bottom &&指針指到表的最后一條記錄</p><p>  tempstr=val(student.學(xué)號)</p><p>  APPEND BLANK &

81、;&在表的最后添加一條空白記錄</p><p>  GO BOTTOM &&指向當(dāng)前新增加的記錄信息</p><p>  replace student.學(xué)號 WITH ALLTRIM(STR(tempstr+1))</p><p>  &&設(shè)置新記錄的主鍵值,即學(xué)生學(xué)號</p><p

82、>  thisform.tj.Enabled=.F.</p><p>  thisform.xg.Enabled=.F.</p><p>  thisform.sc.Enabled=.F.</p><p>  thisform.bc.Enabled=.T.</p><p>  thisform.text2.ReadOnly=.F.<

83、;/p><p>  thisform.text3.ReadOnly=.F.</p><p>  thisform.text4.ReadOnly=.F.</p><p>  thisform.text5.ReadOnly=.F.</p><p>  thisform.text6.ReadOnly=.F.</p><p>  

84、thisform.text7.ReadOnly=.F.</p><p>  thisform.text8.ReadOnly=.F.</p><p>  thisform.edit1.ReadOnly=.F.</p><p>  thisform.Refresh</p><p>  8.4在命令按鈕“修改”添加如下響應(yīng)代碼:</p>

85、<p>  thisform.tj.Enabled=.F.</p><p>  thisform.xg.Enabled=.F.</p><p>  thisform.sc.Enabled=.F.</p><p>  thisform.bc.Enabled=.T.</p><p>  thisform.text2.ReadOnly

86、=.F.</p><p>  thisform.text3.ReadOnly=.F.</p><p>  thisform.text4.ReadOnly=.F.</p><p>  thisform.text5.ReadOnly=.F.</p><p>  thisform.text6.ReadOnly=.F.</p><

87、p>  thisform.text7.ReadOnly=.F.</p><p>  thisform.text8.ReadOnly=.F.</p><p>  thisform.edit1.ReadOnly=.F.</p><p>  thisform.Refresh</p><p>  8.5在命令按鈕“刪除”中添加如下響應(yīng)代碼:&l

88、t;/p><p>  if messagebox("確認(rèn)要刪除此記錄嗎?",1,"確認(rèn)刪除")=1</p><p>  set exclusive on </p><p><b>  DELETE </b></p><p>  PACK &&把標(biāo)記從數(shù)據(jù)庫中物

89、理刪除</p><p>  set exclusive off</p><p><b>  endif</b></p><p>  thisform.refresh</p><p>  8.6在命令按鈕“保存”中添加如下響應(yīng)代碼:</p><p>  DIMENSION aaa(8)</p

90、><p>  aaa(1)=thisform.text2.Value</p><p>  aaa(2)=thisform.text3.Value</p><p>  aaa(3)=thisform.text4.Value</p><p>  aaa(4)=thisform.text5.Value</p><p>  aaa

91、(5)=thisform.text6.Value</p><p>  aaa(6)=thisform.text7.Value</p><p>  aaa(7)=thisform.text8.Value</p><p>  aaa(8)=thisform.Edit1.Value &&把表單中所有信息存儲到一個數(shù)組中</p><p&

92、gt;  replace student.學(xué)號 WITH aaa(1)</p><p>  replace student.姓名 WITH aaa(2)</p><p>  replace student.性別 WITH aaa(3)</p><p>  replace student.出生日期 WITH aaa(4)</p><p>  r

93、eplace student.籍貫 WITH aaa(5)</p><p>  replace student.政治面貌 WITH aaa(6)</p><p>  replace student.系號 WITH aaa(7)</p><p>  replace student.備注 WITH aaa(8) &&按字段分別替換表中數(shù)據(jù)信息</

94、p><p>  thisform .Refresh</p><p>  thisform.tj.Enabled=.T.</p><p>  thisform.xg.Enabled=.T.</p><p>  thisform.sc.Enabled=.T.</p><p>  thisform.bc.Enabled=.F.&

95、lt;/p><p>  thisform.text2.ReadOnly=.T.</p><p>  thisform.text3.ReadOnly=.T.</p><p>  thisform.text4.ReadOnly=.T.</p><p>  thisform.text5.ReadOnly=.T.</p><p>

96、  thisform.text6.ReadOnly=.T.</p><p>  thisform.text7.ReadOnly=.T.</p><p>  thisform.text8.ReadOnly=.T.</p><p>  thisform.edit1.ReadOnly=.T.</p><p>  &&重新設(shè)置表單的文

97、本框為只讀,等待下一次操作命令的激發(fā)</p><p>  MESSAGEBOX("數(shù)據(jù)保持成功",0+64,"學(xué)生信息管理")</p><p>  8.7在命令按鈕“退出”中添加如下響應(yīng)代碼:</p><p>  close table all &&關(guān)閉正在使用的表</p><p> 

98、 thisform.release</p><p>  課程信息維護(hù)(course_m.scx)窗體:</p><p>  其命令按鈕響應(yīng)代碼基本與“學(xué)生信息維護(hù)窗體”中的相同,這里就不在寫出了。 </p><p>  學(xué)生成績維護(hù)(score_m.scx)窗體:</p><p>  其命令按鈕響應(yīng)代碼基本與“學(xué)生信息維護(hù)窗體”中的相同,這里

99、就不在寫出了。 </p><p>  各系信息維護(hù)(depart_m.scx)窗體:</p><p>  其命令按鈕響應(yīng)代碼基本與“學(xué)生信息維護(hù)窗體”中的相同,這里就不在寫出了。 </p><p>  密碼修改(xgmm.scx)窗體:</p><p>  表單主要兩個命令按鈕組成:</p><p>  12.1在Fo

100、rm1的Init事件中添加如下響應(yīng)代碼:</p><p>  Public n &&宣告n為全局內(nèi)存變量</p><p>  n=0 &&設(shè)置n的初值為零</p><p>  12.2在命令按鈕“確定”中添加如下響應(yīng)代碼:</p><p>  DIMENSION aaa(1)</p>

101、<p><b>  n=n+1</b></p><p>  czy=Alltrim(ThisForm.Text1.value)</p><p>  mm=Alltrim(ThisForm.Text2.value)</p><p>  &&打開事先創(chuàng)建好的管理員表</p><p>  LOCA

102、TE FOR 注冊名=czy &&注冊名為管理員表中的字段</p><p>  If Found().and.密碼=mm &&密碼也為管理員表中的字段</p><p><b>  Release n</b></p><p>  IF Alltrim(ThisForm.Text3.value)=

103、Alltrim(ThisForm.Text4.value)</p><p>  aaa(1)=thisform.text3.Value</p><p>  &&把表單中所有信息存儲到一個數(shù)組中</p><p>  replace adminer.密碼 WITH aaa(1)</p><p>  &&按字段分別

104、替換表中數(shù)據(jù)信息</p><p>  MESSAGEBOX("密碼修改成功",0+64,"學(xué)生信息管理")</p><p>  ThisForm.release</p><p><b>  ELSE </b></p><p><b>  IF n<3</

105、b></p><p>  Messagebox("兩次密碼不一致,修改失??!",0,"輸入錯誤")</p><p>  ThisForm.Text1.Value=""</p><p>  ThisForm.Text2.Value=""</p><p>  T

106、hisForm.Text1.setfocus</p><p><b>  ELSE</b></p><p>  ThisForm.release</p><p><b>  Release n</b></p><p>  Clear Events</p><p><b&

107、gt;  ENDIF</b></p><p><b>  USE</b></p><p><b>  ENDIF</b></p><p><b>  ELSE </b></p><p><b>  IF n<3</b></p>

108、<p>  Messagebox("修改失敗,請重新輸入!",0,"輸入錯誤")</p><p>  ThisForm.Text1.Value=""</p><p>  ThisForm.Text2.Value=""</p><p>  ThisForm.Text3.Val

109、ue=""</p><p>  ThisForm.Text4.Value=""</p><p>  ThisForm.Text1.setfocus</p><p>  ThisForm.Text2.setfocus</p><p>  ThisForm.Text3.setfocus</p>

110、<p>  ThisForm.Text4.setfocus</p><p><b>  ELSE</b></p><p>  ThisForm.release</p><p><b>  Release n</b></p><p>  Clear Events</p>&l

111、t;p><b>  ENDIF</b></p><p><b>  USE</b></p><p><b>  ENDIF</b></p><p>  12.3在命令按鈕“退出”中添加如下響應(yīng)代碼:</p><p>  thisform.Release</p>

112、<p>  注冊(zc.scx)窗體:</p><p>  表單主要兩個命令按鈕組成:</p><p>  13.1在Form1的Init事件中添加如下響應(yīng)代碼:</p><p>  Public n &&宣告n為全局內(nèi)存變量</p><p>  n=0 &&設(shè)置n的初值為零</p

113、><p>  13.2在命令按鈕“確定”中添加如下響應(yīng)代碼:</p><p>  DIMENSION aaa(2)</p><p>  aaa(1)=alltrim(thisform.text1.Value)</p><p>  aaa(2)=alltrim(thisform.text2.Value)</p><p>  

114、&&把表單中所有信息存儲到一個數(shù)組中</p><p>  IF LEN(aaa(1))>5.and.LEN(aaa(2))>5 </p><p><b>  go bottom</b></p><p>  &&指針指到表的最后一條記錄</p><p>  tempstr=val

115、(adminer.注冊名)</p><p>  APPEND BLANK</p><p>  &&在表的最后添加一條空白記錄</p><p>  GO BOTTOM &&指向當(dāng)前新增加的記錄信息</p><p>  replace adminer.注冊名 WITH ALLTRIM(STR(tempst

116、r+1))</p><p>  &&設(shè)置新記錄的主鍵值</p><p>  replace adminer.注冊名 WITH aaa(1)</p><p>  replace adminer.密碼 WITH aaa(2)</p><p>  &&按字段分別替換表中數(shù)據(jù)信息</p><p&

117、gt;  thisform .Refresh</p><p>  MESSAGEBOX("注冊成功",0+64,"學(xué)生信息管理")</p><p>  THISFORM.RELEASE</p><p><b>  ELSE</b></p><p>  if empty(thisfo

118、rm.text1.Value).or.empty(thisform.text2.Value)</p><p>  messagebox("用戶名或密碼不能為空",0,"用戶注冊")</p><p>  thisform .Refresh</p><p>  ThisForm.Text1.Value=''<

119、/p><p>  ThisForm.Text1.Setfocus</p><p>  ThisForm.text2.Value=''</p><p>  ThisForm.Text2.Setfocus</p><p><b>  else </b></p><p>  MESSAG

120、EBOX("用戶名或密碼長度過短",0+64,"學(xué)生信息管理")</p><p>  thisform .Refresh</p><p>  ThisForm.Text1.Value=''</p><p>  ThisForm.Text1.Setfocus</p><p>  ThisF

121、orm.text2.Value=''</p><p>  ThisForm.Text2.Setfocus</p><p><b>  endif</b></p><p><b>  ENDIF</b></p><p>  13.3在命令按鈕“退出”中添加如下響應(yīng)代碼:</p&g

122、t;<p>  thisform.release</p><p><b>  操作提示窗體:</b></p><p><b>  版權(quán)聲明窗體:</b></p><p>  類(xsxigl.vcx)代碼:</p><p>  16.1在命令按鈕“第一個”中添加如下響應(yīng)代碼:</

123、p><p><b>  go top</b></p><p>  this.parent.syg.enabled=.f.</p><p>  this.parent.xyg.enabled=.t.</p><p>  this.parent.zhyg.enabled=.t.</p><p>  thi

124、sform.refresh</p><p>  16.2在命令按鈕“上一個”中添加如下響應(yīng)代碼:</p><p><b>  skip-1</b></p><p><b>  if bof()</b></p><p>  messagebox("已是第一個記錄!",48,&quo

125、t;信息窗口")</p><p>  this.parent.dyg.enabled=.f.</p><p>  this.parent.syg.enabled=.f.</p><p><b>  skip</b></p><p><b>  else </b></p>&l

126、t;p>  this.parent.dyg.enabled=.t.</p><p>  this.parent.zhyg.enabled=.t.</p><p><b>  endif</b></p><p>  this.parent.xyg.enabled=.t.</p><p>  this.parent.z

127、hyg.enabled=.t.</p><p>  thisform.refresh</p><p>  16.3在命令按鈕“下一個”中添加如下響應(yīng)代碼:</p><p><b>  skip</b></p><p><b>  if eof()</b></p><p>  

128、messagebox("已是最后一個記錄!",48,"信息窗口")</p><p><b>  skip-1</b></p><p>  this.parent.xyg.enabled=.f.</p><p>  this.parent.zhyg.enabled=.f. </p><p

129、><b>  else </b></p><p>  this.parent.xyg.enabled=.t.</p><p>  this.parent.zhyg.enabled=.t.</p><p>  thisform.refresh</p><p><b>  endif</b><

130、;/p><p>  this.parent.dyg.enabled=.t.</p><p>  this.parent.syg.enabled=.t.</p><p>  thisform.refresh</p><p>  16.4在命令按鈕“最后一個”中添加如下響應(yīng)代碼:</p><p><b>  go b

131、ottom</b></p><p>  this.parent.dyg.enabled=.t.</p><p>  this.parent.syg.enabled=.t.</p><p>  this.parent.xyg.enabled=.f.</p><p>  thisform.refresh</p><

132、p>  主程序(mian.prg)代碼</p><p>  **main.prg</p><p>  SET ESCAPE OFF</p><p>  SET TALK OFF</p><p>  SET STATUS OFF</p><p>  SET SCOREBOARD OFF</p><

133、;p>  SET EXACT ON</p><p>  SET SAFETY OFF</p><p>  SET STEP OFF</p><p>  SET DEBUG OFF</p><p>  SET STATUS OFF</p><p>  SET SCOREBOARD OFF</p>&l

134、t;p>  SET ESCAPE OFF</p><p>  SET TALK OFF</p><p>  SET STATUS OFF</p><p>  SET SCOREBOARD OFF</p><p>  SET EXACT ON</p><p>  SET SAFETY OFF</p>

135、<p>  SET STEP OFF</p><p>  SET DEBUG OFF</p><p>  SET STATUS OFF</p><p>  SET SCOREBOARD OFF</p><p>  SET EXCLUSIVE OFF</p><p>  SET SYSMENU TO</p

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論