第一篇:學生信息管理系統
文 摘 要
學生信息,它的工作量可能是其它信息工作量的幾倍,班級的增加、班級的查找、班級的修改;學生檔案;課程管理;成績管理;繳費管理;統計等等,每個信息的數據都在不斷地變化著,如果采用人工的方式進行操作,那么,一天的工作量,足以讓人覺得比較繁瑣,吃不消。針對這樣的情況,采用讓數據的查詢變得簡單化,數據變的更讓每個人都在任何時刻都可以了解到。所以信息管理系統是一個教育單位不可缺少的部分,它的內容對于學校的決策者和管理者來說都至關重要,所以學生信息管理系統應該能夠為用戶提供充足的信息和快捷的查詢手段
學生信息管理系統是為本校開發的,經過我們仔細分析,系統所采用的語言是Visual Basic,用Microsoft Access 2000數據庫完成。該系統總體有三部分組成,包括系統登錄、學生信息查詢、數據庫的錄入。通過本系統,把本校內部查詢學生信息、教務信息、學生選課各個環節進行有效地計劃、組織和控制。通過本校內部的信息,依據統一數據信息進行管理,把任何一塊信息所產生的數據變動及時地反映給其它相關信息,做到數據共享。
關鍵詞:學生信息管理系統 Visual Basic ACCESS數據庫
Abstract Student information, it may be the workload of the workload of the other information several times, the increase in class, the class of search, Class changes;Student files;Course management;performance management;Payment management;Statistics etc., Each of data are constantly changing, if artificial way to operate, then the workload of the day, enough to make people think that the more cumbersome, hard to swallow.In such a case, the data used for inquiries become simplistic, What changed the data every one at any time can be learned.Therefore, the information management system is a unit of education as an indispensable part, its contents for the policy makers and school administrators are of great importance.So student information management system should be able to provide users with sufficient information and efficient means of inquiries Student Information Management System for the development of the University, after careful analysis, the system used by the language is Visual Basic, Microsoft Access 2000 database completed.The whole system has three components, including the system registry, student information inquiries, database input.Through the system, the University Student Information internal inquiry, the Senate information, students classes in all aspects effectively plan, organization and control.By the University of internal information, in accordance with unified data information management, any information from a data reflect changes in a timely manner to other relevant information, so data-sharing
Keywords: Student Information Management System database Visual Basic ACCESS
目錄 論 文 摘 要
I ABSTRACT II 目錄
III 第1章 緒 論1.1本論文的實際討論意義第二章 管理信息的基礎知識2.1 管理信息系統的概念2.1.1 MIS的結構、特征及相關學科 4 2.2 管理信息系統的產生第三章 系統開發工具——VISUAL BASIC 6.0簡介及應用3.1系統功能簡介:VISUAL BASIC主要功能特點包括: 3.2開發工具及相關技術簡介第四章 數據庫ACCESS的基礎及應用4.1數據庫的概念第五章程序及其分析5.1 程序框圖5.2 主界面圖:5.3信息查詢圖表及代碼5.4成績統計表及程序如下:
總結
致
謝
參 考 文 獻
8 第1章 緒 論
學生信息管理是每一所高校都必須面對的工作,特別是近幾年來,國家政策的調整,我國高等院校大規模的擴招,給高等院校的教學管理、學生管理、后勤管理等方面都帶來不少的沖擊。特別是對于學校的決策者和管理者來說學生信息管理工作是至關重要的,但一直以來人們使用傳統的人工方式管理文件檔案,這種管理方式存在許多缺點,如:效率低、保密性差,學生數量的增加,這必然增加了學生檔案管理者的工作量和勞動強度,同時將產生大量的文件和數據,這給學生信息的查找、更新和維護都帶來了不少困難。據調查,目前我國各類高等院校中還有相當一部分學生檔案管理還停留在紙介質的基礎上,尤其是中、小學對學生檔案的管理更是落后,這樣的管理機制已經不能適應時代發展的要求,其管理方法將浪費許多人力和物力。隨著科學技術的不斷提高,計算機科學與技術日漸成熟,計算機應用的普及已進入人類社會生活的各個領域,并發揮著越來越重要的作用。這種傳統的手工管理模式必然被以計算機為物質基礎的信息管理方法所取代。
作為計算機應用的一部分,使用計算機對學生檔案進行管理,有著手工管理所無法比擬的優點,如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、受命長、成本低等。這些優點能夠極大地提高學生檔案管理的效率,也是學校向科學化、正規化管理發展的必要條件,更是各個高等院校與世界接軌的重要條件。
因此,開發一套能夠為用戶提供充足的信息和快捷的查詢手段的學生信息管理系統,將是非常必要的,也是十分及時的。借此畢業之際利用自己已掌握的各種專業知識,結合實際應用,開發一個學生信息管理系統來幫助學校進行有效的信息,并將其作為自己的畢業設計課題主要完成一些信息的統計和查詢等一些重要的功能
經過分析,我們使用MICROSOFT公司的VISUAL BASIC開發工具,利用其提供的各種面向對象的開發工具,尤其是數據窗口這一能方便而簡潔操縱數據庫的智能化對象,首先在短時間內建立系統應用原型,然后,對初始原型系統進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統。
隨著學校的規模不斷擴大,學生數量急劇增加,有關學生的各種信息量也成倍增長。面對龐大的信息量需要有學生管理系統來提高學生管理工作的效率。通過這樣的系統可以做到信息的規范管理、科學統計和快速查詢、修改、增加、刪除等,從而減少管理方面的工作量。
本系統主要用于學校學生信息管理,總體任務是實現學生信息關系的系統化、規范化和自動化,其主要任務是用計算機對學生各種信息進行日常管理,如查詢、修改、增加、刪除,另外還考慮到學生選課,針對這些要求設計了學生信息管理系統本系統主要用于學校學生信息管理,總體任務是實現學生信息關系的系統化、規范化和自動化,其主要任務是用計算機對學生各種信息進行日常管理,如查詢、修改、增加、刪除,另外還考慮到學生選課,針對這些要求設計了學生信息管理系統。
本系統主要包括學生信息查詢、教務信息維護和學生選課三部分。其功能主要有:
⒈有關學籍等信息的輸入,包括輸入學生基本信息、所在班級、所學課程和成績等。
⒉學生信息的查詢,包括查詢學生基本信息、所在班級、已學課程和成績等。
⒊學生信息的修改。⒋班級管理信息的輸入,包括輸入班級設置、年級信息等。
⒌班級管理信息的查詢。
⒍班級管理信息的修改。
⒎學生課程的設置和修改。
1.1本論文的實際討論意義
當今社會,計算機已經成為我們學習和工作的得力助手,計算機的價格已經十分低廉,性能卻有了長足的進步。它已經被應用于許多領域,計算機之所以如此流行的原因主要有以下幾個方面: 首先,計算機可以代替人工進行許多繁雜的勞動;其次,計算機可以節省許多資源;第三,計算機可以大大的提高人們的工作效率;第四,計算機可以使敏感文檔更加安全,等等。
在學校中用計算機管理學生檔案的意義:現在我國的學校中檔案的管理水平還停留在紙介質的基礎上,這樣的機制已經不能適應時代的發展,因為它浪費了許多人力和物力,在信息時代這種傳統的管理方法必然被計算機為基礎的信息管理所取代。
作為一個非計算機應用專業的學生,希望可以在次方面可以好好的學習到一些實際的意義。改革的總設計師鄧小平同志說過“科學技術是第一生產力”,我希望能用我在學校所學的編制出一個實用的程序來幫助學校進行更有效的學生檔案管理及實際應用信息。
1.2實際研究論文的目的
由于現在高校的學生檔案的管理趨向于復雜化和多元化,隨著計算機的廣泛應用,越來越多的高校均采用了計算機化的管理模式。查詢、修改、錄入、刪除等基本操作都采用了計算機的數據庫技術。比起以前使用卡片的方法有了很大的進步,方便管理,易于更新,極大的方便了學生檔案的管理工作。因此為提高工作效率,減輕校方人員的工作負擔,決定開發學生檔案管理系統軟件。
開發此學生基本信息管理系統軟件,以供行政管理人員使用計算機對學生檔案信息進行管理,此系統具有著手工管理所無法比擬的優點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高學生檔案管理的效率,在設計皮系統的同時,也能夠為我們提高我們軟件開發的能力,學習VB語言編程的技巧,通過本次軟件的開發,包括與導師的交流,從中學習了知識、吸取了經驗。
第二章 管理信息的基礎知識
隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對單位的各項事務進行科學化的管理有著無法比擬的優點。例如:查找方便、迅速、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高公司的工作效率,也是公司管理科學化、正規化并與世界接軌的重要條件。2.1 管理信息系統的概念
管理信息系統(Management Information Systems,簡稱MIS),是一個不斷發展的新型學科,MIS的定義隨著計算機技術和通信技術的進步也在不斷更新,在現階段普遍認為MIS 是人為或計算機設備以及其他信息處理手段組成并用于管理信息的系統。包括以下幾個基本概念:(1)MIS的對象就是信息。信息是經過加工的對決策者有價值的數據。信息的主要特征是來源分散,數量龐大。信息來源于生產第一線、社會環境、市場以及行政管理等部門。信息具有時間性。
(2)系統是由相互聯系、相互作用的若干要素按一定的規則組成并具有一定功能的整體。系統由輸入、處理、輸出、反饋、控制等五個基本要素組成。
(3)管理信息由信息的采集、信息的傳遞、信息的儲存、信息的加工、信息的維護和信息的使用等五個方面組成。
MIS包括計算機、網絡通信設備等硬件成分,也包括操作系統、應用軟件包等軟件成分,并隨著計算機技術和通信技術的迅速發展還會出現更多的內容。2.1.1 MIS的結構、特征及相關學科
1.MIS的結構
MIS由信源、信宿、信息處理、信息用戶和信息管理者等五個部分組成。2.MIS的特征
完善的MIS具有以下四個標準:確定的信息需求、信息的可采集性與可加工性、可以通過程序為管理人員提供信息、可以對信息進行管理。MIS具有以下特征:
? 具有統一規劃的數據庫是MIS成熟的重要標志,它象征著MIS是軟件工程的產物。
? 通過MIS實現信息增值,用數學模型統計分析數據,實現輔助決策。
MIS是發展變化的,MIS有生命周期。?
? MIS的開發必須具有一定的科學管理工作基礎。只有在合理的管理體制、完善的規章制度、穩定的生產秩序、科學的管理方法和準確的原始數據的基礎上,才能進行MIS的開發。因此,為適應MIS的開發需求,企業管理工作必須逐步完善以下工作:
管理工作的程序化,各部門都有相應的作業流程。?
管理業務的標準化,各部門都有相應的作業規范。?
? 報表文件的統一化,固定的內容、周期、格式。
數據資料的完善化和代碼化。?
3.MIS的相關學科
MIS是一個交叉性的綜合性學科,組成部分有:計算機學科(網絡通信、數據庫、計算機語言等)、數學(統計學、運籌學、線性規劃等)、管理學、仿真等多學科。隨著科學技術的高速發展,MIS涉及的范圍還要擴大。
2.2 管理信息系統的產生
生產技術的進步,社會活動的復雜化,特別是電子信息技術的迅速發展與廣泛應用,使得各種管理工作越來越依賴于對信息的管理。信息作為一種資源,使得人們的工作、生活以及思維方式發生了重大的變革,為企業的生產與經營提供了日益完善的手段。信息的采集、傳輸、加工和利用成為人們特別是信息工作者的主要活動。企業經理的百分之八十的時間用于信息的傳輸與處理,一些西方發達國家從事信息處理工作的人數多,在二十世紀八十年代就已經占職工總數的百分之五十以上,而美國1993年政府報告“國家信息基礎結構:行動計劃”中指出“2/3的美國勞動者從事與信息有關的工作,其余1/3工作在高度依賴于信息的產業部門,”這種職工可以成為“知識工作者”,他們主要就是收集、傳輸和加工信息,包括編輯文件、寫報告、分析信息、作計劃等。所以現在各行各業對信息的管理要求越來越大。
顯然,計算機在問世之初,只是為了想讓它來輔助人們進行科學研究中復雜數值方面的計算,以減少勞動強度,提高工作效率。然而,隨著計算機科學的不斷發展和進步,是它跨越了數值計算領域,進入管理領域,成為信息處理的重要工具。使用計算機進行信息處理始于1954年,開始是計算機處理工資,現在是計算機在處理各種工作,如旅館結帳、飛機定票、銀行存款、電子購物、電話計費等,已經相當普遍。利用計算機的信息管理、處理能力還可以擴大組織擁有信息的用途。當前所未有的挑戰是使用計算機神秘般的能力開始信息管理工作,包括高層管理活動和決策等。
2.3管理信息系統的發展及學生信息系統的簡介
信息工作的迅速增長,使計算機的應用范圍越來越廣泛,應用的功能由一般的數據處理走向支持決策。這就導致了管理信息系統的產生。管理信息系統從產生到現在已經經歷了電子數據處理系統(如統計系統、工資系統、數據更新系統等),信息報告系統(如生產報告系統、服務狀態報告系統、研究狀態報告系統等),支持決策系統,綜合服務系統(如綜合業務數字網絡系統、國際互聯網等)等幾個階段。但在我國,由于各種原因,管理信息系統的發展處于初級的數據處理階段,盡管如此,充分利用我們現有的資源和力量,開發一些適合于本企業或本行業的管理信息系統。也非常重要。隨著學校的規模不斷擴大,學生數量急劇增加,有關學生的各種信息也成倍增長。面對龐大的信息量,有必要開發學生信息管理系統來提高學生管理工作的效率。通過這樣的系統,可以做到信息的規范管理、科學統計和快速查詢,從而減少管理方面的工作量。
本學生信息管理系統包括學籍信息管理、班級信息管理、課程信息管理、成績信息管理四大模塊。管理員可以擁有完全的權限管理系統,而學生用戶只擁有查詢學籍信息和查詢成績信息的權限。學籍管理系統是一個教育單位不可缺少的部分,它的內容對于學校的決策者和管理者來說都至關重要,所以學籍管理系統應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的文件和數據,這對于查找、更新和維護都帶來了不少的困難。隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對學籍信息進行管理,具有著手工管理所無法比擬的優點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高學生學籍管理的效率,也是企業的科學化、正規化管理,與世界接軌的重要條件。因此,開發這樣一套學籍管理軟件成為很有必要的事情。在下面的各章中我將以開發學籍管理系統為例,談談其開發過程和所涉及到的問題及解決方法。
而學籍信息是學校的一項重要的數據資源,學籍管理也是學校的一項常規性的重要工作。而長期以來,學籍管理都是以來人工進行的,面對如此眾多的學籍信息,起工作量可想而知。不僅僅浪費了大量的人力物力,而且由于人工管理存在著大量的不可控因素,造成了學籍管理的某些不規范,使得學籍管理陷入“事倍功半”的地步。學生學籍管理系統是一個教育單位不可缺少的部分,它的內容對于學校的決策者和管理者來說都至關重要,所以學生檔案管理系統應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的文件和數據
第三章 系統開發工具——Visual Basic 6.0簡介及應用 3.1系統功能簡介:Visual Basic主要功能特點包括: 3.1.1 提供了面向對象(OOP)的可視化編程工具
把程序和數據封裝在一起而視為一個對象。設計程序時只需從現有工具箱中拖出所需的對象,如按鈕、滾動條等,在屏幕上設計出用戶所要求的布局,VB自動產生界面設計代碼,程序設計人員只需編寫實現程序功能所需的代碼即可,因而程序設計的效率大大提高。3.1.2 事件驅動的編程機制
VB中通過事件來執行對對象的操作,一個對象可以有許多事件過程,不同的事件過程對應不同過程代碼。VB開發的應用程序,沒有明顯的開始和結束標志。3.1.3結構化的程序設計語言
具有豐富的數據類型,眾多的內部函數,是一種模塊化、結構化的程序設計語言,結構清晰、簡單易學。
3.1.4交互式開發
傳統的應用開發過程由編碼、編譯和調試代碼3個步驟組成。而Visual Basic使用交互式方法開發應用程序,3個步驟之間沒有明顯的界限。3.1.5Windows資源共享
VB提供的動態數據交換DDE編程技術,可以在應用程序中實現與Windows應用程序建立動態數據交換、在不同的應用程序之間通行功能。3.1.6開放的數據庫功能與網絡支持
VB具有很強的數據庫管理功能。利用數據控件和數據庫管理窗口,可以直接建立和編輯MS Access 格式的數據庫,并提供了強大的數據存儲和檢索功能,同時還能直接編輯和訪問其他外部數據庫,如Dbase、FoxPro、Paradox等。3.1.7 得心應手的應用程序向導
VB中使用了許多應用程序向導,可為用戶自動創建多種類型和不同功能的應用程序的初始輪廓,另外還有安裝向導、數據窗體向導、IIS應用程序DHTML等,使用起來得心應手,省去了一些煩瑣的工作。
3.1.8 完善的聯機幫助功能
強大的聯機幫助功能和示范代碼,設計任何時候,只需按下F1鍵,就會顯示必要的提示,運行時,也會對出現的錯誤給出一定的提示。
在系統中,充分利用了Access 數據庫和Visual Basic 6.0的強大功能,通過實踐,也使自己對這些方面有了較深入的了解。在設計過程中力求完善系統功能,使界面友好,具有一定的容錯能力,在使用過程中不會出現難以糾正的錯誤和毛病。
該系統主要提供了六部分,功能分別為導入學生數據,增加刪除學生,住宿分配,住宿調整,退房管理,走讀管理,學生情況查詢,房源使用情況,空床統計情況,分類統計情況,衛生成績錄入,衛生查詢與統計,公寓違紀錄入,公寓違紀查詢,添加用戶,修改密碼,退出系統,這些功能基本上覆蓋了學生公寓管理的主要部分。3.2開發工具及相關技術簡介
Visual Basic 6.0 開發語言及環境簡介 Visual Basic 6.0是在原有的Basic語言的基礎上的進一步發展,他包含了數百條語句。函數及關鍵詞,其中很多與Windows GUI有直接的關系。Visual Basic 語言簡單易學,只要稍有語言基礎就可以很快的掌握并進而精通。可視化的用戶界面設計功能,把程序設計人員從繁瑣復雜的截面設計中解脫出來;可視化編程環境的“所見即所得(WYSIWYG)”功能,是界面設計如積木游戲一般,編程變成了一種享受;強大的多媒體功能可輕而易舉地開發出集聲音,動畫,影像和圖片于一體的多媒體應用程序;新增的網絡功能提供了編寫Internet程序的能力。Visual Basic 6.0 還支持用戶自己開發ActiveX控件和制作ActiveX文檔。
作為高質量的開發軟件,Visual Basic 6.0有如下特點:
1.語句生成器和快速提示幫助使用戶不必記憶成千上萬的屬性和方法,在較短的時間內就能開發出功能強大的應用程序。
2.在Visual Basic 6.0中,Internet應用程序的開發功能更加強大和容易。在應用程序內可以通過Internet 或Intranet訪問其他計算機中的文檔和應用程序;可以創建Internet服務器應用程序,包括IIS應用程序;支持HTML技術(DHTML)的應用程序;具有Web應用程序發布功能等。
3.種類繁多、功能強大的多媒體控件,能幫助用戶在較短時間內用較少的語句編寫出圖文聲像并茂的多媒體程序。
4.Visual Basic 6.0在數據庫處理功能上有較大增強,能對多種數據庫進行讀寫操作。另外他所提供的[可視化數據管理器]能幫助用戶構造多種類型的數據庫,同時提供了能自動生成SQL語句的功能和新的ActiveX數據對象ADO。
5.新的語言特征包括:用戶自定義類型可以作為參數或作為公共屬性和方法的返回值;函數可以返回數組變量;動態數組可以賦值;文件系統對象;按名調用(Call By Name);增強的創建對象函數(CreateObject Function Enhancements);增強的StrConv函數。
6.[應用程序安裝向導]能幫助用戶自動生成具有一定功能的應用程序,大大加快了程序的開發速度。增強的向導有:安裝程序向導、數據窗體向導、應用程序向導和類生成工具。新的向導有:數據對象生成向導和工具條向導。3.3 Visual Basic 語言的特點
Visual Basic 語言用其設計應用程序時具有兩個基本特點:可視化設計和事件驅動編程。(1)可視化設計:表現在VB在設計應用于程序界面時有“所見即所得”的處理功能。(2)事件驅動編程:在設計應用程序時,把對象添加到窗體中,在用戶與程序進行交互時,用戶基本上是通過鼠標、鍵盤與應用程序進行交互的,那些對象就必須對鼠標和鍵盤操作所引發的事件做出響應,來執行一段應用程序。
3.4Visual Basic 系統幾個在程序應用中的常用名詞
Visual Basic 系統除了一般高級語言所具有的一些名詞術語外,還有幾個系統常用的名詞。其基本含義如下:(1)視窗(Form)
視窗是進行人機交互的界面或接口,也叫窗體。VB系統的人機交互界面或接口,無論是在設計時或是在運行時,都是Windows 系統的標準視窗。(2)對象(Object)對象是VB系統內部提供給設計者可以直接使用的處理輸出的控制工具。本程序所應用到的對象類型有標簽框(Label Box),文本框(Text Box),命令按扭(Command Button),網格(Data Grid),ADO控件(Adodc1)等。當把這些工具放置到用戶界面對應的窗體上時,被稱為對象或控件。用戶可以通過設置對象的“屬性”和“方法”,便于對象適應自己所設計應用程序的輸入輸出內容,對象的生成過程及結構都被封裝起來。正確使用對象可以減少程序和開發時間,提高程序設計者的工作效率。(3)屬性(Properties)屬性是VB系統提供的有關對象的參數或數據接口。用戶通過適當地設置或改變對象的屬性來確定對象的外觀及性能特征,從而有效地使用系統提供的對象。比如,對象的名稱、在屏幕上顯示的位置、大小、顏色、接收或容納的數據內容及數據的表現格式等。(4)事件(Events)事件是指用戶或操作者對計算機進行的某一操作(如擊鍵、單擊或移動鼠標等)的行為或系統狀態發生的變化。VB系統常用事件來引導計算機執行一段程序。程序所用的鍵盤事件有KeyPress(按鍵)事件,KeyDown事件和KeyUp事件;鼠標事件有Click(單擊鼠標)事件,DbDlicd(雙擊鼠標)。(5)方法(Method)方法主要是指對一個對象使用某種作用的過程。它是在程序執行的過程中要計算機執行的某種操作。其程序的方法有Show(顯示)方法,Hide(隱藏)方法,Refresh(刷新)方法。(6)過程(Procedure)過程是指經過定義或說明的,或基于某一對象對應的事件所引發的程序段。(7)模塊(Module)模塊是指一些運算量或過程進行聲明或定義的一個集合。系統程序大體可分成四個模塊:數據輸入、根據查詢、數據打印和通訊。
3.5 面對對象的編程
面向對象的設計方法(OOP, Objected Programming)從應用領域內的問題著手,以直觀自然的方式描述客觀世界的實體。Visual Basic 作為一種面向對象的編程方法,把程序和數據封裝起來作為一個對象,并為每個對象賦予相應的屬性。在設計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上,由 Visual Basic 自動生成對象的程序代碼并封裝起來。Visual Basic 應用程序基本的構建塊是用戶所創建的對象,每一個對象都具有一些特性和行為(屬性、事件和方法)。開發人員可以最有效利用所創建的每一個對象。使用應用程序具有可通用性可說擴展性和強有力的功能。
Visual Basic 應用由一系列對象組成,包括有函數、菜單、函數、結構和數據窗口、用戶對象、用戶事件等等,對象中又包含若干控件如命令按鈕、單行編輯器等這些對象和控件都可在許多應用中重復使用。3.5.1 實現菜單選項
菜單是程序最重要的特性之一,大多數程序都依賴一個定義良好的菜單使程序易于使用和維護,Visual Basic 也提供了強大的創建菜單功能是程序更加標準。
本系統使用 Visual Basic 的菜單編輯器建立菜單或者修改已經存在的菜單,您也可以使用Visual Basic 的Application Wizard 來操作。3.5.2 實現工具欄
CoolBar控件與Office2000 中看到的CoolBar是類似的。CoolBar就是一個可以在窗體上浮動的工具,同時也是其他ActiveX的容器。通過在CoolBar中遷入其他空間你也可以向用戶提供更好的靈活性和義用性。
選擇“工程”下拉菜單中的“部件”選項,顯示“部件”對話框。在“控件”選項卡列表中選擇“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。
本系統就用了Cool工具中的Statubar控件,在系統這一界面中,添加了狀態欄,在第一個欄中,在樣式這一欄中選擇了文本,在第二個欄中,選擇了系統日期,第三個欄中選擇了系統時間,這樣,任何時候操作本系統,都可以看到當前的時間和日期。第四章 數據庫Access的基礎及應用 4.1數據庫的概念 數據庫是一種存儲數據并對數據進行操作的工具。數據庫的作用在于組織和表達信息,簡而言之,數據庫就是信息的集合。計算機的數據庫可以分為兩類:非關系數據庫(flat-file)和關系數據庫(relational)。關系數據庫中包含了多個數據表的信息,數據庫含有各個不同部分的術語,象記錄、域等。
新建一個數據庫,創建任何一個數據庫的第一步是仔細的規劃數據庫,設計必須是靈活的、有邏輯的。創建一個數據庫結構的過程被認為是數據模型設計。1. 標識需要的數據;
2. 收集被標識的字段到表中; 3. 標識主關鍵字字段; 4. 繪制一個簡單的數據圖表; 5. 規范數據;
6. 標識指定字段的信息; 7. 創建物理表。修改已建的數據庫
數據庫的修改分為:添加、編輯和刪除記錄。這三種操作均可由Visual Basic 創建的程序來完成,下面的章節將詳細描述實現的具體方法。實現數據庫之間的聯系
數據庫之間的關系指明兩個庫之間共享一個共同的關鍵字值。一個連接是指一種虛擬的表,這種表是在當用戶要求從相互關聯的各個不同的表中獲取信息時建立的,關鍵字段用于在相互連接的不同表中查找匹配的記錄。一個更高級的連接形式稱為自連接。這種連接是指一個表被連接到它自己的一個字段,或在不同的紀錄中由重復數據的組合字段。數據庫中有三種不同類型的關鍵字:主關鍵字、組合關鍵字和外關鍵字。在表中使用的關鍵字類型用于描述庫表示什么以及在數據庫中如何與其它的庫建立關系。
第五章程序及其分析 5.1 程序框圖
5.2 主界面圖:
5.3信息查詢圖表及代碼 Dim i, j, n As Integer Dim sql As String Private Declare Function GetKeyState Lib “user32” _(ByVal nVirtKey As Long)As Integer Public je As Integer '記憶菜單上次數值,實現數據傳送
Private Sub acg_Click()Call asPopup7_Click(False)End Sub
Private Sub addcg_Click()Call asPopup6_Click(False)End Sub
Private Sub addstudent_Click()Call asPopup2_Click(False)End Sub
Private Sub asPopup1_Click(Cancel As Boolean)Grid1.Visible = True Grid2.Visible = False tkbase = “學生信息” fnumber = 13 sql = “select * from ” & tkbase & “ order by 學號 desc” grid1pz '執行grid1的分配空間任務 datagrid '按要求讀取數據空間 End Sub Private Sub grid1pz()'處理grid1的操作 Grid1.Cols = fnumber + 1 Grid1.Column(1).Width = 120 Grid1.Column(2).Width = 100 Grid1.Column(3).Width = 80 Grid1.Column(4).Width = 40 Grid1.Column(5).Width = 80 Grid1.Column(6).Width = 30 Grid1.Column(7).Width = 50 Grid1.Column(8).Width = 80 Grid1.Column(9).Width = 60 Grid1.Column(10).Width = 80 Grid1.Column(11).Width = 100 Grid1.Column(12).Width = 100 Grid1.Column(13).Width = 100 Grid1.Column(4).CellType = cellComboBox Grid1.ComboBox(4).Clear Grid1.ComboBox(4).AddItem “男” Grid1.ComboBox(4).AddItem “女” Grid1.Column(5).CellType = cellCalendar Grid1.Column(2).CellType = cellComboBox Grid1.ComboBox(2).Clear Set qy2 = cnn.Execute(“select 班級名稱 from 班級”)Do While Not qy2.EOF
Grid1.ComboBox(2).AddItem qy2.Fields(0)qy2.MoveNext Loop Grid1.Column(9).CellType = cellComboBox Grid1.ComboBox(9).Clear Grid1.ComboBox(9).AddItem “團員” Grid1.ComboBox(9).AddItem “黨員” Grid1.ComboBox(9).AddItem “無” Grid1.Column(1).Locked = True End Sub
Private Sub asPopup10_Click(Cancel As Boolean)Dim fo2 As CTranslucentForm Set fo2 = New CTranslucentForm fo2.hWnd = Form6.hWnd fo2.Alpha = 90 / 100 * 255 Me.WindowState = vbMinimized Load Form6 Form6.Show 1 End Sub
Private Sub asPopup2_Click(Cancel As Boolean)Grid1.Visible = True Grid2.Visible = False tkbase = “學生信息” fnumber = 13 Set qy1 = cnn.Execute(“select * from ” & tkbase)grid1pz For i = 1 To fnumber Grid1.Cell(0, i).Text = qy1.Fields(i1).Name Next Grid2.Rows = 1 Grid2.Rows = 21 gridsave = True gridedit = False griddel = False Grid2.Column(1).Locked = False Grid2.Column(2).Locked = True Grid2.Column(3).Locked = False Grid2.Column(4).Locked = True End Sub
Private Sub asPopup7_Click(Cancel As Boolean)Grid1.Visible = False Grid2.Visible = True tkbase = “學生與課程” fnumber = 6 sql = “select * from ” & tkbase & “ order by 學號 asc” gridpz2 datagrid gridsave = False gridedit = True griddel = True Grid2.Column(1).Locked = True Grid2.Column(2).Locked = True Grid2.Column(3).Locked = True Grid2.Column(4).Locked = True End Sub Private Sub gridpz2()Grid2.Cols = 8 Grid2.Column(1).Width = 120 Grid2.Column(3).Width = 120 Grid2.Column(1).CellType = cellComboBox Set qy1 = cnn.Execute(“select * from 課程”)Grid2.ComboBox(1).Clear Do While Not qy1.EOF
Grid2.ComboBox(1).AddItem qy1.Fields(0)& “-” & qy1.Fields(1)qy1.MoveNext Loop Grid2.Column(3).CellType = cellComboBox Set qy1 = cnn.Execute(“select 學號,名字 from 學生信息”)Grid2.ComboBox(3).Clear Do While Not qy1.EOF
Grid2.ComboBox(3).AddItem qy1.Fields(0)& “-” & qy1.Fields(1)qy1.MoveNext Loop End Sub
Private Sub asPopup8_Click(Cancel As Boolean)Dim fo2 As CTranslucentForm Set fo2 = New CTranslucentForm fo2.hWnd = Form7.hWnd fo2.Alpha = 85 / 100 * 255 Load Form7 Form7.Show 1 End Sub
Private Sub asPopup9_Click(Cancel As Boolean)End End Sub
Private Sub c1_Click(Index As Integer)'提交內容到函數執行,4為當前菜單(0-4),index是按鈕數組名稱 cmove 4, Index End Sub Private Sub cmove(s As Integer, i As Integer)'菜單智能移動函數代碼S代表菜單的總數,i代表當前移動的是數組名稱 Dim j As Integer Dim X, Y, z, x1, y1 As Integer X = s '將x,y,z,x1賦于菜單總數,x存放frame1的固定值 Y = s 'y存放的是移動后的按鈕的固定值 z = s 'Z沒用上 x1 = s 'X1沒用上 j = 0 'j計算按鈕的寬度
Do While s > 0 ' 這里是通過重復計算來計算按鈕所需移動的總高度
If je > i Then
Do While X > i
Do While Y >= X
j = j + 360 '360是每個按鈕的高度
Y = Yj
X = X360
j = 0
Next
End If s = sFre2(y1).Top
Else
Fre2(y1).Height = Fre1.Heightc1(y1).Height
End If
Else
Fre2(y1).Visible = False
End If Next Loop je = i '這里是記憶上次移動的按鈕數組編號 End Sub
Private Sub cgdel_Click()Call XPButton6_Click End Sub
Private Sub cgedit_Click()Call XPButton4_Click End Sub
Private Sub delstudent_Click()Call XPButton6_Click End Sub
Private Sub editstudent_Click()Call XPButton4_Click End Sub
Private Sub findcg_Click()If hang = 0 Then Exit Sub End If Grid1.Visible = False Grid2.Visible = True tkbase = “學生與課程” fnumber = 5 sql = “select * from 學生與課程 where 學號='” & Grid1.Cell(hang, 1).Text & “'” gridpz2 datagrid gridsave = False gridedit = True griddel = True Grid2.Column(1).Locked = True Grid2.Column(2).Locked = True Grid2.Column(3).Locked = True End Sub
Private Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub Grid1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then If gridsave = True Then savestudent.Enabled = True Else savestudent.Enabled = False End If If gridedit = True Then editstudent.Enabled = True Else editstudent.Enabled = False End If If griddel = True Then delstudent.Enabled = True Else delstudent.Enabled = False End If If admin = False Then addstudent.Enabled = False savestudent.Enabled = False editstudent.Enabled = False delstudent.Enabled = False End If PopupMenu student End If End Sub
Private Sub Grid1_RowColChange(ByVal Row As Long, ByVal Col As Long)hang = Row If gridsave = True And Col = 5 Then '確認默認年齡在20歲左右
If Row <> 0 Then Grid1.Cell(Row, 5).Text = Date1 Then
Grid1.Range(nActiveRow, nActiveCol + 1, _
nActiveRow, nActiveCol + 1).Selected
End If
Cancel = True
End If End Sub Private Sub Form_Load()On Error GoTo finish Grid1.SetRegisterInformation “CNwinndy”, “W]vyY-nonvk-unty-Zbl_e-`hms^” '進行注冊
Grid2.SetRegisterInformation “CNwinndy”, “W]vyY-nonvk-unty-Zbl_e-`hms^” '進行注冊
Label2.Caption = “今天是” & Year(Date)& “年” & Month(Date)& “月” & Day(Date)& “日,歡迎您進入!” Frame2.Visible = False
form1.BackColor = RGB(167, 111, 177)'-------------管理員驗證 If admin = False Then c1(3).Enabled = False
asPopup2.Enabled = False '增加學生 asPopup4.Enabled = False '課程管理 asPopup6.Enabled = False '輸入成績 XPButton4.Enabled = False XPButton5.Enabled = False XPButton6.Enabled = False End If With Grid1.AllowUserResizing = True.DisplayFocusRect = False
.ExtendLastCol = True
.Appearance = Flat.FixedRowColStyle = Flat.ScrollBarStyle = Flat
.DefaultFont.Name = “Tahoma”.DefaultFont.SIZE = 8.BackColorFixed = RGB(84, 201, 134)
.BackColorFixedSel = RGB(167, 111, 177)
.BackColorBkg = RGB(198, 229, 211)
.BackColorScrollBar = RGB(167, 111, 177)
.BackColor1 = RGB(231, 235, 247)
.BackColor2 = RGB(198, 229, 211)
.GridColor = RGB(148, 190, 231)
.Column(0).Width = 0 End With With Grid2.AllowUserResizing = True.DisplayFocusRect = False.ExtendLastCol = True.Appearance = Flat.FixedRowColStyle = Flat.ScrollBarStyle = Flat.AllowUserResizing = True.DisplayFocusRect = False.ExtendLastCol = True.Appearance = Flat.FixedRowColStyle = Flat.ScrollBarStyle = Flat.DefaultFont.Name = “Tahoma”.DefaultFont.SIZE = 8.BackColorFixed = RGB(84, 201, 134)
.BackColorFixedSel = RGB(167, 111, 177)
.BackColorBkg = RGB(198, 229, 211)
.BackColorScrollBar = RGB(167, 111, 177).BackColor1 = RGB(231, 235, 247)
.BackColor2 = RGB(198, 229, 211)
.GridColor = RGB(148, 190, 231).Column(0).Width = 0 End With je = 4 Dim fr As Integer Fre1.BackColor = RGB(168, 217, 189)For fr = 0 To 4 Fre2(fr).Visible = False Fre2(fr).BackColor = RGB(106, 137, 188)Next Grid2.Visible = False Call c1_Click(0)Exit Sub finish: MsgBox Err.Description End Sub
Private Sub Grid2_CellChange(ByVal Row As Long, ByVal Col As Long)'使用智能輸入 If Grid2.Cell(Row, 1).Text <> “" And Row <> 0 Then Dim length1, length2 As Integer length1 = Len(Grid2.Cell(Row, 1).Text)Do While length2 < length1
length2 = length2 + 1
If Right(Left(Grid2.Cell(Row, 1).Text, length2), 1)= ”-“ Then
Grid2.Cell(Row, 2).Text = Mid(Grid2.Cell(Row, 1).Text, length2 + 1, length1)
Grid2.Cell(Row, 1).Text = Mid(Grid2.Cell(Row, 1).Text, 1, length21)
Exit Do
End If Loop End If End Sub Private Sub Grid2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then If admin = False Then cgedit.Enabled = False cgdel.Enabled = False
addcg.Enabled = False End If PopupMenu cg End If End Sub
Private Sub Grid2_RowColChange(ByVal Row As Long, ByVal Col As Long)hang = Row End Sub
Private Sub datagrid()griddelete = True '允許刪除 gridedit = True If tkbase = ”學生信息“ Then If qy1.State = adStateOpen Then '表狀態 qy1.Close End If qy1.Open sql, cnn, adOpenStatic, adLockReadOnly, adCmdText For i = 1 To fnumber Grid1.Cell(0, i).Text = qy1.Fields(i1)Is Nothing Then '空值的處理
Grid1.Cell(i, j).Text = qy1.Fields(j1).Name Next qy1.PageSize = 20 nnum = qy1.PageCount If qy1.PageCount = 0 Then nnum = 1 End If numpage = 1 Label1.Caption = ”共“ & nnum & ”頁 第“ & numpage & ”頁“ Grid2.Rows = 1 Grid2.Rows = 21 If qy1.RecordCount = 0 Then Exit Sub End If qy1.AbsolutePage = numpage For i = 1 To qy1.PageSize '設定讀取行 For j = 1 To fnumber '設定讀取列
If qy1.EOF = True Then Exit Sub End If If Not qy1.Fields(j1)Else Grid2.Cell(i, j).Text = ”“ End If Next If qy1.EOF = False Then qy1.MoveNext '讀取下一記錄 Else Exit Sub End If Next End If End Sub
Private Sub Grid2_Validate(Cancel As Boolean)
Dim nActiveRow As Long, nActiveCol As Long
Const VK_TAB = 9
If GetKeyState(VK_TAB)< 0 Then
nActiveRow = Grid1.ActiveCell.Row
nActiveCol = Grid1.ActiveCell.Col
If nActiveCol < Grid1.Cols1 qy1.AbsolutePage = numpage Grid1.Rows = 1 Grid1.Rows = 21 For i = 1 To 20 '設定讀取行 For j = 1 To fnumber '設定讀取列
If qy1.Fields(j1)End If Next qy1.MoveNext '讀取上一記錄 Next End If Label1.Caption = ”共“ & nnum & ”頁 第“ & numpage & ”頁“ ElseIf tkbase = ”學生與課程“ Then If numpage > 1 Then numpage = numpage1)= Null Then '空值的處理 Grid2.Cell(i, j).Text = ”“ Else Grid2.Cell(i, j).Text = qy1.Fields(j1)= Null Then '空值的處理 Grid1.Cell(i, j).Text = ”“ Else Grid1.Cell(i, j).Text = qy1.Fields(j1)= Null Then '空值的處理 Grid2.Cell(i, j).Text = ”“ Else Grid2.Cell(i, j).Text = qy1.Fields(j1 If Grid1.Cell(hang, 1).Text = ”“ Then MsgBox ”己完成修改操作!“, , ”提示“ Exit Sub End If sql = ”update “ & tkbase & ” set “
For j = 2 To fnumber1).Name & ”='“ & Grid1.Cell(hang, j).Text & ”',“
Next sql = sql & qy1.Fields(j1 If Grid2.Cell(hang, 1).Text = ”“ Then MsgBox ”己完成修改操作!“, , ”提示“ Exit Sub End If sql = ”update “ & tkbase & ” set “
For j = 2 To fnumber1).Name & ”='“ & Grid2.Cell(hang, j).Text & ”',“
Next sql = sql & qy1.Fields(j1
sql = sql & Grid1.Cell(i, j).Text & ”','“
Next sql = sql & Grid1.Cell(i, fnumber).Text & ”')“ Set qy1 = cnn.Execute(sql)End If Next MsgBox ”命令執行完畢!“, vbInformation, ”完成“ Grid1.Rows = 1 Grid1.Rows = 21 Case ”學生與課程“ MsgBox ”未授權版本,學生與課程的保存代碼未執行“ End Select gridsave = False griddelete = False '拒絕刪除 gridedit = False
Exit Sub tkFinish:
MsgBox Err.Description End Sub Private Sub XPButton6_Click()On Error GoTo tkFinish MsgBox ”未授權版本,不支持目標刪除操作!“, , ”提示“ Exit Sub tkFinish:
MsgBox Err.Description End Sub
Private Sub XPButton8_Click(Index As Integer)Call findcg_Click End Sub
5.4成績統計表及程序如下:
相關程序代碼如下:
Private Sub Form_Load()XPFrame1.Visible = False
Set qy2 = cnn.Execute(”select 班級名稱 from 班級“)Do While Not qy2.EOF
Combo1.AddItem qy2.Fields(0)qy2.MoveNext Loop Set qy2 = cnn.Execute(”select 課程名稱 from 課程“)Do While Not qy2.EOF
Combo2.AddItem qy2.Fields(0)qy2.MoveNext Loop End Sub
Private Sub XPButton1_Click()If XPRadioButton1.Value = True Then XPFrame1.Visible = False
If Combo1.Text <> ”“ And Combo2.Text <> ”“ Then tbsql1 = ”select 姓名,avg(成績)as平均成績,max(成績)as 最高分,min(成績)as 最低分 from 學生與課程,學生信息 where 學生與課程.學號=學生與課程.學號 and 學生信息.學號=學生與課程.學號 and 班級='“ & Combo1.Text & ”' and 課程名稱='“ & Combo2.Text & ”' Group by 姓名 order by avg(成績)desc“ tbbm1 = Combo1.Text & Combo2.Text & ” 成績統計表“ tbsql2 = ”select 成績 from 學生與課程,學生信息 where 學生與課程.學號=學生信息.學號 and 班級='“ & Combo1.Text & ”' and 課程名稱='“ & Combo2.Text & ”'“ ElseIf Combo1.Text <> ”“ Then tbsql1 = ”select 姓名,avg(成績)as平均成績,max(成績)as 最高分,min(成績)as 最低分 from 學生與課程,學生信息 where 學生與課程.學號=學生與課程.學號 and 學生信息.學號=學生與課程.學號 and 班級='“ & Combo1.Text & ”' Group by 姓名 order by avg(成績)desc“ tbbm1 = Combo1.Text & ”所有成績統計表“ tbsql2 = ”select 成績 from 學生與課程,學生信息 where 學生與課程.學號=學生信息.學號 and 班級='“ & Combo1.Text & ”'“ Else tbsql1 = ”select 姓名,avg(成績)as平均成績,max(成績)as 最高分,min(成績)as 最低分 from 學生與課程,學生信息 where 學生與課程.學號=學生與課程.學號 and 學生信息.學號=學生與課程.學號 Group by 姓名 order by avg(成績)desc“ tbbm1 = ”所有學生成績統計表“ tbsql2 = ”select 成績 from 學生與課程,學生信息 where 學生與課程.學號=學生信息.學號“ End If Unload Me Form5.Show 1 Else If Combo1.Text <> ”“ Then Class = Combo1.Text tbbm1 = Combo1.Text & ” 成績統計表“ Else MsgBox ”未選擇班級!“ XPFrame1.Visible = False Exit Sub End If Unload Me Form8.Show 1 End If End Sub
登陸界面
成績查詢圖表如下:
相關程序代碼如下: Private Sub Form_Load()XPFrame1.Visible = False
Set qy2 = cnn.Execute(”select 班級名稱 from 班級“)Do While Not qy2.EOF
Combo1.AddItem qy2.Fields(0)qy2.MoveNext Loop Set qy2 = cnn.Execute(”select 課程名稱 from 課程“)Do While Not qy2.EOF
Combo2.AddItem qy2.Fields(0)qy2.MoveNext Loop End Sub
Private Sub XPButton1_Click()If XPRadioButton1.Value = True Then XPFrame1.Visible = False
If Combo1.Text <> ”“ And Combo2.Text <> ”“ Then tbsql1 = ”select 姓名,avg(成績)as平均成績,max(成績)as 最高分,min(成績)as 最低分 from 學生與課程,學生信息 where 學生與課程.學號=學生與課程.學號 and 學生信息.學號=學生與課程.學號 and 班級='“ & Combo1.Text & ”' and 課程名稱='“ & Combo2.Text & ”' Group by 姓名 order by avg(成績)desc“ tbbm1 = Combo1.Text & Combo2.Text & ” 成績統計表“ tbsql2 = ”select 成績 from 學生與課程,學生信息 where 學生與課程.學號=學生信息.學號 and 班級='“ & Combo1.Text & ”' and 課程名稱='“ & Combo2.Text & ”'“ ElseIf Combo1.Text <> ”“ Then tbsql1 = ”select 姓名,avg(成績)as平均成績,max(成績)as 最高分,min(成績)as 最低分 from 學生與課程,學生信息 where 學生與課程.學號=學生與課程.學號 and 學生信息.學號=學生與課程.學號 and 班級='“ & Combo1.Text & ”' Group by 姓名 order by avg(成績)desc“ tbbm1 = Combo1.Text & ”所有成績統計表“ tbsql2 = ”select 成績 from 學生與課程,學生信息 where 學生與課程.學號=學生信息.學號 and 班級='“ & Combo1.Text & ”'“ Else tbsql1 = ”select 姓名,avg(成績)as平均成績,max(成績)as 最高分,min(成績)as 最低分 from 學生與課程,學生信息 where 學生與課程.學號=學生與課程.學號 and 學生信息.學號=學生與課程.學號 Group by 姓名 order by avg(成績)desc“ tbbm1 = ”所有學生成績統計表“ tbsql2 = ”select 成績 from 學生與課程,學生信息 where 學生與課程.學號=學生信息.學號“ End If Unload Me Form5.Show 1 Else If Combo1.Text <> ”“ Then Class = Combo1.Text tbbm1 = Combo1.Text & ” 成績統計表“ Else MsgBox ”未選擇班級!“ XPFrame1.Visible = False Exit Sub End If Unload Me Form8.Show 1 End If End Sub 成績統計;
Private mblnChanged As Boolean Private Sub Form_Load()On Error GoTo finish Grid1.SetRegisterInformation ”CNwinndy“, ”W]vyY-nonvk-unty-Zbl_e-`hms^“ '進行注冊
Dim i As Long
Dim ac1, ac2, ac3, ac4, ac5 As Integer
Grid1.AutoRedraw = False
Grid1.CellBorderColorFixed = vbButtonShadow
Grid1.FixedRowColStyle = Flat
Grid1.Rows = 40
Grid1.Cols = 5
Grid1.RowHeight(1)= 30 For i = 1 To 1 Grid1.Column(i).Width = 70
Next
'設置單元格文字
Grid1.Cell(1, 1).Text = tbbm1 '圖表的表名稱
Grid1.Cell(2, 1).Text = ”姓 名“
Grid1.Cell(3, 1).Text = ”平均分“
Grid1.Cell(4, 1).Text = ”最高分“
Grid1.Cell(5, 1).Text = ”最低分“
Set qy1 = cnn.Execute(tbsql1)
If qy1.EOF = True Then
MsgBox ”無任何對應數據!“
Exit Sub
End If
Do While Not qy1.EOF
Grid1.Cols = Grid1.Cols + 1
Grid1.Cell(2, Grid1.Cols1).Text = Mid(qy1.Fields(1), 1, 4)
Grid1.Cell(4, Grid1.Cols1).Text = Mid(qy1.Fields(3), 1, 4)
qy1.MoveNext
Loop For i = 1 To Grid1.Cols1).Merge
Grid1.Range(1, 1, 5, 1).Alignment = cellCenterCenter
Grid1.Range(2, 1, 2, Grid1.Cols1).Alignment = cellRightCenter
Grid1.Range(2, 1, 2, Grid1.Cols1)
.Borders(cellEdgeLeft)= cellThin
.Borders(cellEdgeRight)= cellThin
.Borders(cellEdgeTop)= cellThin
.Borders(cellEdgeBottom)= cellThin
.Borders(cellInsideHorizontal)= cellThin
.Borders(cellInsideVertical)= cellThin
End With
'添加一個3D柱形圖表,并設置細邊框
With Grid1.Range(7, 1, 15, Grid1.Cols1
.ChartType = cell3DColumnClustered
.ScaleFont = False
End With
Set qy2 = cnn.Execute(tbsql2)Dim cg As Double
'對成績進行圖表顯示
Do While Not qy2.EOF
cg = qy2.Fields(0)
Select Case cg
Case 90 To 150
ac1 = ac1 + 1
Case 80 To 89
ac2 = ac2 + 1
Case 70 To 79
ac3 = ac3 + 1
Case 60 To 69
ac4 = ac4 + 1
Case 0 To 59
ac5 = ac5 + 1
End Select
qy2.MoveNext Loop
Grid1.Cols = Grid1.Cols + 5
Grid1.Cell(17, 1).Text = ”比例統計“
Grid1.Cell(18, 1).Text = ”優“
Grid1.Cell(18, 2).Text = ”良“
Grid1.Cell(18, 3).Text = ”中“
Grid1.Cell(18, 4).Text = ”及格“
Grid1.Cell(18, 5).Text = ”不及格“
Grid1.Cell(19, 1).Text = ac1
Grid1.Cell(19, 2).Text = ac2
Grid1.Cell(19, 3).Text = ac3
Grid1.Cell(19, 4).Text = ac4
Grid1.Cell(19, 5).Text = ac5
'設置單元格格式
Grid1.Cell(17, 1).Font.Size = 11
Grid1.Range(17, 1, 17, 5).Merge
Grid1.Range(17, 1, 17, 5).Alignment = cellCenterCenter
Grid1.Range(18, 1, 19, 5).Alignment = cellCenterCenter
Grid1.Range(18, 1, 18, 5).BackColor = vbYellow
With Grid1.Range(18, 1, 18, 5)
.Borders(cellEdgeLeft)= cellThin
.Borders(cellEdgeRight)= cellThin
.Borders(cellEdgeTop)= cellThin
.Borders(cellEdgeBottom)= cellThin
.Borders(cellInsideHorizontal)= cellThin
.Borders(cellInsideVertical)= cellThin
End With
'添加一個餅圖
With Grid1.Range(22, 1, 32, 5)
.Merge
.Borders(cellEdgeLeft)= cellThin
.Borders(cellEdgeRight)= cellThin
.Borders(cellEdgeTop)= cellThin
.Borders(cellEdgeBottom)= cellThin
End With
Grid1.AddChart 22, 1
With Grid1.Chart(22, 1)
.SetDataSource 18, 1, 19, 5
.ChartType = cell3DPie
.DisplayDataLabels = True
.ScaleFont = False
End With
Grid1.PageSetup.CenterHorizontally = True
'設置打印區域
Grid1.PageSetup.PrintRows = 37
Grid1.PageSetup.PrintColumns = 4
Grid1.AutoRedraw = True
Grid1.Refresh Exit Sub finish:
MsgBox Err.Description 'MsgBox ”無此對象或其它參數錯誤!" End Sub
Private Sub Form_Resize()If Me.WindowState <> 1 Then
Grid1.Left = 240
Grid1.Width = Me.Width960 End If End Sub
總結
通過近三個月的畢業設計,經過資料的收集、方案的選擇比較和論證,到分析計算,再到程序的編制以及畢業設計論文的撰寫等各個環節,我對大學三年專科階段的知識有了一個整體的深層次的理解,同時對程序的理解更加深刻和準確。因此,通過畢業設計實現了預期目標
致
謝
我由衷的感謝我的指導老師杜濤對我的學習、工作、以及課題的研究和論文撰寫過程中面臨的問題所給的細心指導和無私幫助感謝和我一起做畢業設計的何愛云 常旭存同學給我的幫主和啟迪 使我們正確按時地完成了此次畢業設計的全部內容,也感謝機電工程系教研室全體老師、支持我的其他老師和同學對我的熱心幫助。謹向審評本文的各位專家、老師致意!
參 考 文 獻
[1].劉新民,蔡瓊,白康生編著《Visual Basic 6.0程序設計》清華大學出版社2004
[2].郭勝,夏邦貴編著《Visual Basic數據庫開發入門與范例解析》機械工業出版社2004.1
[3].王彬華,李建華編著《Visual Basic實例教程》電子科技大學出版社2004.4
[4].劉韜,駱娟,何旭洪編著《Visual Basic數據庫系統開發實例導航(第二版)》人民郵電出版社2003.8
[5].孫越編著《Visual Basic數據庫開發自學教程》人民郵電出版社2003.7
[6].郭曉烹編著《Visual Basic高級編程及其項目應用開發》中國水利水電出版社
[7].曹青 郭志強編著的《Visual Basic程序設計教程》機械工業出版社
第二篇:學生信息管理系統
摘 要
隨著網絡通信技術的迅速發展和信息技術的廣泛應用,計算機的應用已普及到經濟和社會生活的各個領域。教育領域也不例外,現今已經出現了各種遠程網絡在線教育系統、圖書館管理系統、學生信息管理系統等。其中學生信息管理是任一院校都不可缺少的部分,它的內容對于學校的決策者和教學管理者來說都至關重要,而傳統的人工管理方式效率較低,為數據的查詢、更新和維護帶來了極大的不便。所以學生信息管理信息系統的開發和應用是必要的,它能夠為管理人員提供充足的信息和快捷的查詢手段,提高學校對學生信息的管理效率。
本文的學生信息管理系統是基于java語言的,它能夠提供學生信息管理功能,方便系統管理員對學生學號、班級等信息的添加、修改、刪除、查詢等操作,同時可以一樣方便的對學生的信息進行查詢。本系統也主要利用java語言和access實現,因此它具有很強的可移植性,很方便。
關鍵字: 學生信息 管理系統
添加 刪除 查詢 修改
Abstract With the rapid development of network communication technology and extensive application of information technology, computer applications have spread to the economic and social life in various fields.The field of education is no exception, now there have been a variety of remote network online education system, library management system, student information management system.Which is either a student information management schools are an indispensable part of its contents and teaching for school managers, policy-makers are essential, and the traditional manual management inefficient for data query, update and maintenance brought great inconvenience.So the student information management system development and application of information is necessary, it is able to provide managers with sufficient information and quick inquiry means to improve school student information management efficiency.This student information management system is based on the java language, it is able to provide students with information management function to facilitate system administrators to students student number, class and other information to add, modify, delete, query and other operations, but can be just as convenient for students information to search.This system is mainly achieved using java language and access, so it is very portable, very convenient.Keywords: Student Information Management System add delet revise
前言
隨著計算機技術的飛速發展,信息時代的到來,信息改變了我們這個社會。學校在管理、教學、辦公各個方面也在悄悄地變化。一個學校的信息化程度體現在將計算器與信息技術應用于教學與管理,以現代化工具代替傳統手工作業。無疑,使用信息化管理使教學更先進、辦公更高效、管理更科學,信息交流更迅速。
學生成績管理系統是一個教育單位不可缺少的部分,它的內容對于學校的決策者和管理者來說都至關重要,所以學生成績信息管理系統應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的文件和數據,這對于查找、更新和維護都帶來了不少的困難。
作為計算機應用的一部分,使用計算機對學生成績信息進行管理,具有著手工管理所無法比擬的優點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高學生檔案管理的效率,也是企業的科學化、正規化管理,與世界接軌的重要條件。
因此,開發這樣一套管理軟件成為很有必要的事情,故決定選擇學生成績管理系統來作為本人的畢業設計,在很短的時間里開發出一套界面友好,功能強大,使用簡單的適用于各規模學院的學生成績管理系統。該學生成績管理系統能有效的處理在校學生的成績管理,具有成績輸入、成績查詢、成績統計及打印功能。
學生成績管理系統可以實施應用在各中、大、小院校中,適用范圍很廣,應用性強。隨著系統實施的日益成熟,最終會使單機作業為主的教學管理活動提高到這個平臺上來,從而實現學校學生成績信息管理的辦公自動化,籍以提高辦學效率和質量。使學校充分利用計算機所帶來的新技術,為培養人才打下堅實的基礎。
第一章 相關技術簡介
1.1 java語言簡介
Java語言是sun公司與1995年5月正式發布的程序設計語言,他的前身是sun公司為智能消費類家用電器研究而開發的項目的一部分。
Java程序設計語言是新一代語言的代表,他強調了面向對象的特性,可以用來開發范圍廣泛的軟件,它具有支持圖形化的用戶界面,網格以及數據庫連接等復雜功能。Java語言的主要特點: 1)易于學習
Java語言很簡單,對于熟悉C++的程序設計人員更不會對其感到陌生,因 為它的語法非常接近于C++,但他同時摒棄了C++許多的復雜易混淆的功能。利用java同樣可以變質出非常復雜的系統,且運行占用很少的內存資源。2)高效率的執行方式
Java語言的執行方式是采用先經過編譯器編譯,在通過解釋器解釋執行的 方式來運行的。他綜合了解釋性語言與編譯語言的眾多有點,使其執行效率較以往的程序設計語言有了大幅度的提高。3)與平臺的無關性
由于iava語言是解釋執行的,他會被轉換成一種字節碼的“目標程序”。因此它可以跨平臺運行 4)分布式安全性
Java從誕生之日起就與網絡聯系在了一起,他強調網絡特性,內置TCPIP,HTTP,FTP協議庫,便于開發網上應用系統。5)豐富的API文檔和類庫
Java為用戶提供了詳盡的API(Application Program Interface)文檔說明。
1.2 access數據庫簡介
Microsoft Office Access是微軟把數據庫引擎的圖形用戶界面和軟件開發工具結合在一起的一個數據庫管理。他擁有邏輯、流程處理,即VBA語言(VB也可以用來做邏輯處理);又可以存儲數據,即在“表”中存儲數據。
第二章 系統分析
2.1 系統分析
學生信息管理系統,可用于學校等機構的學生信息管理,查詢,更新與維護,使用方便,易用性強,圖形界面清晰明了。該軟件用java語言編寫,用access數據庫作為后臺的數據庫進行信息的存儲,用SQL語句完成學生學籍信息的添加,查詢,修改,刪除的操作以及成績的錄入,修改,刪除等。用ODBC驅動實現前臺Java與后臺SQL數據庫的連接。Java語言跨平臺性強,可以在windows,linux,ubuntu等系統下使用,方便簡單,安全性好。
本《學生管理系統》具有對學生進行學籍管理的功能。并于數據庫相連接,能夠對學生的學號、姓名、性別、班級、專業進行查詢、添加和刪除等,簡捷方便,容易使用。2.2 應解決的問題
2.2.1合理的設計數據庫
盡量合理地減少數據庫數據的冗余,使重復的數據保持在最小限度,這樣將不必要的多占用存儲空間,減少產生混亂影響的危險,還能提高計算機的運行速度。作為學生成績管理系統,必須能解決以下方面的問題:能錄入信息。
在開發學生信息管理系統時,最重要的就是學生的基本信息,其學生信息表E-R圖如圖2.1所示。
圖 2.1 學生信息E-R圖
2.2.2設計出友好的界面
界面的友好與否是用戶評價一個軟件優劣的重要方面。因為該系統涉及到
學生成績的真實性,所以該系統要具有一定的保密性和權限控制,首先應設計一個用戶的登陸窗口界面,要求只能由特定的人員對該系統進行操作。此外還應設計登陸后系統的主窗口,要求能夠顯示學生成績的基本信息,可以實現數據的錄入,更新,刪除、查詢、統計等功能。
另外窗口界面要多用按鈕,少用菜單,窗口的各個控鍵布局要合理,美觀。要充分的利用java.awt和java.swing提供的強大的功能,多用窗口和控件,充分體現窗口的多元化格局。
2.2.3實現的基本功能
該系統要求除了能實現信息的錄入,刪除,插入,更新,數據導出excel文件等基本功能之外,還要求能夠根據用戶的需要進行操作。例如要查詢學生成績,要求可以按照專業、班級等多種方式查詢。這些功能基本上能滿足用戶操作的需要,這樣用戶操作起來就更簡單方便。部分文本框使用了下拉式,使用戶可以不用花費大量的時間去輸入信息。
2.3 數據庫物理設計 1.1.1 3.3.1數據庫物理設計
本系統采用Access數據庫管理系統作為后臺數據庫的開發工具,設計的表結構如下:
第三章 程序代碼及運行效果
3.1主類代碼:
/*主類代碼*/ package kcsj;import java.awt.*;import javax.swing.*;import java.awt.event.*;
import javax.swing.border.*;import javax.swing.JOptionPane;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableColumn;import java.sql.*;import java.awt.GridLayout;public class myStudent { public myStudent(){
}
public static void main(String[] args){ // TODO code application logic here loginFrame lf=new loginFrame();Font ft=new Font(“Serif”,Font.BOLD,18);lf.setVisible(true);lf.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){
System.exit(0);} });} }
3.2 登陸: public loginFrame(){
p=new JPanel();
user=new JTextField(10);
pass=new JPasswordField(10);
login=new JButton(“登錄”);
cancel=new JButton(“退出”);
p.setBackground(Color.lightGray);
//user.setText(“王明玉”);
//pass.setText(“123456”);
login.addActionListener(this);
cancel.addActionListener(this);
p.add(new JLabel(“學生信息管理系統登錄”));
p.add(new JLabel(“賬號:”));
p.add(user);
p.add(new JLabel(“密碼:”));
p.add(pass);
p.add(login);
p.add(cancel);
this.add(p);
this.setTitle(“學生管理系統登錄界面”);
this.setSize(180,160);}
public void actionPerformed(ActionEvent e){
//查找
if(e.getSource()==login){
if(user.getText().toString().equals(“")){
JOptionPane.showMessageDialog(null, ”請輸入用戶名“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(pass.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”請輸入密碼“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
myConnection conn=new myConnection();
ResultSet rs;
String sql=”select * from admin where 用戶名 = '“+user.getText().toString()+”' and 密碼 = '“+pass.getText().toString()+”'“;
try{
rs=conn.getResult(sql);
if(rs.next()){
this.dispose();
//JOptionPane.showMessageDialog(null, ”此用戶已經存在“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
sql=”select * from student“;
mainFrame mf=new mainFrame();
mf.setTitle(”西北師范大學學生信息管理系統“);
mf.setSize(600,486);
mf.freshTable(sql);
mf.setVisible(true);
mf.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}else{
JOptionPane.showMessageDialog(null, ”用戶名或密碼錯誤“, ”登錄失敗“, JOptionPane.INFORMATION_MESSAGE);
}
}catch(Exception er){
System.out.println(er.toString());
}
}
//全部顯示
}if(e.getSource()==cancel){
System.exit(0);
} } } 登陸界面:
3.3 修改數據:
/*修改數據*/ class editFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;
JLabel 學號1,姓名1,性別1,民族1,年齡1,年級1,班級1,專業1;JTextField 學號,姓名,性別,民族,年齡,年級,班級,專業;JButton b;JPanel p;
mainFrame mf;
public editFrame(mainFrame mmf){ setTitle(”修改學生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180);
Container contentPane = getContentPane();contentPane.setLayout(new FlowLayout());
學號1=new JLabel(”學號“);姓名1=new JLabel(”姓名“);性別1=new JLabel(”性別“);民族1=new JLabel(”民族“);年齡1=new JLabel(”年齡“);年級1=new JLabel(”年級“);班級1=new JLabel(”班級“);
專業1=new JLabel(”專業“);
學號=new JTextField(5);姓名=new JTextField(5);性別=new JTextField(5);民族=new JTextField(5);年齡=new JTextField(5);年級=new JTextField(5);班級=new JTextField(10);專業=new JTextField(10);學號.setEnabled(false);b=new JButton(”確定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(學號1);p.add(學號);p.add(姓名1);p.add(姓名);p.add(性別1);p.add(性別);p.add(民族1);p.add(民族);p.add(年齡1);p.add(年齡);p.add(年級1);p.add(年級);p.add(班級1);p.add(班級);p.add(專業1);p.add(專業);p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按鈕監聽器
b.addActionListener(this);mf=mmf;}
public void actionPerformed(ActionEvent e){
if(學號.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null,”請輸入學號“,”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(姓名.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null,”請輸入姓名“,”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(年齡.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null,”請輸入年齡“,”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
String sql=”update student set 姓名='“+姓名.getText()+”',性別='“+性別.getText()+”',年齡=“+年齡.getText()+”,年級='“+年級.getText()+”',班級='“+班級.getText()+”',專業='“+專業.getText()+”',民族='“+民族.getText()+”' where 學號='“ + 學號.getText()+ ”'“;
myConnection conn=new myConnection();
try{
//JOptionPane.showMessageDialog(null, sql, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
if(conn.executeSql(sql)){
JOptionPane.showMessageDialog(null, ”修改成功“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
mf.freshTable(”select * from student“);
this.dispose();
}else{
JOptionPane.showMessageDialog(null, ”修改失敗“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}
}catch(Exception er){
System.out.println(er.toString());
}
}
}
}
3.4 查找數據:
class findFrame extends JDialog implements ActionListener{
mainFrame mf;JPanel p;JComboBox c;JTextField t;JButton b;JButton fAll;String sql=”select * from student“;String[] colStr={”學號“,”姓名“,”性別“,”民族“,”年齡“,”年級“,”班級“,”專業“};
public findFrame(mainFrame mmf){
mf=mmf;
p=new JPanel();
c=new JComboBox(colStr);
t=new JTextField(10);
b=new JButton(”查找“);
fAll=new JButton(”全部顯示“);
b.addActionListener(this);
fAll.addActionListener(this);
p.add(new JLabel(”選擇“));
p.add(c);
p.add(new JLabel(”查找內容“));
p.add(t);
p.add(b);
p.add(fAll);
this.add(p);
this.setTitle(”查找“);
this.setSize(450,80);}
public void actionPerformed(ActionEvent e){
//查找
if(e.getSource()==b){
String selectStr=c.getSelectedItem().toString();
if(selectStr==”年齡“){
sql=”select * from student where “+selectStr+” “+t.getText().toString();
}
else {
sql=”select * from student where “+selectStr+” '“+t.getText().toString()+”'“;
= = 12
}
mf.freshTable(sql);
//全部顯示
}if(e.getSource()==fAll){
sql=”select * from student“;
mf.freshTable(sql);
} } }
3.5 添加數據:
class addFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;
JLabel 學號1,姓名1,性別1,民族1,年齡1,年級1,班級1,專業1;JTextField 學號,姓名,性別,民族,年齡,年級,班級,專業;JButton b;JPanel p;
mainFrame mf;
public addFrame(mainFrame mmf){ setTitle(”修改學生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180);
Container contentPane = getContentPane();//contentPane.setBackground(Color.BLACK);//設置窗口顏色
contentPane.setLayout(new FlowLayout());
學號1=new JLabel(”學號“);
姓名1=new JLabel(”姓名“);
性別1=new JLabel(”性別“);
民族1=new JLabel(”民族“);
年齡1=new JLabel(”年齡“);
年級1=new JLabel(”年級“);
班級1=new JLabel(”班級“);
專業1=new JLabel(”專業“);
學號=new JTextField(”201071030240“,5);
姓名=new JTextField(5);
性別=new JTextField(”女“,5);
民族=new JTextField(5);
年齡=new JTextField(5);
年級=new JTextField(5);
班級=new JTextField(10);
專業=new JTextField(10);
b=new JButton(”確定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(學號1);p.add(學號);p.add(姓名1);p.add(姓名);p.add(性別1);p.add(性別);p.add(民族1);p.add(民族);p.add(年齡1);p.add(年齡);p.add(年級1);p.add(年級);p.add(班級1);p.add(班級);p.add(專業1);p.add(專業);p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按鈕監聽器
b.addActionListener(this);mf=mmf;}
public void actionPerformed(ActionEvent e){
if(學號.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”請輸入學號“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(姓名.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”請輸入姓名“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(年齡.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”請輸入年齡“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
String sql=”select * from student where 學號='“ + 學號.getText()+ ”'“;
myConnection conn=new myConnection();
ResultSet rs;
rs=conn.getResult(sql);
try{
//System.out.println(rs.getRow());
if(rs.next()){
JOptionPane.showMessageDialog(null, ”此學號已經存在“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
sql=”insert into student values('“ +學號.getText()+”','“+ 姓名.getText()+”','“+ 性別.getText()+”','“+ 民族.getText()+”',“+ 年齡.getText()+”,'“+ 年級.getText()+”','“+ 班級.getText()+”','“+ 專業.getText()+”')“;
if(conn.executeSql(sql)){
JOptionPane.showMessageDialog(null, ”添加成功“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
mf.freshTable(”select * from student“);
學號.setText(”“);
姓名.setText(”“);
性別.setText(”“);
民族.setText(”“);
年齡.setText(”“);
年級.setText(”“);
班級.setText(”“);
專業.setText(”“);
}else{
JOptionPane.showMessageDialog(null, ”添加失敗“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}
}
}catch(Exception er){
System.out.println(er.toString());
}
}
}
}
3.6 修改數據:
class editFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;
JLabel 學號1,姓名1,性別1,民族1,年齡1,年級1,班級1,專業1;JTextField 學號,姓名,性別,民族,年齡,年級,班級,專業;JButton b;JPanel p;
mainFrame mf;
public editFrame(mainFrame mmf){ setTitle(”修改學生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180);
Container contentPane = getContentPane();contentPane.setLayout(new FlowLayout());
學號1=new JLabel(”學號“);
姓名1=new JLabel(”姓名“);
性別1=new JLabel(”性別“);
民族1=new JLabel(”民族“);
年齡1=new JLabel(”年齡“);
年級1=new JLabel(”年級“);
班級1=new JLabel(”班級“);
專業1=new JLabel(”專業“);
學號=new JTextField(5);
姓名=new JTextField(5);
性別=new JTextField(5);
民族=new JTextField(5);
年齡=new JTextField(5);
年級=new JTextField(5);
班級=new JTextField(10);
專業=new JTextField(10);
學號.setEnabled(false);
b=new JButton(”確定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(學號1);p.add(學號);
p.add(姓名1);p.add(姓名);p.add(性別1);p.add(性別);p.add(民族1);p.add(民族);p.add(年齡1);p.add(年齡);p.add(年級1);p.add(年級);p.add(班級1);p.add(班級);p.add(專業1);p.add(專業);p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按鈕監聽器
b.addActionListener(this);mf=mmf;}
public void actionPerformed(ActionEvent e){
if(學號.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”請輸入學號“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(姓名.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”請輸入姓名“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(年齡.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”請輸入年齡“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
String sql=”update student set 姓名='“+姓名.getText()+”',性別='“+性別.getText()+”',年齡=“+年齡.getText()+”,年級='“+年級.getText()+”',班級='“+班級.getText()+”',專業='“+專業.getText()+”',民族='“+民族.getText()+”' where 學號='“ + 學號.getText()+ ”'“;
myConnection conn=new myConnection();
try{
//JOptionPane.showMessageDialog(null, sql, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
if(conn.executeSql(sql)){
JOptionPane.showMessageDialog(null, ”修改成功“, ”溫馨提示“, JOptionPane.INFORMATION_MESSAGE);
mf.freshTable(”select * from student“);
this.dispose();
}else{
JOptionPane.showMessageDialog(null, ”修改失敗“, ”溫馨提示", JOptionPane.INFORMATION_MESSAGE);
}
}catch(Exception er){
System.out.println(er.toString());
}
} } }
運行效果:
第四章 總結
通過本次課程設計,不僅讓我更深入的了解JAVA這門學科,更使自己有了繼續探索的興趣。
對我來說,在之前的學習過程中沒有能夠很好的掌握JAVA語言的學習,在很多地方還有生疏和遺漏,并且在此次課程設計過程中也遇到困難不能自己獨立解決。但是,通過這次程序設計,除了增加了自己的編程能力,提高了我對JAVA的應用能力,同時我也深感“認真嚴謹”這個詞的重要性,一點點小的馬虎,便會導致整個程序不能正常運行。在今后的學習中,我將繼續保持嚴謹的學習態度。與此同時,在同學的幫助下,讓我體會到了相互學習的重要性,而更讓人難以忘懷的是在熱烈討論問題時,那激情橫溢的場面。總之,此次課程設計讓我獲益匪淺。
第五章 總結
課程設計是培養學生綜合運用所學知識,發現,提出,分析和解決實際問題,鍛煉實踐能力的重要環節,是對學生實際工作能力的具體訓練和考察過程.本次課程設計雖然很辛苦,實在是受益匪淺。本來這門課的知識學的就不夠扎實,本次課程設計,在設計過程中碰到了很多問題,剛開始要設計的時候,還真不知道從哪里下手但最終在圖書、同學和老師的幫助下都得到了解決,讓我學會了好多書本上沒有的東西,通過本次課程設計我也能將課本上的知識融會貫通,起到了很好的輔助學習的效果,但是我發現我學到的知識比整整一個學期學到的都多。理
論和實踐的相結合是學習最有效的方法。在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設計之后,一定把以前所學過的知識重新溫故。
通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。
第六章 參考文獻
第三篇:學生信息管理系統
–––––––––––––––––摘 要–––––––––––––––––
學生信息管理系統是典型的信息管理系統(MIS),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。
經過分析,我們使用MICROSOFT公司的VISUAL BASIC開發工具,利用其提供的各種面向對象的開發工具,尤其是數據窗口這一能方便而簡潔操縱數據庫的智能化對象,首先在短時間內建立系統應用原型,然后,對初始原型系統進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統。
關鍵字:控件、窗體、域、數據庫。
–––––––––––––––––前言–––––––––––––––––
隨著學校的規模不斷擴大,學生數量急劇增加,有關學生的各種信息量也成倍增長。面對龐大的信息量需要有學生管理系統來提高學生管理工作的效率。通過這樣的系統可以做到信息的規范管理、科學統計和快速查詢、修改、增加、刪除等,從而減少管理方面的工作量。
本系統主要用于學校學生信息管理,總體任務是實現學生信息關系的系統化、規范化和自動化,其主要任務是用計算機對學生各種信息進行日常管理,如查詢、修改、增加、刪除,另外還考慮到學生選課,針對這些要求設計了學生信息管理系統本系統主要用于學校學生信息管理,總體任務是實現學生信息關系的系統化、規范化和自動化,其主要任務是用計算機對學生各種信息進行日常管理,如查詢、修改、增加、刪除,另外還考慮到學生選課,針對這些要求設計了學生信息管理系統。
本系統主要包括學生信息查詢、教務信息維護和學生選課三部分。其功能主要有: ⒈有關學籍等信息的輸入,包括輸入學生基本信息、所在班級、所學課程和成績等。⒉學生信息的查詢,包括查詢學生基本信息、所在班級、已學課程和成績等。⒊學生信息的修改。
⒋班級管理信息的輸入,包括輸入班級設置、年級信息等。⒌班級管理信息的查詢。⒍班級管理信息的修改。⒎學生課程的設置和修改。
目 錄
前言
第一章 Visual Basic 概述 1.1 Visual Basic 語言的特點
1.2 Visual Basic 系統幾個程序應用中的常用名詞 第二章 Windows 下的Visual Basic 編程環境簡介 2.1 面對對象的編程 2.2 實現菜單選項 2.3 實現工具欄
第三章 怎樣開發一個學生信息管理系統的查詢模塊 3.1 學生信息系統的設計分析 3.2 編程環境的選擇 3.3 關系型數據庫的實現 3.4 二者的結合(DBA)第四章 使用Access2000 創建數據庫 4.1 數據庫的概念 4.2 新建一個數據庫 4.3 修改已建的數據庫 第五章 可行性分析 第六章 系統總體規劃 6.1 系統功能 6.2 系統流程圖 第七章 系統具體實現 7.1 各功能的實現 7.1.1 課程管理 7.1.2 打印統計 結束語 后記 主要參考文獻
第一章 Visual Basic 概述 1.1 Visual Basic 語言的特點
Visual Basic 語言用其設計應用程序時具有兩個基本特點:可視化設計和事件驅動編程。(1)可視化設計:表現在VB在設計應用于程序界面時有“所見即所得”的處理功能。(2)事件驅動編程:在設計應用程序時,把對象添加到窗體中,在用戶與程序進行交互時,用戶基本上是通過鼠標、鍵盤與應用程序進行交互的,那些對象就必須對鼠標和鍵盤操作所引發的事件做出響應,來執行一段應用程序。1.2 Visual Basic 系統幾個在程序應用中的常用名詞
Visual Basic 系統除了一般高級語言所具有的一些名詞術語外,還有幾個系統常用的名詞。其基本含義如下:(1)視窗(Form)
視窗是進行人機交互的界面或接口,也叫窗體。VB系統的人機交互界面或接口,無論是在設計時或是在運行時,都是Windows 系統的標準視窗。(2)對象(Object)
對象是VB系統內部提供給設計者可以直接使用的處理輸出的控制工具。本程序所應用到的對象類型有標簽框(Label Box),文本框(Text Box),命令按扭(Command Button),網格(Data Grid),ADO控件(Adodc1)等。當把這些工具放置到用戶界面對應的窗體上時,被稱為對象或控件。用戶可以通過設置對象的“屬性”和“方法”,便于對象適應自己所設計應用程序的輸入輸出內容,對象的生成過程及結構都被封裝起來。正確使用對象可以減少程序和開發時間,提高程序設計者的工作效率。(3)屬性(Properties)
屬性是VB系統提供的有關對象的參數或數據接口。用戶通過適當地設置或改變對象的屬性來確定對象的外觀及性能特征,從而有效地使用系統提供的對象。比如,對象的名稱、在屏幕上顯示的位置、大小、顏色、接收或容納的數據內容及數據的表現格式等。(4)事件(Events)
事件是指用戶或操作者對計算機進行的某一操作(如擊鍵、單擊或移動鼠標等)的行為或系統狀態發生的變化。VB系統常用事件來引導計算機執行一段程序。程序所用的鍵盤事件有KeyPress(按鍵)事件,KeyDown事件和KeyUp事件;鼠標事件有Click(單擊鼠標)事件,DbDlicd(雙擊鼠標)。(5)方法(Method)方法主要是指對一個對象使用某種作用的過程。它是在程序執行的過程中要計算機執行的某種操作。其程序的方法有Show(顯示)方法,Hide(隱藏)方法,Refresh(刷新)方法。
(6)過程(Procedure)
過程是指經過定義或說明的,或基于某一對象對應的事件所引發的程序段。(7)模塊(Module)
模塊是指一些運算量或過程進行聲明或定義的一個集合。系統程序大體可分成四個模塊:數據輸入、根據查詢、數據打印和通訊。
第二章 Windows下的Visual Basic 編程環境簡介 2.1 面對對象的編程
面向對象的設計方法(OOP, Objected Programming)從應用領域內的問題著手,以直觀自然的方式描述客觀世界的實體。Visual Basic 作為一種面向對象的編程方法,把程序和數據封裝起來作為一個對象,并為每個對象賦予相應的屬性。在設計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上,由 Visual Basic 自動生成對象的程序代碼并封裝起來。Visual Basic 應用程序基本的構建塊是用戶所創建的對象,每一個對象都具有一些特性和行為(屬性、事件和方法)。開發人員可以最有效利用所創建的每一個對象。使用應用程序具有可通用性可說擴展性和強有力的功能。
Visual Basic 應用由一系列對象組成,包括有函數、菜單、函數、結構和數據窗口、用戶對象、用戶事件等等,對象中又包含若干控件如命令按鈕、單行編輯器等這些對象和控件都可在許多應用中重復使用。2.2 實現菜單選項
菜單是程序最重要的特性之一,大多數程序都依賴一個定義良好的菜單使程序易于使用和維護,Visual Basic 也提供了強大的創建菜單功能是程序更加標準。
本系統使用 Visual Basic 的菜單編輯器建立菜單或者修改已經存在的菜單,您也可以使用Visual Basic 的Application Wizard 來操作。2.3 實現工具欄
CoolBar控件與Office2000 中看到的CoolBar是類似的。CoolBar就是一個可以在窗體上浮動的工具,同時也是其他ActiveX的容器。通過在CoolBar中遷入其他空間你也可以向用戶提供更好的靈活性和義用性。
選擇“工程”下拉菜單中的“部件”選項,顯示“部件”對話框。在“控件”選項卡列表中選擇“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。本系統就用了Cool工具中的Statubar控件,在系統這一界面中,添加了狀態欄,在第一個欄中,在樣式這一欄中選擇了文本,在第二個欄中,選擇了系統日期,第三個欄中選擇了系統時間,這樣,任何時候操作本系統,都可以看到當前的時間和日期。
第三章 怎樣開發一個學生信息管理系統的查詢模塊? 3.1查詢模塊的設計分析
根據實際情況,我們使用原型法(Rapid Prototyping)即以少量代價快速地構造一個可執行的軟件模型。使用戶可以較快地確定需求,然后采用循環進化的開發方式,對系統模型作連續的精化,將系統需具備的性質逐漸增加上去,直到所有的性質全部滿足。此時模塊也發展成為最終產品了。3.2編程環境的選擇
微軟公司的Visual Basic 6.0是Windows應用程序開發工具,使目前最為廣泛的、易學易用的面向對象的開發工具。Visual Basic提供了大量的控件,這些控件可用于設計界面和實現各種功能,減少了編程人員的工作量,也簡化了界面設計過程,從而有效的提高了應
用程序的運行效率和可靠性。故而,實現本系統VB是一個相對較好的選擇。3.3關系型數據庫的實現
Access2000就是關系數據庫開發工具,數據庫能匯集各種信息以供查詢、存儲和檢索。Access的優點在于它能使用數據表示圖或自定義窗體收集信息。數據表示圖提供了一種類似于Excel的電子表格,可以使數據庫一目了然。另外,Access允許創建自定義報表用于打印或輸出數據庫中的信息。Access也提供了數據存儲庫,可以使用桌面數據庫文件把數據庫文件置于網絡文件服務器,與其他用戶共享數據庫。Access 是一種關系數據庫工具,關系數據庫是已開發的最通用的數據庫之一。如上所述,Access作為關系數據庫開發具備了許多優點,可以在一個數據包同時擁有桌面數據庫的便利和關系數據庫的強大功能。3.4二者的結合(DBA)微軟的JET數據庫引擎提供了與數據庫打交道的途徑,我們是通過它以及Visual Basic來訪問數據庫并對其進行各種操作。Visual Basic、Access以及其他微軟的軟件產品都是通過共用JET數據庫引擎,從而給用戶提供了豐富的數據類型。ADODC控件在數據庫中的信息與將信息顯示給用戶看的Visual Basic 程序之間架起了一座橋梁。我們可以設置ADODC控件的各個屬性,告訴它要調用那個數據庫的哪個部分。缺省情況下,ADODC控件根據數據庫中的一個或多個數據庫表建立一個dynaset-type(動態集合)類型的記錄集合。一個記錄集合是動態的也就意味著,當原來的數據表中的容改變了以后,該記錄集合中的記錄也會隨之改變。將ADODC控件放置在窗體中之后,我們還必須在該控件與要處理的數據庫之間建立聯系。
第四章 使用Access2000創建數據庫 4.1數據庫的概念
數據庫是一種存儲數據并對數據進行操作的工具。數據庫的作用在于組織和表達信息,簡而言之,數據庫就是信息的集合。計算機的數據庫可以分為兩類:非關系數據庫(flat-file)和關系數據庫(relational)。關系數據庫中包含了多個數據表的信息,數據庫含有各個不同部分的術語,象記錄、域等。4.2新建一個數據庫
創建任何一個數據庫的第一步是仔細的規劃數據庫,設計必須是靈活的、有邏輯的。創建一個數據庫結構的過程被認為是數據模型設計。1. 標識需要的數據;
2. 收集被子標識的字段到表中; 3. 標識主關鍵字字段; 4. 規范數據;
5. 標識指定字段的信息;
4.3修改已建的數據庫
數據庫的修改分為;添加、編輯和刪除記錄。這三種操作均可由Visual Basic創建的程序來完成,下面的章節將詳細描述實現的具體方法。
第五章 可行性分析
學生信息,作為一個學校,就有一定的工作量存在,而學生信息,它的工作量可能是其它信息工作量的幾倍,班級的增加、班級的查找、班級的修改;學生檔案;課程管理;成績管理;繳費管理;統計等等,每個信息的數據都在不斷地變化著,如果采用人工的方式進行操作,那么,一天的工作量,足以讓人覺得比較繁瑣,吃不消。針對這樣的情況,采用讓數據的查詢變得簡單化,數據變的更讓每個人都在任何時刻都可以了解到。學生信息管理系統是為本校開發的,本系統所采用的語言是Visual Basic,用Microsoft Access 2000數據庫完成。該系統總體有四部分組成,包括學生信息查詢、教務信息維護、學生選課及用戶管理。通過本系統,把本校內部查詢學生信息、教務信息、學生選課各個環節進行有效地計劃、組織和控制。通過本校內部的信息,依據統一數據信息進行管理,把任何一塊信息所產生的數據變動及時地反映給其它相關信息,做到數據共享。本系統主要信息流程為:教務信息維護接受學生的信息,學生信息查詢根據教務信息維護的學生信息做出對所接收的信息合理性進行判斷,并交于信息維護進行相應的修改,再把信息存入數據庫中。學生選課是對學生進行相應選擇自己相關的課程。最后進行打印。采用本系統,能夠使整個系統內部所有信息的工作簡化,提高工作效益。由于采用統一的數據信息,使相關資料能夠快速地查詢所需的數據、資料及其它信息的,使信息快速高效運行。
本系統中使用到的數據表主要有班級表、成績表、繳費表、課程表、學生檔案、用戶資料,由這六個表,組成了名為信息的數據庫(如圖一)。其中學生檔案是本系統主要的(圖一)
一張表,所有信息都是根據這張學生檔案進行有關的操作,主要的字段有:學號、姓名、年級、專業、性別、出生年月、民族、籍貫、政治面貌、家庭地址、郵政編碼、聯系電話、入學時間、備注。其中日期的數據類型為日期/時間天型,其它的數據類型為文本型;成績表中字段為:學號、姓名、年級、專業、學期、考試時間、考試科目、考試地點、課程性質、科目分數、違紀類型、備注;課程表中字段為:專業、年級、學期、課程名稱、教材、任課老師、課時、上課地點、課程性質、考試性質;用戶資料中的字段包括:用戶名、密碼、身份。
數據庫與VB的連接:本系統的數據鏈接采用的是ADO方法,打開控制面板,打開ODBC數據源圖標,選擇“系統DSN”標簽,點擊“添加”按鈕,在彈出的“創建新數據源”對話框中選擇名稱為“Microsoft Access Drive(*.mdb)”,點擊“完成”按鈕,在ODBC Microsoft Access 安裝對話框中在數據源名中輸入信息,在數據庫這個框中,單擊“選擇”按鈕,在彈出的選擇數據庫這一對話框架中,在驅動器下拉列表框中選擇本系統數據庫所在驅動器,在目錄中選擇庫所在的文件夾,在文件類型中選擇選“Access數據庫(*.mdb)”,在數據庫名中選擇本系統的數據庫,點擊“確定”按鈕即完成數據鏈接。
在VB中,用ADODC鏈接數據庫,用DataGrid或DATA將庫中的數據在界面中顯示出來,本系統采用DataGrid。在界面上右擊Adodc控制,在彈出的快捷菜單中選擇屬性,在屬性對話框中,在“屬性”這一標簽中,選中單選框“Use ODBC Data Source Name”,并在下拉文本框中選擇已經配置好的數據源名信息,再在“RecordSoure”標簽中,在Commard Text(SQL)文本框中輸入查詢語句,如:select * from 學生檔案。同時,將桌面的DataGrid控件選中,在屬性框中,將它的Datasoure設為Adodc。我們可以設置DataGrid控件的外觀:選中該控件,右擊,在彈出的快捷菜單中選擇“檢索字段”,在彈出的對話框中單擊“確定”,這時,表格中出現了表的字段。然后再右擊,同樣,在彈出的快捷菜單中選擇“編輯”,我們就可以所在的表格的寬度進行調整。
第六章 系統(查詢模塊)總體規劃 6.1系統功能(查詢模塊)1. 查詢信息的情況; 2. 判斷信息是否符合要求; 3. 將符合條件的信息進行打印; 6.2流程圖
學生注冊 基本信息輸入 學籍信息管理 班級管理 班級課程設置 課程基本信息 班級課程管理 成績信息輸入 成績信息管理 班級設置
第七章 系統具體實現 7.1各功能的實現
7.1.1課程管理:課程設置(如:界面如圖二)(圖二)
運行程序后,進入課程管理模塊,課程管理模塊的第一塊是課程設置,在這模塊中可以把專業、年級、學期、課程名稱、教材、任課老師、課時、上課地點、課程性質和考試性質等信息輸入,以便使用。結束語 學生信息管理系統(課程設置和打印統計)的完成,它在審核這一功能中能夠對不同情況的資料進行設置和打印,針對需要的信息進行設置和打印。
后記
本系統能夠順利完成,非常感謝指導老師陳志衛老師,同時,也感謝和我一起合作完成本系統的另兩位同學。對于本人來說,通過這次畢業設計,也是對自己在這三年學習的一個檢驗和平時學習的一種結累,可以在學習中提高自己,也充分體現學有所用,學以致用的學習倡導。
在此,我對三年來輔導過我的各位任課老師深表感謝
主要參考文獻
本系統的過程中,主要的參考文獻有:
《Visual Basic6.0》 林陳雷 人民郵電出版社 《面向對象程序設計系列教材》 龔沛曾 高等教育出版社 《Visual Basic6.0編程實例精解》 何文俊
《學用Visual Basic 編程》 潭 浩 西安電子科技大學出版社 《Visual Basic6.0 數據庫開發與專業應用》 敬 錚 國防工業出版社 《Visual Basic6.0 數據庫程序設計高手》 溫賢發 科學出版社
第四篇:學生信息管理系統
目 錄
摘要
隨著電腦的普及與使用,現在的管理也提升了一個檔次,漸漸實現了無紙化辦公,即從原來的人工記錄管理模式轉變為電腦一體化管理。高校是科研的陣地,后勤的學生信息管理系統也應該一改傳統的人工管理,更加信息化,時代化,節省人力物力,提高效率。基于這一點,我設計了學生信息管理系統的方案。
學生信息管理系統,是以高校的管理方式為實例而設計的一種實用型管理系統。本系統最大的特點是通用性、簡單操作性,適用于同行業以及一些同類型的企業管理。隨著學校寄宿人員的增多,學生信息管理系統人員的負擔越來越重,為了讓所有學生信息管理系統人員能從繁重的工作中解脫出來,實現無紙化辦公;使工作更有條理,更方便,更有效率而開發出這套學生信息管理系統軟件。
關鍵詞:信息、管理、實用性、高校
前言
從2012年3月27日開始,我們進行了為期一周的軟件工程課程設計選題工作。在這一周我確定了我的課程設計題目:學生信息管理系統。
確定設計題目之后,我先做了一些準備工作,借閱必要的書籍與材料,通過互聯網以及其他媒介收索了關于學生信息管理系統的相關知識,然后進行針對性的學習。首先就是開發此類項目的背景。當前,學生信息管理體制相對比較落后。主要表現在以下幾個方面:1.高校現行的管理體制不能完全適應國有的管理發展的需要。2.信息管理人員超編現象普遍存在。
3、高校的信息管理大多數都還停留在初級的計算機管理上。對于大量的數據和龐大的數據結構,簡單的用EXCEL表格來記錄是遠遠無法滿足信息的規模的。必須實行現代化信息管理,定制專業的信息管理軟件來進行相關的管理。
4、學生信息公開化不夠。高校的精密儀器設備一般都比較貴重,學生的信息如不能得到有效的共享,將會嚴重制約設備的使用效率,甚至導致重復購買。一套完整的網絡系統將會讓這個問題迎刃而解。
在需求分析階段,我對學生信息管理系統進行了系統功能分析。系統功能包括登陸、學生查詢自己的信息、管理員的日常管理、教師的登陸、查詢等幾部分。
接著在系統設計和詳細設計階段期間,因為需要自學和探索的內容與軟件較多,所以我發揮積極主動精神投入課程設計和開發活動。除了老師正式安排的課程設計時間之外,還充分利用課余時間,向善長這方面的同學進行請教和互相探討,力爭獲得最大收益。在需求分析的基礎上,考慮經濟、技術和運行環境等各方面條件,確定系統的總體結構和系統各組成部分的技術方案,合理選擇計算機和通信的軟硬件設備,提出系統的實施計劃。內容主要包括學生學校管理系統總體結構設計、系統流程設計等等。根據系統的邏輯模型,完成數據流程圖等的設計。使我對這些開發設計的軟件應用工具運用和掌握的更加熟練。
員。每個人都有唯一的一個用戶名,每個用戶名都有與之對應的密碼,如果用戶名和密碼不一致,則無法登陸主界面。如果用戶輸入錯誤可以單擊“重臵”按鈕,重新輸入。輸入完整單擊“確定”按鈕進入主界面。
圖1:登陸界面
2.2.2 主界面用例描述
用戶通過下拉列表框選擇身份,可以是學生、教師或者管理員。用戶選擇身份以后,輸入自己的用戶名和密碼。系統通過認證后,出現學生信息管理系統主界面。通過系統驗證用戶進入學生信息管理主界面,在主界面中我們可以看到登陸學生的基本信息,學生所修課程的信息。用戶可以通過“查找”按鈕看到所查找學生的信息。如圖2:
圖2:主界面
2.2.3 修改密碼用例描述
登陸到主界面中,我們可以看到在主界面的右側
圖3:修改密碼界面
2.2.4 選修課信息用例描述
用戶單擊“選修課信息”按鈕,進入到選修課信息界面。在選修課信息界面中我們可以看到本學期所有可選的課程信息。學生選擇選修課程表的課程,在界面的左下角會出現對應的課程詳細信息。單擊“選修”,就可將所選課程添加到列表框里。單擊“退選”按鈕,那么已選課程將從所選課程列表里刪除,同時退選課程里將出現退選的課程,單擊退選就可以退選此課程了。單擊“確定”按鈕,保存選修課信息。用戶還可以通過“查看”按鈕查看歷年來的所選修的課程情況。如圖4所示:
圖4:選修課信息
2.2.5 個人信息用例描述
在主界面的學生基本信息框下面有兩個按鈕,一個是“查看更多信息”一個是“修改基本信息”。學生、教師、管理員都可以在主界面單擊“查看更多信息”按鈕,進入“個人信息”界面里查看個人基本的信息。管理員可以對這些進行修改,并且只限管理員修改。如圖5。
圖5:個人信息界面
2.2.6 修改學生信息用例描述
管理員可以單擊修改按鈕對學生信息進行修改,當用戶是學生或者老師時,修改按鈕對其不可用。
管理員進入個人信息界面時,單擊修改按鈕就可以進入到修改個人信息界面,對學生的信息進行修改。單擊“確定”按鈕保存。如圖6:
圖6:修改個人信息界面
2.2.7 查看、修改課程信息用例描述
在主界面中我們還可以看到學生所修課程信息情況。這里列出了本學期該學生所修的所有具體課程,每個具體課程占一行,單擊“具體課程信息”按鈕進入
“課程信息”界面,用戶可以看到完整的課程號、課程名、授課教師、學分信息。同時可以通過選擇不同學年的時間段來查看相應學年的課程信息。如圖7:
教師和管理員有權對課程信息進行修改,如果要修改學生課程信息可以單擊“修改”按鈕,進入到“修改課程信息”界面,這里列出可課程名、課程號、任課教師等一系列與課程有關的信息。單擊“確定”可以保存修改的信息并退出。如圖8:
圖7:查看課程信息界面
圖8:修改課程信息
2.2.8 考勤表用例描述
在主界面上單擊“考勤信息”進入到“考勤表”的界面。系統給出所查找學生的考勤情況。其中包括住宿考勤與課堂考勤兩部分。并且最上方有學生的住宿信息以及基本信息。如圖9所示:
圖九:考勤表信息界面
2.2.9 獎懲表用例描述
在主界面,單擊“獎懲信息”按鈕。進入獎懲表界面,這里給出了歷年的獎勵與懲罰信息以及學生的基本信息。如果單擊“修改”按鈕可以對學生獎懲項進行添加、刪除、修改等操作,此操作只能由管理員進行。學生信息管理系統給出相應的學生的獎懲情況。學生單擊個人信息界面上的“獎懲”按鈕,進入到獎懲表的界面。教師在查找到相應的學生信息后可以通過“獎懲”按鈕來查看該生所有的獎勵與懲罰項。如圖10:
圖10:獎懲表信息界面
2.2.10 修改獎懲信息用例描述
管理員可以通過“修改”按鈕進入到“修改獎懲信息”界面。可以對學生的獎懲信息直接進行修改。如圖11:
圖11:修改獎懲信息界面
3.2.2 修改密碼時序圖
用戶進入主界面,單擊“修改密碼”按鈕進入“修改密碼”界面。輸入相應的修改信息,系統檢測輸入是否完整、確認密碼是否與新密碼一致、舊密碼是否正確。檢測通過,顯示成功信息。如圖二所示:
圖2:修改密碼時序圖
3.2.3 選修課信息時序圖
學生在主界面單擊“選修課信息”進入選修課信息界面,此界面上顯示了所有可選的課程信息,這些信息來自選修課信息表。單擊某一課程,在詳細課程信息里顯示具體課程信息,課程的具體信息來自模板課程信息表。如圖三所示:
圖3:選修課信息時序圖
3.2.4 退選選修課時序圖
當學生選修了某一課程時,該課程也許與該生課時或其他原因有所沖突而不能選修,這時應有提示,并讓該生退選改課程。學生單擊“退選”按鈕,系統提示是否退選,單擊“是”則在學生的選修課信息表里移除這個選課項。如圖四所示:
圖4:退選選修課時序圖
3.2.5 查看基本信息時序圖
學生進入主界面后,主界面顯示了學生的個人信息,單擊“查看更多信息”按鈕,進入“個人信息界面”,此界面中顯示的信息來自學生的基本信息表。如圖五所示:
圖5:查看基本信息時序圖
3.2.6 修改個人信息時序圖
在個人信息界面中單擊“修改”按鈕,進入到修改學生信息界面,修改界面的學生信息也是來自學生的基本信息表,當用戶單擊修改時,系統提示是否修改,單擊“是”,系統修改基本信息項。并保存。如圖六所示:
圖6:修改個人信息時序圖
3.2.7 課程信息時序圖
用戶進入主界面,單擊“具體課程信息”按鈕,進入到課程信息界面。在這里顯示了具體的課程信息。此信息來自個人課程信息表。如圖七所示:
圖7:課程信息時序圖
3.2.8 修改課程信息時序圖
管理員或者教師在課程信息界面單擊“修改”按鈕或者從主界面單擊“修改課程信息”按鈕,進入到修改課程信息界面,當用戶單擊修改時,系統檢測信息是否完整,并提示是否修改,單擊“是”,系統這時修改個人課程信息表的信息項。如圖八所示:
圖8:修改課程信息時序圖
3.2.9 考勤表時序圖
用戶在主界面單擊“考勤信息”進入考勤表界面。在考勤表界面中顯示學生的出勤信息。此信息來自學生的住宿考勤表和課件考勤表。如圖九所示:
圖9:考勤表時序圖
3.2.10 獎懲表時序圖
用戶在主界面單擊“獎懲信息”進入獎懲表界面,此界面顯示該生所有的獎懲情況。這些信息來自于學生的獎懲表。如圖十所示:
圖10:獎懲表時序圖
3.2.11 修改獎懲表信息時序圖
當管理員單擊修改時,進入修改獎懲信息界面,這里顯示的信息同樣來自獎懲表。當單擊“修改”時,系統檢測信息是否完整,提示是否修改,單擊“是”,系統修改獎懲信息項,并提示修改成功。如圖十一:
圖11:修改獎懲信息時序圖
總結
從3月27日開始,我們進行了將近三個月的課程設計。通過這次課程設計,我拓寬了知識面,鍛煉了能力,綜合素質得到較大提高。安排課程設計的基本目的,在于通過理論與實際的結合、人與人的溝通,進一步提高思想覺悟。尤其是觀察、分析和解決問題的實際工作能力,以便培養成為能夠主動適應社會主義現代化建設需要的高素質的復合型人才。作為整個學習體系的有機組成部分,課程設計雖然安排在了三個月的時間進行,但并不具有絕對獨立的意義。它的一個重要功能,在于運用學習成果,檢驗學習成果。運用學習成果,把課堂上學到的系統化的理論知識,嘗試性地應用于實際設計工作,并從理論的高度對設計工作的現代化提出一些有針對性的建議和設想。檢驗學習成果,看一看課堂學習與實際工作到底有多大距離,并通過綜合分析,找出學習中存在的不足,以便為完善學習計劃,改變學習內容與方法提供實踐依據。在一個星期的課程設計之后,我們普遍感到不僅實際動手能力有所提高,更重要的是通過對軟件開發流程的了解,進一步激發了我們對專業知識的興趣,并能夠結合實際存在的問題在專業領域內進行更深入的學習。
在這次設計中遇到了很多實際性的問題,在實際設計中才發現,書本上理論性的東西與在實際運用中的還是有一定的出入的,所以有些問題不但要深入地理解,而且要不斷地更正以前的錯誤思維。一切問題必須要靠自己一點一滴的解決,而在解決的過程當中你會發現自己在飛速的提升。對于學生信息管理系統,主要是解決程序設計中的問題,而程序設計是一個很靈活的東西,它反映了你解決問題的邏輯思維和創新能力,它才是一個設計的靈魂所在。因此在整個設計過程中大部分時間是用在程序上面的。很多子程序是可以借鑒書本上的,但怎樣銜接各個子程序才是關鍵的問題所在,這需要對系統的結構很熟悉。因此可以說系統的設計是軟件和硬件的結合,二者是密不可分的。通過這次課程設計我也發現了自身存在的不足之處,雖然感覺理論上已經掌握,但在運用到實踐的過程中仍有意想不到的困惑,經過一番努力才得以解決。
我覺得作為一名學習軟件工程的學生,這次課程設計是很有意義的。更重要的是如何把自己平時所學的東西應用到實際中。雖然自己對于這門課懂的并不
多,很多基礎的東西都還沒有很好的掌握,覺得很難,也沒有很有效的辦法通過自身去理解,但是靠著這三個月的“學習”,在老師、同學的幫助和講解下,漸漸對這門課逐漸產生了些許的興趣,自己開始主動學習并逐步從基礎慢慢開始弄懂它。同時,在這里感謝我們的指導老師彭博老師的悉心解惑和指導。
第五篇:學生信息管理系統
學生信息管理系統論文
2010-04-01清華領導力培訓諾貝爾論文網 在傳統模式下利用人工進行學生信息管理系統論文,存在著較多缺點,如:效率底,保密性差,時間一長將產生大量文件和數據,更不便于查找,更新,維護等。諸如這些情況,學校管理者對學生信息管理系統論文帶來很大困難,嚴重影響教育工作者的工作效率。
一、引言
學生信息管理系統(Student Information Management System),以下簡稱SIMS,是針對學校人事處的大量業務處理工作而開發的管理軟件,是典型的管理信息系統。它是一個教育單位不可缺少的部分,它的內容對于學校的決策者和管理者來說都至關重要,它能夠為用戶提供充足的信息和快捷的查詢手段。能有效的幫助學校和老師掌握學生的情況,為學生提供成績跟課程方面的查詢。在傳統模式下利用人工進行學生信息管理系統論文,存在著較多的缺點,如:效率底,保密性差,時間一長將產生大量的文件和數據,更不便于查找,更新,維護等。諸如這些情況,令學校管理者對學生信息管理系統論文帶來了很大困難,嚴重影響了教育工作者的工作效率。
隨著科學技術的不斷提高,計算機科學日漸成熟,使用日趨成熟的計算機技術來代替傳統的人工模式,來實現學生信息的現代化管理,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對學生信息進行管理,具有著手工管理所無法比擬的優點.例如:檢索迅速、查找方便、易修改、可靠性高、存儲量大、數據處理快捷、保密性好、壽命長、成本低、便于打印等。這些優點能夠極大地提高學生信息管理系統論文的效率,也是學校的科學化、正規化管理,與世界接軌的重要條件。用計算機制作的學生信息管理系統論文還可以通過功能強大的Internet網及時的向學生的家長傳遞該生在校的最新成績,有助于學校與家長的信息互動,為更好地把握學校的教育方針起到了一定的促進作用!因此,開發這樣一套管理軟件成為很有必要的事情。
二、管理信息系統
(一)概述
管理信息系統(Management Information System,簡稱MIS)是一個由管理人員和計算機組成的用以進行信息的收集、傳輸、加工、存儲、維護和使用的系統。它是一門綜合了管理科學,系統理論,計算機科學的系統性邊緣科學。
管理信息系統的物理組成:
1.計算機硬件系統:包括主機、外部存儲器、輸入輸出設備等。
2.計算機軟件系統:包括系統軟件和應用軟件兩大部分。
3.通信系統:包括線路等通信設施和與計算機網絡、數據通信有關的軟件等。
4.工作人員:包括系統分析員、程序設計員、維護人員、管理員、操作人員等。
(二)管理信息系統的發展
管理信息系統通過對企業當前運行的數據進行處理來獲得有關信息,以控制企業的行為;利用過去和現在的數據及相應的模型,對未來的發展進行預測;能從全局目標出發,對企業的信息管理thldl.org.cn決策活動予以輔助。從工業發達國家來看,管理信息系統的發展經歷了以下幾個階段:
第一階段:(1953年至1965年)單項數據處理階段,也稱電子數據處理(EDP)階段。這是電子計算機在管理領域應用的起步階段。這一階段,由于當時計算機硬、軟件的限制,數據處理的性質只是使用計算機代替人的手工勞動,進行簡單的單項數據處理工作,如計算工資、數據統計、報表登記、編制計劃等。這個階段的處理方式主要是集中式的批處理。
第二階段:(1965年至1970年)綜合數據處理階段,也稱事務處理系統(TPS)階段。這個階段計算機硬、軟件有了很大的發展,出現了多用戶的分時系統,計算機開始應用于對某一個管理子系統的控制,并具有一定的反饋功能。如庫存管理系統、生產調度系統、物資管理系統等。這個階段的處理方式已發展為面向終端的聯機實時處理。
第三階段:(1970年至今)管理信息系統(MIS)階段。這個階段是在企業中全面的使用計算機把各種管理子系統的功能集中起來,構成了計算機化的全方位的信息系統,即現代管理信息系統。這個階段的處理方式是在數據庫和網絡基礎上組成分布式處理系統。它的特點是使用數據庫和分時處理的計算機網絡,并充分利用運籌學等數學方法,實現了硬件、軟件和數據資源的共享。
三、學生信息管理系統
信息管理系統論文主要功能:學籍信息管理,班級信息管理,課程信息管理,成績信息管理,用戶信息管理。具體系統功能需求描述如下:
(一)學籍信息管理
每年的大量新生入學,老生畢業都需要處理大量的信息管理系統論文。通過這一模塊,可以實現學生基本情況的添加、刪除、更新。還能查詢各個學生的情況,姓名、家庭電話、家庭住址、學號等各個消息
(二)班級信息管理
實現班級的添加、刪除、更新。查詢班級的所在系別,輔導員等。
(三)課程信息管理
每個學期都會增加一些新的科目,通過本模塊可以輕松的添加以及更新課程。可以根據學期條件或者班級條件的選擇,也可根據課程名、課程號或者班級的選擇,并對值的輸入,可以看到數據集中顯示符合條件的課程數據信息,而且可以根據教工的修改要求進行數據的添加、刪除、修改的操作。
該項管理對課程的屬性進行了具體化的分類,比如可以分辨是考試科還是考察課,而且根據條件的選擇大大得提高了對各學期課程數據的記錄操作,很大得幫助了教工們工作效率的提高。
(四)成績信息管理
本模塊實現了成績的輸入、刪除、更新。還能查詢到平均成績以及單科最高最低成績以及個人成績。把成績統計這個繁瑣的工作簡單化,為學生成績的管理方面提高工作效率。
(五)用戶信息管理
因為本信息管理系統論文是供多人一起使用的,必須對某一些人進行限制。于是設置了管理員,非管理員只能進行查詢操作,不能進行更改。
四、學生信息管理系統論文開發的意義
(一)計算機信息管理系統論文已經成為我們學習和工作的得力助手:
今天,計算機的價格已經十分低廉,性能卻有了長足的進步。它已經被應用于許多領域,計算機之所以如此流行的原因主要有以下幾個方面:
首先,計算機可以代替人工進行許多繁雜的勞動;
其次,計算機可以節省許多資源;
第三,計算機可以大大的提高人們的工作效率;
第四,計算機可以使敏感文檔更加安全,等等。
(二)開發學生信息管理系統論文的意義
SIMS主要是提供學生,老師或者來訪者方便的查詢等相關操作,對學生的信息管理能統一規范化。功能塊的相應操作分別由其對應的子模塊實現。通過教育網絡或互聯網把整個學校的學生信息匯聚起來,為學校教育主管部門提供全面及時的學生信息,方便管理,同時亦可通過校園網擴展各類信息化應用,共享學生信息。學校可通過一個簡化的學生信息管理系統,使學生信息管理系統論文工作系統化,規范化,自動化,從而達到提高學生信息管理效率的目的。
五、信息管理系統論文實際調查
(一)國內外現狀研究:
計算機在管理中的應用開始于1954年,當時美國首先用計算機處理工資單。40多年來,計算機在處理管理信息方面發展迅速。例如,60年代美國計算機在管理中應用項目不到300項,到了1975年達到2670項。而現在,美國在財務會計上90%的工作由計算機完成;物資管理中80—100%的信息處理由計算機完成;計劃管理中是80—90%。據計算機應用方面發展較快的國家統計,計算機用于經濟管理的約占80%;用于科技運算的占8%;用于生產過程控制的占12%。我國在全國范圍內推廣計算機在管理中的應用,是在70年代末開始的,雖然起步較晚,近幾年發展卻較快,特別是微型計算機的出現和普及為信息處理提供了物美價廉的手段,對于推動我國管理信息處理的現代化起了重要的作用。
(二)目前存在的問題:
傳統紙媒介管理的信息管理系統論文難于共享匯總,其統計數據正確性也難以考證。存在著較多的缺點,如:效率底,保密性差,時間一長將產生大量的文件和數據,更不便于查找,更新,維護等。計算機在全國普及后,管理媒介有了質的飛躍。
隨著學校的規模不斷擴大,學生數量急劇增加,有關學生的各種信息量也成倍增長。面對龐大的信息量,就需要有學生信息管理系統來提高學生管理工作的效率。通過這樣的系統,可以做到信息的規范管理、科學統計和快速的查詢,從而減少管理方面的工作量。由于計算機和網絡的普及,若建立一個C/S或B/S結構的學生信息管理系統,學生便可以通過網絡來選課并且查詢自己的有關信息,使得學生信息管理工作系統化,規范化,自動化,大大提高了學校管理學生的效率。
六、信息管理系統論文解決方法
該項目開發的軟件為學校學生信息管理系統軟件,是鑒于目前學校學生人數劇增,學生信息呈爆炸性增長的前提下,學校對學生信息管理的自動化與準確化的要求日益強烈的背景下構思出來的,該軟件設計完成后可用于所有教育單位(包括學校,學院等等)的學生信息的管理。
(一)理論支持
當前計算機管理界所流行且實用的系統建設三原則:整體性原則、分作—協調原則、目標優化原則。
1.系統開發的結構化生命周期法。
其基本思想是把整個系統開發過程分成若干個階段,每個階段進行若干活動,每項活動應用一系列標準、規范、方法和技術,完成一個或多個任務,形成符合給定規范的產品。
采用結構化生命周期法開發管理信息系統時,應遵循的主要原則:
(1)用戶參與的原則;(2)“先邏輯后物理”的原則;(3)“自頂向下”的原則;(4)工作成果描述(主要指文檔)標準化的原則。
其具體開發步驟可分為以下四步:系統規劃,系統開發(包括系統分析,系統設計,系統實施),系統的運行及維護,系統評價。
2.原型法。
其基本思想是在系統開發的初期,盡快構造出系統的原型,使用戶能及早地運行這個系統原型,通過使用它、熟悉它,受到啟發并取得經驗,然后對系統的目標和功能提出更精確、具體的要求,研制人員據此逐漸修改和完善原型,使它滿足用戶的需求,最后完成系統的開發。該方法大大提高了系統開發效率,彌補了結構化生命周期法開發時間長的缺陷。通常采用原型法需以下四個階段:1).明確用戶的基本要求,2).研制系統的原型,3).使用、評價系統原型,4).修改和完善原型。
(二)系統設計
系統設計階段的主要目的是將系統分析階段所提出的反映了用戶信息需求的系統邏輯方案轉換成可以實施的基于計算機與通信系統的物理(技術)方案。包括總體結構設計、總體功能設計、總體物理結構設計、系統詳細設計、數據庫設計(概念結構設計、邏輯結構設計、物理結構設計)、代碼設計、輸入輸出設計等。
(三)硬件環境
硬件配置要求:
CPU:PII333以上。
內存:64MB以上。
硬盤:2.1GB以上(可用空間最好在160MB以上)。
(四)軟件環境
1.設計平臺: VB6.0
VB是一個面向對象設計的應用程序語言,是開發數據庫前端的優秀工具,它的編程語言簡潔明快、組件功能強大和編程環境靈活方便。采用VB來開發數據庫應用程序具有更大的靈活性和可擴展性。
2.數據庫: Microsoft Access
Access 是關系數據庫開發工具,數據庫能匯集各種信息以供查詢、存儲和檢索。Access 的優點在于它能使用數據表示圖或自定義窗體收集信息。數據表示圖提供了一種類似于 Excel 的電子表格,可以使數據庫一目了然。另外,Access 允許創建自定義報表用于打印或輸出數據庫中的信息。Access也提供了數據存儲庫,可以使用桌面數據庫文件把數據庫文件置于網絡文件服務器,與其他網絡用戶共享數據庫。Access 是一種關系數據庫工具,關系數據庫是已開發的最通用的數據庫之一。Access 多用于中小型企業來設計中小型數據庫,一般的學校教務系統的數據庫用Access 來設計完全能達到要求。由于考慮到本系統是應用在單機系統上,只建立起一個數據庫。
3.數據庫訪問方式:ADO
ADO(Active Data Objects)實際是一種提供訪問各種數據類型 的連接機制。ADO設計為一種極簡單的格式,通過ODBC的方法同數據庫接口。可以使用任何一種ODBC數據源,即不止適合于SQL Server、Oracle、Access 等數據庫應用程序,也適合于Excel表格、文本文件、圖形文件和無格式的數據文件。ADO是基于OLE-DB之上的技術,因此ADO通過其內部的屬性和方法提供統一的數據訪問接口方法。其主要優點是易于使用、高速度、低內存支出和占用磁盤空間較少。
七、信息管理系統論文結論
學生信息管理系統是學校信息管理系統論文的一個重要組成部分。他為其他系統(如學校圖書管理系統、學校檔案管理系統、教學管理系統、總務后勤管理系統等)提供學生的基本信息,同時它也需要如教學管理系統提供課程設置數據等。這些系統在具體應用中構成一個大系統,相互調用對方的數據。
由以上分析,我們可以充分認識到設計并開發一個學生信息管理系統論文的必要性和迫切性,本次設計和開
發的學生信息管理系統應符合學校學生信息管理的規定,滿足對學校學生信息管理的需要,并達到操作過程中的直觀,方便,實用,安全等要求。系統采用模塊化程序設計的方法,既便于系統功能的組合和修改,又便于未參與系統開發的技術維護人員補充和維護。SIMS通過教育網絡或互聯網把整個學校的學生信息匯聚起來,為學校教育主管部門提供全面及時的學生信息,方便管理,同時亦可通過校園網擴展各類信息化應用,共享學生信息。