【正文】
刷新grdScore控件 = s。使用con來刪除所選的記錄 str 39。 39。 sSerial amp。 and courseid=39。 stuSerial amp。刷新整個網(wǎng)格控件 Call RefreshScore((0).CellText()) Exit Sub errHandler: MsgBox , vbCritical, 錯誤 End SubPrivate Sub cmdClose_Click() Unload MeEnd SubPrivate Sub cmdDelete_Click() On Error GoTo errHandler If MsgBox(確實(shí)要刪除此成績記錄?, vbYesNo + vbQuestion + vbDefaultButton2, 確認(rèn)) = vbYes Then Dim sSerial, stuSerial stuSerial = (0).CellText() sSerial = (0).CellText() Dim str str = delete from score where studentid = 39。) str Unload frmAddStudent End With Unload frmAddStudent 39。 . str = str amp。,39。 (0).CellText() amp。,39。 . amp。添加成績記錄 Dim str str = insert into score(StudentID, CourseID, Score) values(39。如果用戶沒有點(diǎn)擊確認(rèn)按鈕,則退出處理過程 If Not .mbAdded Then Unload frmAddStudent Exit Sub End If 39。計(jì)算該課程的總成績和平均成績 Call Calculate((0).CellText())End SubPrivate Sub cmdAdd_Click() On Error GoTo errHandler With frmAddStudent Load frmAddStudent .Caption = 添加成績信息 .Show vbModal 39。 (1).CellText() 39。 (0).CellText() amp。39。 39。 amp。 _ from student,score where = amp。刷新課程編號為sSerial的成績的網(wǎng)格控件grdScoreSub RefreshScore(sSerial As String) With If .State adStateClosed Then .Close Dim str If sSerial = Then str = select , , amp。 str, , adOpenStatic If Not Then = FormatNumber(rs(count_score), 0) = FormatNumber(rs(avg_score), 2) End IfEnd Sub39。 sSerial amp。通過當(dāng)前課程的成績,來得到該課程的總成績和平均成績Sub Calculate(sSerial As String) Dim rs As New Dim str str = select avg(score) as avg_score, count(*) as count_score from score where courseid=39。假如處于記錄的尾部 If .EOF Then If Not .BOF Then = False = False Else = True = True End If End WithEnd Sub39。39。39。如果沒有任何記錄,則清空顯示目錄;并且使瀏覽部分和管理部分的按鈕無效 If .State = adStateClosed Then .Open 39。用以在瀏覽時,根據(jù)當(dāng)前記錄所出的位置不同,來改變個瀏覽按鈕的狀態(tài)Sub ChangeBrowseState() With 39。39。39。39。如果輸入的字符不屬于數(shù)字或者頓號,則取消輸入的字符 If (KeyAscii Asc(9) Or KeyAscii Asc(0)) And KeyAscii Asc(.) And KeyAscii vbKeyBack Then KeyAscii = 0End Sub3. Option Explicit39。從class中讀取數(shù)據(jù),填充到cboClass復(fù)合框中 If = adStateClosed Then 全部 While Not rsClass(Name) Wend = 0End SubPrivate Sub txtScore_Change() = Len() 0 And Len() 0End SubPrivate Sub txtScore_KeyPress(KeyAscii As Integer) 39。39。39。39。39。 order by serial End If select * amp。 cboClass amp。針對所選的班級,列出班級中所有的學(xué)籍信息 Dim strSQL If = 全部 Then strSQL = from student order by serial Else strSQL = from student where class=39。表示用戶是否點(diǎn)擊“確定”,來添加一個課程信息Public mbAdded As BooleanPrivate Sub cboClass_Click() 39。如果輸入的字符不屬于數(shù)字或者頓號,則取消輸入的字符 If (KeyAscii Asc(9) Or KeyAscii Asc(0)) And KeyAscii Asc(.) And KeyAscii vbKeyBack Then KeyAscii = 0End Sub2. Option Explicit39。將name寫入到列表框中,id寫入到對應(yīng)的ItemData中 全部 If = adStateClosed Then While Not Dim s As String s = (name) s ( 1) = (id) Wend = 0End SubPrivate Sub txtScore_Change() = Len() 0 And Len() 0End SubPrivate Sub txtScore_KeyPress(KeyAscii As Integer) 39。從課程類型表重讀取數(shù)據(jù),寫入到cboType中 39。動態(tài)改變dcbName中的課程名 = = ( )End SubPrivate Sub Form_Load() mbAdded = False 39。動態(tài)改變dcbSerial中的課程號 = = ( )End SubPrivate Sub dcbSerial_Click(Area As Integer) 39。刷新dcbName所列的課程類型名 = = AddCourse = Call dcbName_Click(0) Call dcbSerial_Click(0) = ( )End SubPrivate Sub cmdCancel_Click() mbAdded = False End SubPrivate Sub cmdOK_Click() mbAdded = True End SubPrivate Sub dcbName_Click(Area As Integer) 39。刷新dcbSerial所列的課程類型號 = = AddCourse dcbSerial = 39。 () Else strSQL = Select * from course End If If adStateClosed Then strSQL39。39。39。參考文獻(xiàn)《Visual Basic 》 王福成、周鐵柱、黃淼云等編著 清華大學(xué)出版社 2000年6月第一版《:》 崔洪斌等譯 清華大學(xué)出版社 2002年05月第一版《(含盤)》 王華杰編著 中國鐵道出版社 2002年04月第一版《》 康博譯 清華大學(xué)出版社 2002年03月第一版《Instant 》 張龍卿編寫 北京希望電子出版社 2002年01月第一版《XML 編程使用 VB 和 ASP》 [美]Mark Wilson,[美]Tracey Wilson著, 健蓮科技譯 中國電力出版社 2001年06月第一版《數(shù)據(jù)庫設(shè)計(jì)與編程實(shí)例詳解》 電子工業(yè)出版社 2001年02月第一版《編程技巧及故障排除即時通 (VB 篇)》 清華天則工作室編著 兵器工業(yè)出版社 2001年02月第一版《引人入勝 Install Shield (含盤)》 張君編著 上海書店 2000年11月第一版《》 新智工作室編著 電子工業(yè)出版社 2000年03月第一版1《企業(yè)管理的計(jì)算機(jī)化》 威廉由于我的知識淺薄,經(jīng)驗(yàn)不足及閱歷頗淺,因此,在該系統(tǒng)的設(shè)計(jì)方面還有很多不足,比如功能過少,界面不夠醒目等問題,我會在工作的使用過程中,根據(jù)工作的具體要求不斷的修改,完善,爭取使該系統(tǒng)慢慢趨向完美。在反反復(fù)復(fù)的學(xué)習(xí)及不恥下問之下,我的辛勤努力有了匯報,終于做出了一個簡單的軟件,雖然這個軟件的功能非常的簡單,而且我想,在實(shí)際的運(yùn)用中,肯定會有所不足,因?yàn)閷W(xué)生成績管理工作的內(nèi)容非常的豐富,我涉及到的僅僅是學(xué)生管理的一部分簡單內(nèi)容,離實(shí)際的客戶需求肯定還有一定的差距。在軟件的編寫過程中,我充分體會了軟件編程工作者的辛苦,因?yàn)槊恳粋€細(xì)微的細(xì)節(jié)都必須十分的注意,如果稍有不慎,就會全盤皆輸,而且往往很多的時候,程序我自己覺得非常的正確,但是就是編譯通不過,在查找錯誤的過程中,面臨著否認(rèn)自己的過程,非常的痛苦,而且由于自己的經(jīng)驗(yàn)及各方面的能力的不足,所以進(jìn)展的速度非常的緩慢,往往幾天的時間還沒有一點(diǎn)進(jìn)展。傳統(tǒng)手工的學(xué)生成績管理,管理過程繁瑣而復(fù)雜,執(zhí)行效率低,并且易于出錯。第三章:結(jié)論及體會 第五章 結(jié)論及體會隨著學(xué)校規(guī)模的不斷擴(kuò)大,學(xué)生數(shù)量的急劇增加,有關(guān)學(xué)生的各種信息量也在不斷成倍增長。當(dāng)向?qū)瓿芍谱靼惭b包以后,它會自動生成一個帶有很多重要信息的報告。第三步,如果沒有編譯工程,打包和展開向?qū)缶幾g工程。,使發(fā)布應(yīng)用程序所包含的許多步驟得以自動運(yùn)行,這是用戶一般所采用的方法。 打包和展開向?qū)В≒ackage and Deployment)252??梢允褂脙煞N工具來打包和發(fā)布應(yīng)用程序。創(chuàng)建Visual Basic應(yīng)用程序后,可以將創(chuàng)建的學(xué)生成績管理應(yīng)用程序通過磁盤,關(guān)盤,網(wǎng)絡(luò)等途徑自由發(fā)布,一般來說,發(fā)布應(yīng)用程序必須經(jīng)過下面的兩個步驟:打包(.cab文件是一種壓縮文件),對于某些類型的軟件包,還必須為其創(chuàng)建安裝程序。選擇P代碼格式編譯的應(yīng)用程序生成的可執(zhí)行文件較小,選擇本地代碼編譯的應(yīng)用程序生成的可執(zhí)行文件要大的多,但是可執(zhí)行文件的運(yùn)行速度比較快。當(dāng)完成當(dāng)前工程的APP對象的屬性后,就可以編譯代碼了。在設(shè)計(jì)中,可以通過這些屬性來告訴用戶一些重要的信息,在應(yīng)用程序運(yùn)行時用Visual Basic代碼讀出這些屬性值,也可以在Windows資源管理器中觀察應(yīng)用程序?qū)ο蟮陌姹拘畔傩灾怠?yīng)用程序進(jìn)行編譯后,Visual 。252。252。編譯應(yīng)用程序的主要目的如下;252。編譯學(xué)生成績管理程序就是將創(chuàng)建的應(yīng)用程序以及它的工程文件合并成一個可執(zhí)行文件。39。 39。 amp。39。39。39。 On Error Resume