已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 本文配套程序下載地址 : 無憂無慮畢設(shè)網(wǎng) ()-大學(xué)生畢業(yè)設(shè)計站 ,免費畢業(yè)設(shè)計論文 ,無憂無慮畢設(shè)網(wǎng) 大學(xué)生畢業(yè)設(shè)計 ,出售各類畢業(yè)設(shè)計源碼 ,論文 ,程序源碼 ,網(wǎng)站源碼 ,免費視頻教程 ,我們將竭誠為您服務(wù)! 前 言 圖書管理流通系統(tǒng)是一個單位不可缺少的部分,書籍是人類不可缺少的精神食糧,尤其對一些學(xué)校來說,更是必不可少。所有,一個優(yōu)秀的圖書管理流通系統(tǒng)應(yīng)該能夠提供用戶充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式治理圖書、期刊、試卷合訂本等,這種治理方式存在很多的缺點,如效率 低、保密性差,另外時間一長,必然產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少困難。 隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能以為人們所深刻熟悉,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用,作為計算機應(yīng)用的一部分,使用計算機對圖書資源信息進行治理,具有著手工治理所不能比擬的優(yōu)點,例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高圖書管理的效率,也是企業(yè)、學(xué)校的正規(guī)化、科學(xué)化治理,與世界接軌的重要條件。 因此設(shè)計這樣一款系統(tǒng),已 經(jīng)成為必然的事情。 作為畢業(yè)設(shè)計這一最后環(huán)節(jié)是 我們大學(xué)生完 成本專業(yè)基礎(chǔ)課程、專業(yè)課程及實踐課程的一次綜合性的練習(xí)與實踐,是檢驗 我們 綜合運用所學(xué)知識解決實際問題的能力,是以本專業(yè)知識參加社會工作前的一次 模擬 訓(xùn)練。通過這次畢業(yè)設(shè)計,能更深刻地對數(shù)據(jù)庫基礎(chǔ)理論和計算機基本知識的理解,提高運用數(shù)據(jù)庫解決實際問題的能力,掌握普通程序設(shè)計的基本方法和過程。 本系統(tǒng)是 一個 圖書管理流通 系統(tǒng) 。 它能夠 管理讀者的登記、圖書的購入、借出、歸還以及注銷等。管理人員還可以查詢某位讀者、某本圖書的借閱情況,對 當(dāng)前 借閱情況給出一些統(tǒng)計和表格 說明,以全面掌握圖書的流通情況。系統(tǒng)包含讀者登記、購入新書、讀者還書、圖書注銷等功能。 通過這款軟件的使用能大大簡化圖書館管理員的工作負(fù)擔(dān),方便同學(xué)的借閱查詢。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 第一章 設(shè)計方案 圖書管理流通 系統(tǒng) ,其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性 、 完整性強、數(shù)據(jù)安全性好。對于后者則要求應(yīng)用程序功能完備 ,易使用等特點。 本次設(shè)計使用 SQL Server 2000 完成對數(shù)據(jù)庫的開發(fā),使用 C+builder 完成對 應(yīng)用程序 的開發(fā)。 1.1 SQL Server 2000 簡介 后臺數(shù)據(jù)庫開發(fā)選擇 Microsoft SQL Server 2000, SQL Server 是一個客戶機 /服務(wù)器關(guān)系型數(shù)據(jù)庫管理系統(tǒng),使用結(jié)構(gòu)化查詢語言在客戶機和 SQL Server 之間發(fā)送請求。作為微軟公司成熟的產(chǎn)品, Microsoft SQL Server 2000 具有多方面的優(yōu)點:比如良好的安全策略,多處理器支持,方便的事件查看器和性能監(jiān)視器,易于拓展的集群技術(shù)等。另外, Microsoft SQL Server 2000 主要用于中小型數(shù)據(jù)庫系統(tǒng),相對于 Oracle、 DB2 或 Sybase 等大型數(shù)據(jù)庫系統(tǒng)來說,其硬件要求較低,運行費用也較低。 SQL Server 2000 是一個后臺數(shù)據(jù)庫管理系統(tǒng) ,它功能強大操作簡便 ,為廣大數(shù)據(jù)庫用戶所喜愛。越來越多的開發(fā)工具提供了與 SQL Server 2000 的接口。 SQL Server 2000 數(shù)據(jù)庫處理的基本結(jié)構(gòu),采取關(guān)系型數(shù)據(jù)庫模式 。 此次數(shù)據(jù)庫設(shè)計,使用 SQL Server 的 企業(yè)管理器 進行數(shù)據(jù)庫的設(shè)計,在 SQL Server 的 企業(yè)管理器 中創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)源表。 SQL Server 企業(yè)管理器是 SQL Server 的主要管理工具,它提供了一個遵 從 MMC 標(biāo)準(zhǔn)的用戶界面,使用戶 能夠簡單方便的 定義 SQL Server 實例組 ; 將個別服務(wù)器注冊到組中 ; 為每個已注冊的服務(wù)器配置所有 SQL Server 選項 ; 在每個已注冊的服務(wù)器中創(chuàng)建并管理所有 SQL Server 數(shù)據(jù)庫、對象、登錄、用戶和權(quán)限 ; 在每個已注冊的服務(wù)器上定義并執(zhí)行所有 SQL Server 管理任務(wù) 。 1.2 C+builder 的簡介 C+ Builder 是由 Borland 公司繼 Delphi 之后又推出的一款高性能可視化集成開發(fā)工具。 C+ Builder 具有快速的可視化 開發(fā)環(huán)境:只要簡單地把控件( Component)拖到窗體( Form)上,定義一下它的屬性,設(shè)置一下它的外觀,無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 就可以快速地建立應(yīng)用程序界面; C+ Builder 內(nèi)置了 100 多個完全封裝了Windows 公用特性且具有完全可擴展性(包括全面支持 ActiveX 控件)的可重用控件; C+ Builder 具有一個專業(yè) C+開發(fā)環(huán)境所能提供的全部功能:快速、高效、靈活的編譯器優(yōu)化,逐步連接, CPU 透視,命令行工具等。它實現(xiàn)了可視化的編程環(huán)境和功能強大的編程語言( C+)的完美結(jié)合。 C+ Builder 優(yōu)化的 32 位原碼( Native Code)編譯器建立在 Borland 公司久經(jīng)考驗的編譯技術(shù)基礎(chǔ)之上,提供了高度安全性、可靠性、快速性的編譯優(yōu)化方法,完全編譯出原始機器碼而非中間碼,軟件執(zhí)行速度大大提高。在編譯和連接過程中, C+ Builder 自動忽略未被修改的原代碼和沒有使用的函數(shù),從而大大提高了編譯和連接速度。 C+ Builder 的 CPU 透視工具包括五個獨立的小面板,可以對正在運行程序從內(nèi)部進行深層次的了解。另外 C+ Builder 還提供了一個專業(yè)開發(fā)環(huán)境所必需的命令行工具,以幫助建立 C+程序或者準(zhǔn)備編譯和 連接的程序進行更精細(xì)的控制。 C+ Builder 可以編譯所有符合 ANSI/ISO 標(biāo)準(zhǔn)的原代碼,支持最新 ANSI C+/C 語言特征:模板( Templates)、例外( Exceptions)、運行類型信息( Runtime Type Information)、 Namespaces 等,另外它還可以使用標(biāo)準(zhǔn) C+庫且支持標(biāo)準(zhǔn)模板庫( STL),以前的所有 C+/C 原代碼可以不經(jīng)過修改,直接移植到 C+ Builder 環(huán)境下來。 C+ Builder 完全支持32 位長文件名、多線程程序設(shè)計,且允許程序員直接調(diào)用任何 Win95 和 NT API函數(shù) 。 C+ Builder 的集成開發(fā)環(huán)境( IDE)提供了可視化窗體設(shè)計器、對象觀察器、控件板、工程管理器、集成編輯器和調(diào)試器等一系列可視化快速應(yīng)用程序開發(fā)( RAD)工具,讓程序員可以很輕松地建立和管理自己的程序和資源。 選擇 C+builder 開發(fā)工具 主要有如下兩個特點: ( 1) C+builder 界面控件 C+builder 擁有較簡單的界面設(shè)計模式,能夠使用戶熟練地操控各個控件,安排控件的效果,完成軟件界面設(shè)計??丶卜譃?17 項基本控件組,可以按用戶需求自己添加新控件。用戶可 以簡單的點點鼠標(biāo)就完成軟件的界面設(shè)計。 ( 2) VCL C+builder 基于 c+語言,是一種 RAD(rapid application development)快速應(yīng)用程序開發(fā)工具,可以快速的開發(fā)出 Windows 應(yīng)用程序,并且充分利用了 delphi 的VCL( visual component library) 可視化組件庫,是一個十分理想的軟件開發(fā)平臺。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: ( 3)基于事件 C+builder 一改往日 C 語言的低效,直接以用戶的操作為響應(yīng),以基于事件的方式響應(yīng)用戶操作,完成軟件與用戶的交互。 第 二章 圖書管理流通 系統(tǒng) 的分析 2.1 系統(tǒng)的組成 圖書管理流通 系統(tǒng) 在企業(yè)中的應(yīng)用存在三個要素,這就是人、計算機和圖書。 2.2 系統(tǒng)的界面特點 在計算機軟件技術(shù)中,人機界面已經(jīng)發(fā)展成為一個重要的分支。 MIS 人機界面設(shè)計一般遵循以下一些基本原則: ( 1) .以通信功能作為界面設(shè)計的核心人機界面設(shè)計的關(guān)鍵是使人與計算機之間能夠準(zhǔn)確地交流信息。 一方面,人向計算機輸入信息時應(yīng)當(dāng)盡量采取自然的方式;另一方面,計算機向人傳遞的信息必須準(zhǔn)確,不致引起誤解或混亂。 設(shè)計 MIS 時,針對每一個功能,都要按照模塊化思想,使輸入 、處理與輸出“涇渭分明”,充分體現(xiàn)人機界面的通信功能。這樣設(shè)計出來的程序不易出錯,而且易于維護。 報表打印是 MIS 必備的功能之一,而且打印之前常常需要計算。計算與打印分開設(shè)計,雖然消耗時間,但易于整個 MIS 系統(tǒng)的維護。 ( 2)界面必須始終一致。 統(tǒng)一的人機界面不至于會增加用戶的負(fù)擔(dān),讓用戶始終用同一種方式思考與操作。最忌諱的是每換一個屏幕用戶就要換一套操作命令與操作方法。 ( 3)界面友好,使用方便。 a) 輸入設(shè)計:輸入數(shù)據(jù)是為了在計算機內(nèi)進行加工處理而從外部接收數(shù)據(jù),它的正確與否對于整個系統(tǒng)質(zhì)量的好壞是起決定作 用的。 設(shè)計原則: 第一,盡量采用人機對話方式輸入數(shù)據(jù); 第二,輸入格式的設(shè)計要便于填寫,便于歸檔,盡量減少漢字輸入以減輕輸入設(shè)計過程,保證輸入精度; 第三,輸入數(shù)據(jù)的校核工作盡量由程序來保證。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 輸入設(shè)備為鼠標(biāo)和鍵盤。多數(shù) MIS 軟件的數(shù)據(jù)輸入量較大。對于一些相對固定的數(shù)據(jù),不應(yīng)讓用戶頻頻輸入 (特別是漢字 ),而應(yīng)讓用戶用鼠標(biāo)輕松選擇。錄入這類數(shù)據(jù)之前, MIS 軟件應(yīng)在相應(yīng)位置彈出一個列表框,待用戶以鼠標(biāo)點擊,而不應(yīng)讓用戶每次都輸入這些漢字。 b) 輸出設(shè)計:輸出設(shè)計的目的是使系統(tǒng)能夠輸出滿足用戶需求的有用信息。 設(shè)計 原則: 第一,報表輸出要實用、方便、考慮用戶已經(jīng)習(xí)慣的輸出格式; 第二,輸出報表要考慮系統(tǒng)發(fā)展的需要; 第三,屏幕輸出格式要清晰,重要數(shù)據(jù)要顯示在突出位置上。 c) 輸入輸出的界面設(shè)計: 人機對話部分是人和計算機聯(lián)系的主要途徑,該部分主要從用戶操作方便的角度出發(fā)進行考慮,主要有選項卡、數(shù)據(jù)列表框、數(shù)據(jù)組合框、文本框、按鈕等形式。 系統(tǒng)界面簡單明了,避免了復(fù)雜界面給用戶造成的困惑和色彩鮮艷界面給操作員帶來的疲勞。 總之,所開發(fā)的 MIS 在使用過程中,應(yīng)使用戶的數(shù)據(jù)輸入量降至最低限度減少用戶的干預(yù)量。實踐證明,用戶干預(yù) 愈少, MIS 系統(tǒng)的滿意程度愈高。 ( 4)保密功能通過用戶的權(quán)限設(shè)定來實現(xiàn)。 用戶在登錄系統(tǒng)時輸入密碼,如果密碼正確,系統(tǒng)根據(jù)該用戶的權(quán)限,設(shè)置該用戶可以進行的操作。 用戶的權(quán)限設(shè)定是以系統(tǒng)的菜單項為基本單位,只有用戶具有使用該菜單的權(quán)限時,菜單項才可以為其所用。 當(dāng)添加新用戶時,用戶的權(quán)限為空 (即不能進行任何操作 ),此時應(yīng)為該用戶設(shè)置相應(yīng)權(quán)限;用戶權(quán)限也可以根據(jù)具體情況隨時修改。 2.3 系統(tǒng)的功能介紹 圖書管理流通 系統(tǒng) 適用于各類專業(yè)、中、小型圖書館,各類大中專學(xué)校、中小學(xué)校、企事業(yè)單位的圖書館和資料室的 現(xiàn)代化綜合治理。 本系統(tǒng)在功能實現(xiàn)方面有以下幾個要求: 維護用戶數(shù)據(jù)庫信息,例如修改刪除用戶信息、注冊新用戶。 維護圖書數(shù)據(jù)庫信息,例如新書入庫、刪除舊書。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 維護圖書流通信息,例如借閱圖書、歸還圖書。 擁有強大的圖書檢索功能,通過用戶輸入遍歷圖書信息。 2.4 系統(tǒng)的流程圖 本系統(tǒng)首先是權(quán)限檢查,用戶輸入用戶名及密碼經(jīng)系統(tǒng)驗證,假如密碼和用戶名以及用戶類別正確,則系統(tǒng)進入主界面。在系統(tǒng)主界面下,分布著系統(tǒng)的子界面,每個子界面都具有不同的功能模塊,它們之間是相互獨立的,主界面統(tǒng)一對系統(tǒng)各個子界面進行調(diào)度。系 統(tǒng)總流程圖如圖 2.1 所示。 圖 2.1 系統(tǒng)流程圖 運行系統(tǒng)后,首先會看到登錄窗體,對用戶的身份進行認(rèn)證。如果需要對普通用戶進行管理,則使用 05804301 用戶登錄;否則建議使用 05804302 用戶登錄。如果還要創(chuàng)建其他用戶,可以在用戶管理模塊中創(chuàng)建和管理。 05804301 用戶權(quán)限為管理員,可以操作所有的模塊,進行系統(tǒng)維護。 05804302 賬戶權(quán)限為普通,只能管理自己的用戶信息和檢索數(shù)據(jù)庫,無法操作別的模塊。 用戶登陸 否 結(jié)束 顯示主界面 實現(xiàn)功能 是 開 始 登陸成功 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 第三章 用戶需求分析 3.1 用戶需求功能體系 圖書管理 流通 系統(tǒng) 的用戶需求功能體系如圖 3.1 所示: 圖 3.1 圖書管理流通 系統(tǒng) 功能模塊示意圖 3.1.1 圖書數(shù)據(jù)庫維護功能集合 包括新書入庫、刪除舊書 2 個功能模塊。此集合中功能模塊的關(guān)系如圖 3.2 所示: 增加書籍?dāng)?shù)據(jù) 刪除書籍記錄 新書入庫 刪除舊書 書籍信息數(shù)據(jù)庫 舊書刪除 新書入庫 圖書管理流通 系統(tǒng) 用戶數(shù)據(jù)庫維護 流通數(shù)據(jù)庫維護 圖書數(shù)據(jù)庫維護 增加新用戶 刪除用戶 修改用戶信息 針對各模塊不同的數(shù)據(jù)庫實現(xiàn)添加記錄、修改記錄、刪除記錄等功能 舊書刪除 新書入庫 圖書檢索模塊 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 圖 3.2 圖書數(shù)據(jù)庫維護管 理集合模塊關(guān)系圖 當(dāng)管理員發(fā)現(xiàn)該書沒有進行編號時,采用新書入庫操作為該書進行編號,入庫操作。 當(dāng)有借閱者報失某本書籍時,管理員采用圖書刪除操作將該書刪除,并處罰款。 3.1.2 流通管理功能集合 包括圖書流通管理和處罰管理模塊。此集合中功能管理模塊關(guān)系入圖 3.3 所示: 記錄書籍信息用戶信息及應(yīng)歸還日期 圖 3.3 流通管理功能集合模塊關(guān)系圖 圖書流通管理功能由借閱圖書、歸還圖書所控制,借閱圖書時,管理員操作記錄下圖書信息和借 閱者信息,系統(tǒng)完成時間控制;在歸還圖書時,系統(tǒng)經(jīng)過校對,檢查是否有違規(guī)操作,完成處罰。 3.1.3 用戶管理及權(quán)限控制功能集合 包括用戶信息管理、權(quán)限控制等模塊。權(quán)限控制雖然不是一個獨立存在的模塊,但它卻貫穿在整個系統(tǒng)的運行過程當(dāng)中。 用戶管理功能模塊的關(guān)系如圖 3.4 所示: 圖 3.4 用戶管理功能集合模塊關(guān)系圖 在本系統(tǒng)中,用戶管理模塊的功能比較簡單。在系統(tǒng)初始化時,有兩個默認(rèn)的用戶。系統(tǒng)管理員用戶為 05804301,普通用戶為 05804302,由 程序設(shè)計人員手動地添加到數(shù)據(jù)庫中。管理員用戶可以創(chuàng)建用戶、修改用戶信息以及刪除用戶;普通用戶則圖書流通 處罰管理 用戶帳戶管理 管 理 員 用 戶 普 通 用 戶 維 護 管 理 員 用 戶 帳 戶 的 信 息 創(chuàng) 建 、 修 改 和 刪 除 普 通 用 戶 信 息 維 護 本 身 用 戶 帳 戶 信 息 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 只能修改自己的用戶名和密碼。 3.2 系統(tǒng)流程分析 所謂系統(tǒng)流程就是用戶在使用系統(tǒng)時的工作過程。運行系統(tǒng)后,首先看到登錄窗體,對用戶的身份進行確認(rèn)。身份認(rèn)證可分為以下兩個過程: 確認(rèn)用戶是否是有效的系統(tǒng)用戶。 確定用戶類型。 第 1 個過程決定用戶能否進入系統(tǒng),第 2 個過程根據(jù)用戶的類型決定用戶的操作權(quán)限。如果需要對普通用戶進行管理,則使用管理員用戶登錄;否則使用普通用戶登錄。如果還要創(chuàng)建其他用戶,可以在用戶管理 模塊中創(chuàng)建和管理。在創(chuàng)建用戶時,需要輸入要創(chuàng)建的用戶名和密碼。管理員用戶還可以修改和刪除其他普通用戶數(shù)據(jù)。 本系統(tǒng)的流程分析如圖 3.5 所示: 圖 3.5 系統(tǒng)流程分析圖 普通用戶 管理員 用戶 管理自己的用戶信息 書籍 信息管理 用戶登錄 開 始 讀取用戶類型 成功 失敗 失敗超過 3 次 是 退出程序 否 重試 管理自己的用戶信息 管理普通用戶的用戶信息 用戶管理模塊 管理模塊 流通信息 管理 檢索服務(wù) 管理 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 在本系統(tǒng)中,應(yīng)該首先添加賬戶和書籍等基本信息,之后才能增加流通服務(wù)內(nèi)容。在讀者借書時,需要提供讀者編號和書籍編號。對讀者信息、圖書信息的維護功能只能對管理員權(quán)限的用戶開放,普通用戶只能查看或修改自己的信息。 在用戶管理模塊中,可以對用戶的詳細(xì)信息進行添加、修改、 刪除和查看等操作。 在圖書管理模塊中,可以對圖書進行添加、修改、刪除和查詢等操作。 在系統(tǒng)流程分析圖中可以看到,每個用戶有 3 次機會進行身份認(rèn)證。如果 3 次輸入的用戶名和密碼都無法與數(shù)據(jù)庫中的數(shù)據(jù)匹配,則強制退出系統(tǒng)。 3.3 系統(tǒng)的可行性分析 a) 技術(shù)上的可行性:技術(shù)方面的可行性就是根據(jù)現(xiàn)有的技術(shù)條件,能否實現(xiàn)系統(tǒng)的各項要求。 設(shè)備:該系統(tǒng)對所需的硬件設(shè)備,如服務(wù)器、 pc 機、打印機即網(wǎng)絡(luò)配件等的性能要求一般,現(xiàn)有設(shè)備的性能完全能夠滿足系統(tǒng)功能的要求。 軟件上,本系統(tǒng)屬于數(shù)據(jù)庫應(yīng)用程序,本系統(tǒng)需要一個數(shù)據(jù)庫 服務(wù)器及其運行的操作系統(tǒng)平臺,根據(jù)客戶的數(shù)據(jù)量并不是十分巨大,我們選擇目前市場上價格比較低廉的數(shù)據(jù)庫服務(wù)器產(chǎn)品: Microsoft SQL Server2000 及配套的平臺 Windows 2000。而前臺開發(fā)工具采用 c+builder,利用其可視化的開發(fā)環(huán)境、豐富的控件資源,能快速開發(fā)出應(yīng)用程序。這些軟件在中小型 MIS 開發(fā)中已被大量應(yīng)用,技術(shù)上都比較成熟,因此技術(shù)上是可行的。 b) 經(jīng)濟上的可行性 費用:只需計算機兩臺,客戶機兩臺和服務(wù)器一臺,打印機四臺即可,屬于一般學(xué)院可承受經(jīng)濟范圍內(nèi)。 效用:實施該 系統(tǒng)也能給公司帶來長期效益,它可幫助管理人員實現(xiàn)管理方法的現(xiàn)代化、科學(xué)化,極大地提高教育企業(yè)的工作質(zhì)量與工作效率,減少管理支出的費用,從而保證圖書流通管理的可持續(xù)的良好發(fā)展。因此經(jīng)濟上具有了系統(tǒng)開發(fā)的可行性。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 第四章 系統(tǒng)數(shù)據(jù)庫設(shè)計 圖書館在其運作期間,服務(wù)水平的高低以及圖書流通的狀態(tài),直接影響到圖書館的聲譽,如:服務(wù)的安排、圖書調(diào)度是否周到;用戶的要求是否能迅速、很好地得到滿足;市場的預(yù)測分析是否快捷、準(zhǔn)確等。這其中的核心就是對每天大量的信息(用戶、圖書等)的正確處理和保存。數(shù)據(jù)庫結(jié)構(gòu) 設(shè)計是總體設(shè)計階段非常重要的環(huán)節(jié),好的數(shù)據(jù)庫結(jié)構(gòu)可以簡化開發(fā)過程,使系統(tǒng)功能更加清晰明確。因為數(shù)據(jù)庫結(jié)構(gòu)的變化會造成編碼的改動,所以必須認(rèn)真設(shè)計數(shù)據(jù)庫結(jié)構(gòu)后再進行編碼,從而避免無謂的重復(fù)工作。 4.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 數(shù)據(jù)庫設(shè)計是在既定(本系統(tǒng)使用 SQL Server)的數(shù)據(jù)庫管理系統(tǒng)基礎(chǔ)之上建立數(shù)據(jù)庫的過程。其過程是將現(xiàn)實存在的數(shù)據(jù)及其應(yīng)用處理關(guān)系進行抽象,從而形成數(shù)據(jù)庫結(jié)構(gòu)。數(shù)據(jù)庫是數(shù)據(jù)庫應(yīng)用程序的核心。數(shù)據(jù)庫設(shè)計是建立一個應(yīng)用程序最重要的一步。一個好的數(shù)據(jù)庫結(jié)構(gòu)和文件設(shè)計可以使系統(tǒng)在已有的條件下具 有處理速度快,占用存儲空間少,操作處理過程簡單,查找容易,系統(tǒng)開銷和費用低等特點。具體實現(xiàn)時,應(yīng)首先明確用戶對數(shù)據(jù)的需求,在此基礎(chǔ)上,建立數(shù)據(jù)庫的概念模型,概念模型主要是用來反映用戶的現(xiàn)實環(huán)境和需求,它獨立于具體的數(shù)據(jù)庫管理系統(tǒng),并且與數(shù)據(jù)庫怎樣實現(xiàn)無關(guān),建立概念模型的主要工具為實體關(guān)系( E-R)圖;在建立數(shù)據(jù)庫概念模型之后,要真正實現(xiàn)與數(shù)據(jù)庫管理系統(tǒng)的結(jié)合,即能夠由既定的數(shù)據(jù)庫管理系統(tǒng)所支持,還必須進行邏輯結(jié)構(gòu)的設(shè)計,在邏輯設(shè)計階段,主要完成建立數(shù)據(jù)庫的邏輯模型,并解決數(shù)據(jù)的完整性、一致性、安全性和有效性 等問題;最后一個階段是數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計,其任務(wù)是為系統(tǒng)邏輯結(jié)構(gòu)模型確定合理的存儲結(jié)構(gòu)、存取方法、以及數(shù)據(jù)表示和數(shù)據(jù)存儲空間分配等內(nèi)容,從而得到具體的數(shù)據(jù)庫物理結(jié)構(gòu)。 根據(jù)數(shù)據(jù)關(guān)系模型和數(shù)據(jù)庫關(guān)系模式,我們創(chuàng)建了圖書管理流通信息系統(tǒng)數(shù)據(jù)表的表結(jié)構(gòu)和索引,本系統(tǒng)共有 3 個數(shù)據(jù)表,分別是:用戶表( User),圖書表( BookList),流通表( Circulation)。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 在建立數(shù)據(jù)庫時,由于表中儲存信息的不同,所以表中所需的字段也不一樣,在確定所需字段時有以下原則: ( 1)描述不同主題的字段應(yīng)屬于不同的表,通過 定義之間的關(guān)系,可以將多個表中的字段進行數(shù)據(jù)組合,生成各種表單或報表。 ( 2)不要在表中儲存通過推導(dǎo)或計算得到的數(shù)據(jù)。 ( 3)收集所需的全部信息。應(yīng)全面檢查書面的表單和報表,確定所需的數(shù)據(jù)都已包含在所設(shè)計的表中或可以由這些表計算出來。 ( 4)以最小的邏輯單位儲存信息,應(yīng)盡量把信息分解成比較小的邏輯單位。 ( 5)對于主關(guān)鍵字段, SQL Server 不允許其有重復(fù)值或 NULL 值。 建立字段原則 在實際選擇和確定數(shù)據(jù)類型時,應(yīng)結(jié)合字段的自身情況并考慮以下幾點: ( 1)該字段用于儲存什么類型的值。 ( 2)要對字段中的 值執(zhí)行什么類型的運算。 ( 3)是否要用字段進行排序或篩選。 ( 4)是否用字段對記錄進行分組。 4.2 E-R 圖 E-R 圖為實體 -聯(lián)系圖,提供了表示實體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。 構(gòu)成 E-R 圖的基本要素是實體型、屬性和聯(lián)系,其表示方法為: 實體型:用矩形表示,矩形框內(nèi)寫明實體名; 屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來; 聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型( 1 : 1, 1 : n 或 m : n)。 在本系統(tǒng)中,一個管理員不僅可以管理自己的信息,同時還可以對多給普通用戶進行管理,因此它們之間的關(guān)系是 1: N,而每個用戶只允許查看自己的信息,因此它們之間的關(guān)系是 1: 1。本系統(tǒng)的 E-R 圖如圖 4.1 所示。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 圖 4.1 系統(tǒng) E-R 圖 其中: 用戶信息的屬性圖如圖 4.2 所示。 用戶信息 用戶名UserName 密碼 Psw 昵稱 LovelyName 真實姓名 TrueName 民族 Nation 性別 Sex 年齡 Age 生日 Birthday 省 Province 市 City 地址 Address 郵編 PostMark QQ 號 QQ 電子郵箱 Email 權(quán)限 Power 管理員 添加 修改 用戶信息表 圖書信息表 刪除 流通信息表 N 管理 普通用戶 查看 1 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 圖 4.2 用戶信息屬性圖 圖書 信息的屬性如圖 4.3 所示。 圖 4.3 圖書信息屬性圖 流通信息的屬性如圖 4.4 所示。 圖 4.4 流通信息屬性圖 4.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計完畢后,可以將數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為某種數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。 在住房公積金管理系統(tǒng)中, 共有 3 個數(shù)據(jù)表,分別是: 用戶信息表( User) ,圖書信息表( BookList),流通信息表( Circulation)。 圖書信息 圖書編號 BookCode 圖書名稱 BookName 出版社 Press 類型 Type 條形碼 ISBN 作者 Author 出版日期 PubilshDate 數(shù)量 BookCount 圖片 SmallPic 價錢 Price 圖書信息 Memo 流通信息 借閱書號 BookCode 借閱賬號 UserName 借閱日期 BorrowData 歸還日期 ReturnData 真實歸還日期 TheTrueReturnData 處罰金額 PunishCoin 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 用戶信息表 ,用來保存用戶類別、用戶基本信息和登陸賬號密碼,如表 4.1 所示: 表 4.1 用戶信息表 圖書信息表,用來保存圖書基本信息,如表 4.2 所示: 表 4.2 圖書信息表 流通信息表,用來保存圖書流通的基本信息,如表 4.3 所示: 表 4.3 流通信息表 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 第五章 系統(tǒng)功能模塊設(shè)計 5.1 登錄窗體的設(shè)計 系統(tǒng)運行時,首先打開的是登錄窗體,只有數(shù)據(jù)庫中存在的用戶才能進入系統(tǒng)。如圖 5.1 所示。打開應(yīng)用程序后 出現(xiàn)登錄界面,輸入用戶名和密碼,按“登錄”鍵,如果用戶名沒有填寫,會彈出“請?zhí)顚戀~號”的警告,如圖 5.2 所示;如果沒有填寫密碼會彈出“請?zhí)顚懨艽a”的警告,如圖 5.3 所示;如果用戶名或密碼有輸入不正確,就會彈出 “賬號或密碼錯誤”的警告,如圖 5.4 所示。用戶有三次登錄機會,只有當(dāng)用戶名和密碼都正確,才進入主界面。 圖 5.1 登錄界面 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 圖 5.2 用戶名錯誤 圖 5.3 密碼錯誤 圖 5.4 登陸失敗 登錄操作流程圖如圖 5.5 所示。 圖 5.5 登錄操作流程圖 5.2 主界面的設(shè)計 首先為主界面設(shè)計主菜單。在工具欄中選擇 Standard 中的 MainMenu 控件,將該控件加入主窗體,命名為 Mmenu。雙擊 Mmenu,對主菜單進行編輯。再為系統(tǒng)設(shè)置工具欄,列出主要功能,以方便用戶的使用。如圖 5.6 所示 Y N 開始 登錄成功 Y N N 輸入用戶名 輸入密碼 輸入密碼 Y 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 圖 5.6 系統(tǒng)主界面 通過系統(tǒng)主界面,可以實現(xiàn)以下功能: 1. 用戶操作:添加、查看、修改和刪除每個用 戶的信息,普通用戶只能查看自己的信息。 2. 圖書流通(僅對管理員開放):選擇進入“新書入庫”或“刪除舊書”界面,進行添加、查看、修改和刪除 3. 圖書檢索:選擇進入“圖書檢索”模塊進行查看、查詢各種圖書,可以通過書名、書號、類別、出版社、作者等信息進行查詢。 4. 選項:系統(tǒng)的信息和幫助文件。 5.3 用戶信息查看、修改窗體 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 圖 5.7 用戶信息主界面 本模塊設(shè)計完成了查看、修改用戶將信息的操作,由 ADOQuery 控件連接數(shù)據(jù)庫User 表,通過用戶的操作完成 SQL 屬性的修改,完成修改數(shù)據(jù)庫的目的。用戶進入到此界 面時,先顯示當(dāng)前登陸的賬戶信息,點擊“修改”按鈕即可修改,修改后點擊提交可以完成修改信息。點擊復(fù)位按鈕可以復(fù)位窗體信息。點擊修改密碼進入密碼修改界面。 5.4 密碼修改模塊設(shè)計 圖 5.8 用戶密碼修改界面 此模塊采用 ADO 控件與數(shù)據(jù)庫 User 表相連接,當(dāng)用戶正確輸入信息后, 3 個 Edit 控件右邊無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 的圖片點亮,可以進行密碼修改,否則,將提示錯誤。當(dāng)用戶修改成功后,彈出修改成功信息。 5.5 新用戶注冊模塊設(shè)計 圖 5.9 注冊新用戶界面 管理員進入此界面后根據(jù)信息填寫各個 Edit 控件,如果填寫 正確,該 Edit 控件右邊的圖片被點亮,否則講彈出錯誤信息。當(dāng)正確填寫后,點擊提交按鈕可以完成在數(shù)據(jù)庫中添加一條新用戶記錄。 基礎(chǔ)信息必須填寫,選填信息可以不填寫。 5.6 凍結(jié)用戶模塊設(shè)計 圖 5.10 凍結(jié)用戶界面 管理員進入此窗體后,填寫將要凍結(jié)的賬戶名即可,系統(tǒng)將彈出對話框,點擊OK 確定刪除該賬戶,該賬戶將無法再使用;點擊 CANCEL 按鈕取消刪除操作,返回上一窗體。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 5.7 借閱圖書模塊的設(shè)計 圖 5.11 借閱圖書界面 管理員進入此界面后,輸入借閱的賬號名,左邊的 Panel 中將顯示該 賬戶信息;輸入借閱的書號,右邊的 Panel 中將顯示書籍信息。確認(rèn)無誤后,點擊確定完成借閱操作。 5.8 歸還圖書模塊設(shè)計 圖 5.12 歸還圖書界面 管理員進入此界面后,輸入歸還的賬號名,左邊的 Panel 中將顯示該賬戶信息;無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 輸入歸還的書號,右邊的 Panel 中將顯示書籍信息。確認(rèn)無誤后,點擊確認(rèn)按鈕,系 統(tǒng)將判斷是否存在該條借閱記錄,如果存在則刪除,否則將提示用戶輸入有誤。 5.9 系統(tǒng)信息模塊設(shè)計 圖 5.13 軟件幫助界面 圖 5.14 軟件版權(quán)界面 5.10 圖書檢索模塊的設(shè)計 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 圖 5.15 圖書檢索界面 用戶登陸軟件后,可以進入此模塊進行書籍查詢,通過填寫查詢關(guān)鍵字,填寫完成后點擊 OK 按鈕,將顯示出所有相關(guān)的圖書信息,檢索結(jié)果放在窗體下半部的檢索結(jié)果 Panel 中。 5.11 借閱查詢模塊的設(shè)計 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 登陸后的用戶可以進入此窗體進行以往圖書借閱記錄的查詢,通過選擇時間段完成查詢信息操作,借閱的記錄信息將顯示在檢索結(jié)果中。 5.12 退出系統(tǒng) 用戶若想退出系統(tǒng),只需返回到主界面中,點擊“用戶操作”菜單欄下的“退出”菜單即可。 5.13 系統(tǒng)擴展 為了 使系統(tǒng)更加容易、快捷操作,在主界面中加入了 TOOLBAR 控件,實現(xiàn)一些加速鍵,它們直接跟菜單相關(guān),直接點擊這些按鈕即可完成菜單項的操作。到此,系統(tǒng)設(shè)計基本完成。 第六章 軟件測試及調(diào)試 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 程序開發(fā)是一項比較復(fù)雜的工作,不可避免地會出現(xiàn)一些錯誤,因此需要進行大量的程序測試和調(diào)試工作。軟件測試就是在軟件交付用戶使用或投入運行前,對軟件需求規(guī)格說明、設(shè)計規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。 軟件系統(tǒng)的測試對系統(tǒng)的可靠性有非常重要的影響。 軟件測試是保證軟件質(zhì)量 ,提高軟件可靠性的最主要的活動之一。它實施對軟件規(guī)格說明、設(shè)計規(guī)格說明和編碼的最終審核。軟件測試的目的是以最少的人力、物力和時間投入,盡可能多地找出軟件中潛在的各種錯誤和缺陷。測試的結(jié)果為軟件可靠性分析提供了依據(jù)。設(shè)計測試用例的方法一般有兩種:黑盒法以及白盒法。本次測試采用的是第一種方法,我們將所有可能的值來檢查系統(tǒng)程序的正確性,并通過測試得到的結(jié)果進行必要的調(diào)試和功能改進。 通過測試結(jié)果,我們了解到,我們開發(fā)的系統(tǒng)開發(fā)的幾個功能能夠較好的完成工作,但是由于我們對客戶信息了解不夠以及本身的知識缺陷,所以在很 多方面沒有考慮到,比如說沒有對于幫助系統(tǒng)始終沒有提供更強大的索引功能。 6.1 調(diào)試步驟 為了保證本系統(tǒng)投入使用后能夠正確運行,在程序編寫完畢之后,分三步進行了系統(tǒng)調(diào)試。 1. 程序調(diào)試: 主要是進行程序的語法調(diào)試和程序的邏輯檢查。在這階段調(diào)試中,我們不僅使用了正常數(shù)據(jù),還使用了一些錯誤數(shù)據(jù)和異常數(shù)據(jù)進行測試,以保證系統(tǒng)的可靠性。 2. 模塊分別調(diào)試: 在單個程序調(diào)試完畢后,需要將模塊內(nèi)所有程序組合起來進行調(diào)試,其目的是保證內(nèi)部控制關(guān)系正確和數(shù)據(jù)處理內(nèi)容正確。在這一階段,我們將重點放在程序的正確性上。 3. 系統(tǒng)調(diào)試: 即在模塊分別調(diào)試的基礎(chǔ)上,對整個系統(tǒng)的功能進行測試。主要考察各個模塊間的數(shù)據(jù)通訊問題以及數(shù)據(jù)共享問題。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 6.2 調(diào)試中出現(xiàn)的問題 在數(shù)據(jù)庫設(shè)置過程中,由于采用中文字段和多種字段類型,經(jīng)常導(dǎo)致數(shù)據(jù)庫連接修改出錯,后來采用英文字段名和 VARCHAR 數(shù)據(jù)類型,錯誤率大大降低。 在系統(tǒng)運行過程中,出現(xiàn)數(shù)據(jù)庫連接成功了,卻不能顯示。原來 EXECSQL 命令和 OPEN 命令有所不同, EXESQL 命令只執(zhí)行代碼一次,可以實現(xiàn)修改、更新、刪除等操作;而 OPEN 命令用于獲取數(shù)據(jù)集,這樣就可以從數(shù)據(jù)集中獲取 所需要的字段的值,經(jīng)常用于 SELECT 語句。除此之外,也出現(xiàn)了許多程序語句上的小錯誤,在同學(xué)的幫助和自己的檢查下也都一一改進。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 第七章 結(jié) 論 本文詳細(xì)闡述了圖書管理流通系統(tǒng)軟件的開發(fā)和實現(xiàn)過程。做了如下具體工作: 1. 圖書管理流通系統(tǒng)的需求分析; 2. 數(shù)據(jù)庫的簡介和系統(tǒng)數(shù)據(jù)庫的實現(xiàn) ; 3. 系統(tǒng)各個模塊的詳細(xì)開發(fā)和設(shè)計。 本軟件經(jīng)過測試和調(diào)試,運行穩(wěn)定,性能良好,基本達(dá)到了預(yù)期的效果。主要有以下幾個特點 : 1. 充分了解圖書館的實際情況,抓住關(guān)鍵功能點,實現(xiàn)流通的 管理信息化。 2. 操作簡單化,通過提示使操做容易上手,即使是以前很少接觸計算機的工作人員也能很快熟悉軟件環(huán)境。 3. 軟件界面模仿圖書館通常使用的各種表單,使圖書館管理的工作人員接受起來很容易。 在本系統(tǒng)的學(xué)習(xí)、開發(fā)和設(shè)計中,所有的實踐和理論都是一次全新的探索。 本人對開發(fā)環(huán)境 C+builder 并不是很熟悉,在以前的學(xué)習(xí)中也只是涉及到簡單的程序設(shè)計,一開始做的還是有點力不從心,但在導(dǎo)師和同學(xué)的耐心指導(dǎo)下,通過自己的努力學(xué)習(xí)和探索,本人已經(jīng)可以使用 C+builder 以及 SQL 查詢語言開發(fā)數(shù)據(jù)庫應(yīng)用程序。對 我來說最大的收獲不僅僅是掌握了這些新技術(shù),并在實際中得到應(yīng)用和發(fā)揮,更重要探索和研究新技術(shù)的鍛煉。 本軟件雖說運行穩(wěn)定,但由于實際條件和時間的限制, 僅能實現(xiàn)最簡單最基本的功能,并且還 有很多需要改進的地方有待于完善。但這是本人從無到有,從查閱資料、建立數(shù)據(jù)庫再到編寫程序、撰寫論文,一步一步辛苦建立起來的。在這個過程中,本人學(xué)到了很多書本上沒有的知識,并且將這些理論知識付諸于實際應(yīng)用之中。同時本人也認(rèn)識到了自身的很多不足之處,例如解決問題的能力還不夠強等。在以后的工作和學(xué)習(xí)中,本人會努力克服自己的不足之處,不斷 鍛煉自己解決問題的能力,不斷探索和研究新技術(shù),將所學(xué)的知識應(yīng)用到實際工作中去。 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 參考文獻(xiàn) 01 孫鑫 .VC+深入詳解 M.北京 :電子工業(yè)出版社 ,2006 年 02 苗雪蘭 .數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用教程 M .北京 :機械工業(yè)出版社 ,2007 年 03 徐謖 .VISUAL BASIC 應(yīng)用與開發(fā)案例教程 M .北京 :清華大學(xué)出版社 ,2005 年 04 曹衍龍 .VISUAL BASIC 系統(tǒng)開發(fā)實例精粹 J .北京 :人民郵電出版社 ,2005 年 05 宋坤 .VISUAL C+技術(shù)大全 M .北京 :人民郵電出版社 ,2008 年 06 黃維通 .SQL Server 2000 簡明教程 M.北京:清華大學(xué)出版社 .2002 年 07 鄒建 .SQL Sever2000 開發(fā)與管理應(yīng)用實例 M.北京:人民郵電出版社 .2005 年 08 耿靜、王遵立 .用 Delphi 開發(fā)數(shù)據(jù)庫的方法 J .北京 :計算機系統(tǒng)應(yīng)用出版 社 2000 年 09 范曉平 .Visual C+6.0M.北京 :航空航天大學(xué)出版社 ,2003 年 10 范曉平 .跟著實例學(xué) VisualC+6.0M .北京 :航空航天大學(xué)出版社 ,2003 年 11 Michael Main. 數(shù)據(jù)結(jié)構(gòu)與面向?qū)ο蟪绦蛟O(shè)計 -c+版 M .北京 :清華大學(xué)出版社 ,2007 年 12 杜赫斯特 . c+必知必會 -(英文版 ) J .北京 :人民郵電出版社 ,2007 年 13 戴特爾 . big c+-(中文版 ) M .北京 : 電子工業(yè) 出版社 ,2007 年 14 劉超 /唐彬 . C+ Builder 案例開發(fā)集錦 M .北京 : 電子工業(yè)出版社 ,2005 年 15 陳慧南 . 數(shù)據(jù)結(jié)構(gòu) - - C+語言描述 M .北京 : 人民郵電出版社 ,2005 年 16 侯識忠 . 數(shù)據(jù)結(jié)構(gòu)算法 :C+Builder 6.0 程序集 J .北京 : 中國水利水電出版社 ,2005 年 17 黃維通 . VIAUALC+面向?qū)ο笈c可視化程序設(shè)計習(xí)題解析與編程實例 M .北京 : 清華大學(xué)出版社 ,2000 年 18 劉華 . Borland C+ Builder 程序設(shè)計 M .北京 :航空航天大學(xué)出版社 ,2001年 19 Michael Main. Borland C+ Buider 6 應(yīng)用開發(fā)技術(shù)解析 M .北京 :清華大學(xué)出版社 ,2003 年 20 程展鵬 . Borland C+ Builder6 應(yīng)用開發(fā)技術(shù)解析 J .北京 :人民郵電出版社 ,2003 年 21 伍俊良 . C+Builder 和 Delphi 課程設(shè)計與系統(tǒng)開發(fā)案例 M .北京 : 清華大學(xué)出版社 ,2002 年 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 致 謝 轉(zhuǎn)眼間,大學(xué)生活即將結(jié)束,回首過去四年的大學(xué)生活,真是有苦也有樂,然而更多的則是收獲,感謝母校的各位老師不但無私地傳授給我們知識,也教會了我們?nèi)绾巫鋈?。在各位老師的身上學(xué)到的東西會使我們在步入社會后受益匪淺,對于我們的整個人生,各位老師將是永恒的啟明。 本論文的研究工作是在楊焱老師的指導(dǎo)下完成的,在論文的選題、論文方向的研究、文獻(xiàn)資料的查詢、論文的撰寫和修改等過程,均得到了楊焱老師的親切的指導(dǎo)。 在此還要衷心感謝幫助過我的 同學(xué),沒有她們的幫助,我也不能順利地完成這次畢業(yè)設(shè)計! 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: 附錄 /*Unit1.h* #ifndef Unit1H #define Unit1H /- #include #include #include #include #include #include #include /- class TForm1 : public TForm _published: / IDE-managed Components TEdit *Edit1; TEdit *Edit2; TLabel *Label1; TLabel *Label2; TBitBtn *BitBtn1; TBitBtn *BitBtn2; TADOQuery *ADOQuery1; void _fastcall BitBtn1Click(TObject *Sender); void _fastcall BitBtn2Click(TObject *Sender); void _fastcall FormShow(TObject *Sender); private: / User declarations public: / User declarations _fastcall TForm1(TComponent* Owner); ; /- extern PACKAGE TForm1 *Form1; /我的函數(shù) bool CheckNull(); /- #endif /*Unit1.cpp* #include #pragma hdrstop #include Unit1.h #include Unit2.h /- #pragma package(smart_init) #pragma resource *.dfm TForm1 *Form1; String g_UserName,g_Psw,g_LovelyName,g_TrueName,g_Nation,g_Sex,g_Age,g_Birthday,g_Province,g_City,g_Address,g_PostMark,g_Mobile,g_QQ,g_Email,g_Power; /- _fastcall TForm1:TForm1(TComponent* Owner) : TForm(Owner) /- 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: void _fastcall TForm1:BitBtn1Click(TObject *Sender) if(CheckNull() ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(select * from User where UserName = +Edit1-Text+ and Psw = +Edit2-Text+); if(ADOQuery1-ExecSQL() Application-MessageBoxA(登陸成功 ,成功 ,MB_OK); ADOQuery1-Open(); g_UserName = ADOQuery1-FieldByName(UserName)-AsString; g_Psw = ADOQuery1-FieldByName(Psw)-AsString; g_LovelyName = ADOQuery1-FieldByName(LovelyName)-AsString; g_TrueName = ADOQuery1-FieldByName(TrueName)-AsString; g_Nation = ADOQuery1-FieldByName(Nation)-AsString; g_Sex = ADOQuery1-FieldByName(Sex)-AsString; g_Age = ADOQuery1-FieldByName(Age)-AsString; g_Birthday = ADOQuery1-FieldByName(Birthday)-AsString; g_Province = ADOQuery1-FieldByName(Province)-AsString; g_City = ADOQuery1-FieldByName(City)-AsString; g_Address = ADOQuery1-FieldByName(Address)-AsString; g_PostMark = ADOQuery1-FieldByName(PostMark)-AsString; g_Mobile = ADOQuery1-FieldByName(Mobile)-AsString; g_QQ = ADOQuery1-FieldByName(QQ)-AsString; g_Email = ADOQuery1-FieldByName(Email)-AsString; g_Power = ADOQuery1-FieldByName(Power)-AsString; Form2-Show(); Form1-Hide(); else Application-MessageBoxA(用戶名或密碼錯誤 ,錯誤 ,MB_OK); Form1-Edit1-SetFocus(); /- / bool CheckNull() if(Form1-Edit1-Text = ) Application-MessageBoxA(用戶名不能為空 ,錯誤 ,MB_OK); Form1-Edit1-SetFocus(); return false; else if(Form1-Edit2-Text = ) Application-MessageBoxA(密碼不能為空 ,錯誤 ,MB_OK); Form1-Edit2-SetFocus(); return false; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: else return true; / void _fastcall TForm1:BitBtn2Click(TObject *Sender) Application-Terminate(); /- void _fastcall TForm1:FormShow(TObject *Sender) Edit1-Text = ; Edit2-Text = ; Edit1-SetFocus(); /- /*Unit2.h* #ifndef Unit2H #define Unit2H /- #include #include #include #include #include #include #include #include #include #include /- class TForm2 : public TForm _published: / IDE-managed Components TMainMenu *MainMenu1; TMenuItem *N1; TMenuItem *N2; TMenuItem *N3; TMenuItem *N4; TMenuItem *N5; TMenuItem *N6; TMenuItem *N7; TMenuItem *N8; TMenuItem *N9; TMenuItem *N10; TMenuItem *N11; TMenuItem *N12; TMenuItem *N13; TMenuItem *N14; TMenuItem *N15; TMenuItem *N16; TMenuItem *N17; TMenuItem *N18; TToolBar *ToolBar1; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: TToolButton *ToolButton1; TImageList *ImageList1; TToolButton *ToolButton2; TToolButton *ToolButton3; TToolButton *ToolButton4; TToolButton *ToolButton5; TToolButton *ToolButton6; TToolButton *ToolButton7; TToolButton *ToolButton8; TToolButton *ToolButton9; TToolButton *ToolButton10; TToolButton *ToolButton11; TToolButton *ToolButton12; TToolButton *ToolButton13; TToolButton *ToolButton14; TToolButton *ToolButton15; void _fastcall FormClose(TObject *Sender, TCloseAction &Action); void _fastcall N2Click(TObject *Sender); void _fastcall N6Click(TObject *Sender); void _fastcall FormShow(TObject *Sender); void _fastcall N8Click(TObject *Sender); void _fastcall N3Click(TObject *Sender); void _fastcall N4Click(TObject *Sender); void _fastcall ToolButton1Click(TObject *Sender); void _fastcall ToolButton2Click(TObject *Sender); void _fastcall ToolButton3Click(TObject *Sender); void _fastcall ToolButton4Click(TObject *Sender); void _fastcall N10Click(TObject *Sender); void _fastcall N17Click(TObject *Sender); void _fastcall N12Click(TObject *Sender); void _fastcall N18Click(TObject *Sender); void _fastcall N14Click(TObject *Sender); void _fastcall N15Click(TObject *Sender); void _fastcall ToolButton6Click(TObject *Sender); void _fastcall ToolButton7Click(TObject *Sender); void _fastcall ToolButton9Click(TObject *Sender); void _fastcall ToolButton10Click(TObject *Sender); void _fastcall ToolButton12Click(TObject *Sender); void _fastcall ToolButton13Click(TObject *Sender); void _fastcall ToolButton15Click(TObject *Sender); void _fastcall FormCreate(TObject *Sender); private: / User declarations public: / User declarations _fastcall TForm2(TComponent* Owner); ; /- extern PACKAGE TForm2 *Form2; /- #endif /*Unit2.cpp* #include #pragma hdrstop #include Unit2.h #include Unit1.h #include Unit3.h #include Unit5.h #include Unit6.h 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: #include Unit7.h #include Unit8.h #include Unit9.h #include Unit10.h #include Unit11.h #include Unit12.h /- #pragma package(smart_init) #pragma resource *.dfm TForm2 *Form2; extern String g_UserName,g_Psw,g_LovelyName,g_TrueName,g_Nation,g_Sex,g_Age,g_Birthday,g_Province,g_City,g_Address,g_PostMark,g_Mobile,g_QQ,g_Email,g_Power; /- _fastcall TForm2:TForm2(TComponent* Owner) : TForm(Owner) /- void _fastcall TForm2:FormClose(TObject *Sender, TCloseAction &Action) Application-Terminate(); /- void _fastcall TForm2:N2Click(TObject *Sender) Form1-Show(); Form2-Hide(); /- void _fastcall TForm2:N6Click(TObject *Sender) Application-Terminate(); /- void _fastcall TForm2:FormShow(TObject *Sender) if(g_Power = 普通 ) N3-Enabled = false; N4-Enabled = false; N9-Enabled = false; else N3-Enabled = true; N4-Enabled = true; N9-Enabled = true; /- void _fastcall TForm2:N8Click(TObject *Sender) Form3-ShowModal(); /- void _fastcall TForm2:N3Click(TObject *Sender) 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: Form5-ShowModal(); /- void _fastcall TForm2:N4Click(TObject *Sender) Form6-ShowModal(); /- void _fastcall TForm2:ToolButton1Click(TObject *Sender) N2-Click(); /- void _fastcall TForm2:ToolButton2Click(TObject *Sender) N8-Click(); /- void _fastcall TForm2:ToolButton3Click(TObject *Sender) N3-Clear(); /- void _fastcall TForm2:ToolButton4Click(TObject *Sender) N4-Click(); /- void _fastcall TForm2:N10Click(TObject *Sender) Form7-ShowModal(); /- void _fastcall TForm2:N17Click(TObject *Sender) Form9-ShowModal(); /- void _fastcall TForm2:N12Click(TObject *Sender) Form8-ShowModal(); /- void _fastcall TForm2:N18Click(TObject *Sender) Form10-ShowModal(); /- void _fastcall TForm2:N14Click(TObject *Sender) Form11-ShowModal(); /- void _fastcall TForm2:N15Click(TObject *Sender) Form12-ShowModal(); 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: /- void _fastcall TForm2:ToolButton6Click(TObject *Sender) N10-Click(); /- void _fastcall TForm2:ToolButton7Click(TObject *Sender) N12-Click(); /- void _fastcall TForm2:ToolButton9Click(TObject *Sender) N14-Click(); /- void _fastcall TForm2:ToolButton10Click(TObject *Sender) N15-Click(); /- void _fastcall TForm2:ToolButton12Click(TObject *Sender) N17-Click(); /- void _fastcall TForm2:ToolButton13Click(TObject *Sender) N18-Click(); /- void _fastcall TForm2:ToolButton15Click(TObject *Sender) N6-Click(); /- /*Unit3.h* /- #ifndef Unit3H #define Unit3H /- #include #include #include #include #include #include #include #include /- class TForm3 : public TForm _published: / IDE-managed Components TGroupBox *GroupBox1; TEdit *Edit1; TLabel *Label1; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: TEdit *Edit2; TLabel *Label2; TEdit *Edit3; TLabel *Label3; TEdit *Edit4; TLabel *Label4; TLabel *Label5; TEdit *Edit6; TLabel *Label6; TLabel *Label7; TComboBox *ComboBox1; TComboBox *ComboBox2; TComboBox *ComboBox3; TLabel *Label8; TLabel *Label9; TLabel *Label10; TComboBox *ComboBox4; TGroupBox *GroupBox2; TLabel *Label11; TComboBox *ComboBox5; TComboBox *ComboBox6; TEdit *Edit7; TLabel *Label12; TLabel *Label13; TLabel *Label14; TEdit *Edit8; TEdit *Edit9; TLabel *Label15; TLabel *Label16; TEdit *Edit10; TLabel *Label17; TEdit *Edit11; TADOQuery *ADOQuery1; TBitBtn *BitBtn1; TBitBtn *BitBtn2; TBitBtn *BitBtn3; TBitBtn *BitBtn4; TComboBox *ComboBox7; TComboBox *ComboBox8; TLabel *Label18; void _fastcall FormShow(TObject *Sender); void _fastcall BitBtn2Click(TObject *Sender); void _fastcall BitBtn3Click(TObject *Sender); void _fastcall ComboBox2Change(TObject *Sender); void _fastcall BitBtn1Click(TObject *Sender); void _fastcall ComboBox5Change(TObject *Sender); void _fastcall Edit6KeyDown(TObject *Sender, WORD &Key, TShiftState Shift); void _fastcall BitBtn4Click(TObject *Sender); private: / User declarations public: / User declarations _fastcall TForm3(TComponent* Owner); ; /- extern PACKAGE TForm3 *Form3; void Initialize(); void Unitialize(); 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: /- #endif /*Unit3.cpp* /- #include #pragma hdrstop #include Unit3.h #include Unit4.h /- #pragma package(smart_init) #pragma resource *.dfm TForm3 *Form3; extern String g_UserName,g_Psw,g_LovelyName,g_TrueName,g_Nation,g_Sex,g_Age,g_Birthday,g_Province,g_City,g_Address,g_PostMark,g_Mobile,g_QQ,g_Email,g_Power; /- _fastcall TForm3:TForm3(TComponent* Owner) : TForm(Owner) /- void _fastcall TForm3:FormShow(TObject *Sender) Initialize(); /- void _fastcall TForm3:BitBtn2Click(TObject *Sender) Initialize(); /- void _fastcall TForm3:BitBtn3Click(TObject *Sender) Unitialize(); /- / void Initialize() Form3-ComboBox1-Style = csDropDown; Form3-ComboBox2-Style = csDropDown; Form3-ComboBox3-Style = csDropDown; Form3-ComboBox4-Style = csDropDown; Form3-ComboBox5-Style = csDropDown; Form3-ComboBox6-Style = csDropDown; Form3-ComboBox7-Style = csDropDown; Form3-ComboBox8-Style = csDropDown; Form3-Edit1-Text = g_UserName; Form3-Edit2-Text = g_Psw; Form3-Edit3-Text = g_LovelyName; Form3-Edit4-Text = g_TrueName; Form3-ComboBox7-Text = g_Sex; Form3-ComboBox8-Text = g_Nation; Form3-Edit6-Text = g_Age; Form3-ComboBox1-Text = g_Birthday.SubString(0,4); Form3-ComboBox2-Text = g_Birthday.SubString(6,2); Form3-ComboBox3-Text = g_Birthday.SubString(9,2); 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: Form3-ComboBox4-Text = g_Power; Form3-ComboBox5-Text = g_Province; Form3-ComboBox6-Text = g_City; Form3-Edit7-Text = g_Address; Form3-Edit8-Text = g_PostMark; Form3-Edit9-Text = g_Mobile; Form3-Edit10-Text = g_QQ; Form3-Edit11-Text = g_Email; Form3-Edit1-Enabled = false; Form3-Edit2-Enabled = false; Form3-Edit3-Enabled = false; Form3-Edit4-Enabled = false; Form3-ComboBox7-Enabled = false; Form3-Edit6-Enabled = false; Form3-Edit7-Enabled = false; Form3-Edit8-Enabled = false; Form3-Edit9-Enabled = false; Form3-Edit10-Enabled = false; Form3-Edit11-Enabled = false; Form3-ComboBox1-Enabled = false; Form3-ComboBox2-Enabled = false; Form3-ComboBox3-Enabled = false; Form3-ComboBox4-Enabled = false; Form3-ComboBox5-Enabled = false; Form3-ComboBox6-Enabled = false; Form3-ComboBox7-Enabled = false; Form3-ComboBox8-Enabled = false; Form3-BitBtn2-Enabled = false; Form3-BitBtn1-SetFocus(); if(g_Power = 普通 ) Form3-ComboBox4-Enabled = false; else Form3-ComboBox4-Enabled = true; / void Unitialize() Form3-Edit3-Text = ; Form3-Edit4-Text = ; Form3-Edit6-Text = ; Form3-ComboBox1-Text = ; Form3-ComboBox2-Text = ; Form3-ComboBox3-Text = ; Form3-ComboBox4-Text = ; Form3-ComboBox5-Text = ; Form3-ComboBox6-Text = ; Form3-ComboBox7-Text = ; Form3-ComboBox8-Text = ; Form3-ComboBox1-Style = csDropDownList; Form3-ComboBox2-Style = csDropDownList; Form3-ComboBox3-Style = csDropDownList; Form3-ComboBox4-Style = csDropDownList; Form3-ComboBox5-Style = csDropDownList; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: Form3-ComboBox6-Style = csDropDownList; Form3-ComboBox7-Style = csDropDownList; Form3-ComboBox8-Style = csDropDownList; Form3-Edit7-Text = ; Form3-Edit8-Text = ; Form3-Edit9-Text = ; Form3-Edit10-Text = ; Form3-Edit11-Text = ; Form3-Edit3-Enabled = true; Form3-Edit4-Enabled = true; Form3-ComboBox7-Enabled = true; Form3-Edit6-Enabled = true; Form3-Edit7-Enabled = true; Form3-Edit8-Enabled = true; Form3-Edit9-Enabled = true; Form3-Edit10-Enabled = true; Form3-Edit11-Enabled = true; Form3-ComboBox1-Enabled = true; Form3-ComboBox2-Enabled = true; Form3-ComboBox3-Enabled = true; Form3-ComboBox4-Enabled = true; Form3-ComboBox5-Enabled = true; Form3-ComboBox6-Enabled = true; Form3-ComboBox8-Enabled = true; Form3-BitBtn2-Enabled = true; Form3-Edit3-SetFocus(); if(g_Power = 普通 ) Form3-ComboBox4-Enabled = false; else Form3-ComboBox4-Enabled = true; / void _fastcall TForm3:ComboBox2Change(TObject *Sender) if(ComboBox2-ItemIndex = 1) ComboBox3-Items-Clear(); ComboBox3-Items-Add(01); ComboBox3-Items-Add(02); ComboBox3-Items-Add(03); ComboBox3-Items-Add(04); ComboBox3-Items-Add(05); ComboBox3-Items-Add(06); ComboBox3-Items-Add(07); ComboBox3-Items-Add(08); ComboBox3-Items-Add(09); ComboBox3-Items-Add(10); ComboBox3-Items-Add(11); ComboBox3-Items-Add(12); ComboBox3-Items-Add(13); ComboBox3-Items-Add(14); ComboBox3-Items-Add(15); ComboBox3-Items-Add(16); 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: ComboBox3-Items-Add(17); ComboBox3-Items-Add(18); ComboBox3-Items-Add(19); ComboBox3-Items-Add(20); ComboBox3-Items-Add(21); ComboBox3-Items-Add(22); ComboBox3-Items-Add(23); ComboBox3-Items-Add(24); ComboBox3-Items-Add(25); ComboBox3-Items-Add(26); ComboBox3-Items-Add(27); ComboBox3-Items-Add(28); ComboBox3-Items-Add(29); else ComboBox3-Items-Clear(); ComboBox3-Items-Add(01); ComboBox3-Items-Add(02); ComboBox3-Items-Add(03); ComboBox3-Items-Add(04); ComboBox3-Items-Add(05); ComboBox3-Items-Add(06); ComboBox3-Items-Add(07); ComboBox3-Items-Add(08); ComboBox3-Items-Add(09); ComboBox3-Items-Add(10); ComboBox3-Items-Add(11); ComboBox3-Items-Add(12); ComboBox3-Items-Add(13); ComboBox3-Items-Add(14); ComboBox3-Items-Add(15); ComboBox3-Items-Add(16); ComboBox3-Items-Add(17); ComboBox3-Items-Add(18); ComboBox3-Items-Add(19); ComboBox3-Items-Add(20); ComboBox3-Items-Add(21); ComboBox3-Items-Add(22); ComboBox3-Items-Add(23); ComboBox3-Items-Add(24); ComboBox3-Items-Add(25); ComboBox3-Items-Add(26); ComboBox3-Items-Add(27); ComboBox3-Items-Add(28); ComboBox3-Items-Add(29); ComboBox3-Items-Add(30); ComboBox3-Items-Add(31); /- void _fastcall TForm3:BitBtn1Click(TObject *Sender) ComboBox1-Style = csDropDown; ComboBox2-Style = csDropDown; ComboBox3-Style = csDropDown; ComboBox4-Style = csDropDown; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: ComboBox5-Style = csDropDown; ComboBox6-Style = csDropDown; ComboBox7-Style = csDropDown; ComboBox8-Style = csDropDown; if(Edit3-Text = ) MessageBoxA(Form3-Handle,昵稱不能為空 ,有錯誤了 ,MB_OK); Edit3-SetFocus(); ComboBox1-Style = csDropDownList; ComboBox2-Style = csDropDownList; ComboBox3-Style = csDropDownList; ComboBox4-Style = csDropDownList; ComboBox5-Style = csDropDownList; ComboBox6-Style = csDropDownList; ComboBox7-Style = csDropDownList; ComboBox8-Style = csDropDownList; return; if(Edit4-Text = ) MessageBoxA(Form3-Handle,姓名不能為空 ,有錯誤了 ,MB_OK); Edit4-SetFocus(); ComboBox1-Style = csDropDownList; ComboBox2-Style = csDropDownList; ComboBox3-Style = csDropDownList; ComboBox4-Style = csDropDownList; ComboBox5-Style = csDropDownList; ComboBox6-Style = csDropDownList; ComboBox7-Style = csDropDownList; ComboBox8-Style = csDropDownList; return; if(Edit6-Text = ) MessageBoxA(Form3-Handle,年齡不能為空 ,有錯誤了 ,MB_OK); Edit6-SetFocus(); ComboBox1-Style = csDropDownList; ComboBox2-Style = csDropDownList; ComboBox3-Style = csDropDownList; ComboBox4-Style = csDropDownList; ComboBox5-Style = csDropDownList; ComboBox6-Style = csDropDownList; ComboBox7-Style = csDropDownList; ComboBox8-Style = csDropDownList; return; if(ComboBox1-Text = | ComboBox2-Text = | ComboBox3-Text = ) MessageBoxA(Form3-Handle,出生日期不能為空 ,有錯誤了 ,MB_OK); ComboBox1-SetFocus(); ComboBox1-Style = csDropDownList; ComboBox2-Style = csDropDownList; ComboBox3-Style = csDropDownList; ComboBox4-Style = csDropDownList; ComboBox5-Style = csDropDownList; ComboBox6-Style = csDropDownList; ComboBox7-Style = csDropDownList; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: ComboBox8-Style = csDropDownList; return; if(ComboBox7-Text = ) MessageBoxA(Form3-Handle,性別不能為空 ,有錯誤了 ,MB_OK); ComboBox7-SetFocus(); ComboBox1-Style = csDropDownList; ComboBox2-Style = csDropDownList; ComboBox3-Style = csDropDownList; ComboBox4-Style = csDropDownList; ComboBox5-Style = csDropDownList; ComboBox6-Style = csDropDownList; ComboBox7-Style = csDropDownList; ComboBox8-Style = csDropDownList; return; if(ComboBox4-Text = ) MessageBoxA(Form3-Handle,權(quán)限不能為空 ,有錯誤了 ,MB_OK); ComboBox4-SetFocus(); ComboBox1-Style = csDropDownList; ComboBox2-Style = csDropDownList; ComboBox3-Style = csDropDownList; ComboBox4-Style = csDropDownList; ComboBox5-Style = csDropDownList; ComboBox6-Style = csDropDownList; ComboBox7-Style = csDropDownList; ComboBox8-Style = csDropDownList; return; if(ComboBox8-Text = ) MessageBoxA(Form3-Handle,民族不能為空 ,有錯誤了 ,MB_OK); ComboBox8-SetFocus(); ComboBox1-Style = csDropDownList; ComboBox2-Style = csDropDownList; ComboBox3-Style = csDropDownList; ComboBox4-Style = csDropDownList; ComboBox5-Style = csDropDownList; ComboBox6-Style = csDropDownList; ComboBox7-Style = csDropDownList; ComboBox8-Style = csDropDownList; return; ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(update User set LovelyName=+Edit3-Text+,TrueName=+Edit4-Text+,Nation=+ComboBox8-Text+,Sex=+ComboBox7-Text+,Age=+Edit6-Text+,Birthday=+ComboBox1-Text+-+ComboBox2-Text+-+ComboBox3-Text+,Power=+ComboBox4-Text+ where UserName=+Edit1-Text+); if(ADOQuery1-ExecSQL() MessageBoxA(Form3-Handle,修改成功 ,修改提示 ,MB_OK); g_LovelyName = Edit3-Text; g_TrueName = Edit4-Text; g_Sex = ComboBox7-Text; g_Nation = ComboBox8-Text; 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: g_Age = Edit6-Text; g_Birthday = ComboBox1-Text+-+ComboBox2-Text+-+ComboBox3-Text; g_Power = ComboBox4-Text; g_Province = ComboBox5-Text; g_City = ComboBox6-Text; g_Address = Edit7-Text; g_PostMark = Edit8-Text; g_Mobile = Edit9-Text; g_QQ = Edit10-Text; g_Email = Edit11-Text; Initialize(); Form3-Close(); /- void _fastcall TForm3:ComboBox5Change(TObject *Sender) switch(ComboBox5-ItemIndex) case 0: ComboBox6-Items-Clear(); ComboBox6-Items-Add(東城區(qū) ); ComboBox6-Items-Add(西城區(qū) ); ComboBox6-Items-Add(崇文區(qū) ); ComboBox6-Items-Add(宣武區(qū) ); ComboBox6-Items-Add(朝陽區(qū) ); ComboBox6-Items-Add(豐臺區(qū) ); ComboBox6-Items-Add(石景山區(qū) ); ComboBox6-Items-Add(海淀區(qū) ); ComboBox6-Items-Add(門頭溝區(qū) ); ComboBox6-Items-Add(房山區(qū) ); ComboBox6-Items-Add(通州區(qū) ); ComboBox6-Items-Add(順義區(qū) ); ComboBox6-Items-Add(昌平區(qū) ); ComboBox6-Items-Add(大興區(qū) ); ComboBox6-Items-Add(懷柔區(qū) ); ComboBox6-Items-Add(平谷區(qū) ); ComboBox6-Items-Add(延慶縣 ); ComboBox6-Items-Add(密云縣 ); break; case 1: 。 。 。 case 32:ComboBox6-Items-Clear(); break; case 33:ComboBox6-Items-Clear(); break; /- void _fastcall TForm3:Edit6KeyDown(TObject *Sender, WORD &Key, TShiftState Shift) if (Key=0&KeyReadOnly=false; else Edit6-ReadOnly=true; /- void _fastcall TForm3:BitBtn4Click(TObject *Sender) Form4-ShowModal(); /- /*Unit4.h* /- #ifndef Unit4H #define Unit4H /- #include #include #include #include #include #include #include #include #include /- class TForm4 : public TForm _published: / IDE-managed Components TEdit *Edit1; TEdit *Edit2; TEdit *Edit3; TLabel *Label1; TLabel *Label2; TLabel *Label3; TBitBtn *BitBtn1; TBitBtn *BitBtn2; TLabel *Label4; TImage *Image1; TImage *Image2; TImage *Image3; TLabel *Label5; TLabel *Label6; TADOQuery *ADOQuery1; void _fastcall Edit1Change(TObject *Sender); void _fastcall Edit2Change(TObject *Sender); void _fastcall Edit3Change(TObject *Sender); void _fastcall BitBtn1Click(TObject *Sender); void _fastcall BitBtn2Click(TObject *Sender); void _fastcall FormShow(TObject *Sender); private: / User declarations public: / User declarations _fastcall TForm4(TComponent* Owner); ; /- extern PACKAGE TForm4 *Form4; /- 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: #endif /*Unit4.cpp* /- #include #pragma hdrstop #include Unit4.h /- #pragma package(smart_init) #pragma resource *.dfm TForm4 *Form4; extern String g_UserName,g_Psw,g_LovelyName,g_TrueName,g_Nation,g_Sex,g_Age,g_Birthday,g_Province,g_City,g_Address,g_PostMark,g_Mobile,g_QQ,g_Email,g_Power; /- _fastcall TForm4:TForm4(TComponent* Owner) : TForm(Owner) /- void _fastcall TForm4:Edit1Change(TObject *Sender) if(g_Psw = Edit1-Text) Image1-Visible = true; else Image1-Visible = false; /- void _fastcall TForm4:Edit2Change(TObject *Sender) if(Edit2-Text.Length() Visible = false; else Image2-Visible = true; /- void _fastcall TForm4:Edit3Change(TObject *Sender) if(Edit3-Text = Edit2-Text) Image3-Visible = true; else Image3-Visible = false; /- void _fastcall TForm4:BitBtn1Click(TObject *Sender) 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: bool flag = true; if(!Image1-Visible) Application-MessageBoxA(請正確輸入原密碼 ,錯誤 ,MB_OK); flag = false; return; if(!Image2-Visible) Application-MessageBoxA(請正確輸入新密碼 ,錯誤 ,MB_OK); flag = false; return; if(!Image3-Visible) Application-MessageBoxA(請重復(fù)輸入新密碼 ,錯誤 ,MB_OK); flag = false; return; if(flag) g_Psw = Edit2-Text; ADOQuery1-SQL-Clear(); ADOQuery1-SQL-Add(update User set Psw = + Edit2-Text + where UserName=+g_UserName+); if(ADOQuery1-ExecSQL() Application-MessageBoxA(密碼修改成功了 ,修改成功 ,MB_OK); Form4-Close(); /- void _fastcall TForm4:BitBtn2Click(TObject *Sender) Form4-Close(); /- void _fastcall TForm4:FormShow(TObject *Sender) Edit1-Text = ; Edit2-Text = ; Edit3-Text = ; Edit1-SetFocus(); Image1-Visible = false; Image2-Visible = false; Image3-Visible = false; /- /*Unit6.h* /- #ifndef Unit6H #define Unit6H /- #include #include #include #include #include 無憂無慮畢設(shè)網(wǎng) ():畢業(yè)設(shè)計源碼下載 畢業(yè)設(shè)計源碼下載: #include #include /- class TForm6 : public TForm _published: / IDE-managed Components TEdit *Edit1; TLabel *Label1; TLabel *Label2; TBitBtn *BitBtn1; TADOQuery *ADO
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公區(qū)域安全巡查培訓(xùn)課件
- 信息安全與保密管理制度
- 2026年南京市公安局江寧分局公開招聘輔警備考題庫及完整答案詳解一套
- 2026年中國科學(xué)院心理研究所國民心理健康評估發(fā)展中心招聘備考題庫含答案詳解
- 2026年物流專業(yè)考試題目
- 2026年快消品市場策劃經(jīng)理的招聘面題解析
- 2026年電力工程注冊建造師面試題詳解
- 2026年客服管理崗面試題及答案
- 2026年東莞市公安局水上分局道滘水上派出所第1批警務(wù)輔助人員招聘備考題庫及答案詳解一套
- 2026年航天技術(shù)顧問如何應(yīng)對復(fù)雜面試題
- 人情世故培訓(xùn)課件
- 商品混凝土實驗室操作手冊
- 資金調(diào)撥拆借管理制度
- 裝飾裝修工程監(jiān)理月報
- 超星爾雅學(xué)習(xí)通《美的歷程:美學(xué)導(dǎo)論(中國社會科學(xué)院)》2025章節(jié)測試附答案
- 教學(xué)課件-積極心理學(xué)(第2版)劉翔平
- 2019人教版高中物理必修第一冊《第二章 勻變速直線運動的研究》大單元整體教學(xué)設(shè)計2020課標(biāo)
- DGTJ 08-2176-2024 瀝青路面預(yù)防養(yǎng)護技術(shù)標(biāo)準(zhǔn)(正式版含條文說明)
- DB33 802-2013 鋁合金鑄件可比單位綜合能耗限額及計算方法
- 移植后免疫監(jiān)測技術(shù)-洞察分析
- 《車用動力電池液冷板技術(shù)條件》
評論
0/150
提交評論