版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計----學(xué)生信息管理系統(tǒng)
- 課程設(shè)計--學(xué)生信息管理系統(tǒng)
- 課程設(shè)計---學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計
- 學(xué)生信息管理系統(tǒng)課程設(shè)計
- 學(xué)生信息管理系統(tǒng) 課程設(shè)計
- 課程設(shè)計-學(xué)生信息管理系統(tǒng)
- 課程設(shè)計——學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理管理系統(tǒng)課程設(shè)計
- 課程設(shè)計-- 學(xué)生信息管理系統(tǒng)設(shè)計
- 學(xué)生信息管理系統(tǒng)課程設(shè)計 (4)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計報告
- java課程設(shè)計--學(xué)生信息管理系統(tǒng)
- 課程設(shè)計報告--學(xué)生信息管理系統(tǒng)
- 課程設(shè)計delphi學(xué)生信息管理系統(tǒng)
- vfp課程設(shè)計學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)java課程設(shè)計
- 學(xué)生信息管理系統(tǒng)課程設(shè)計3
- java課程設(shè)計---學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)課程設(shè)計 (3)
評論
0/150
提交評論