2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  基于C/S的圖書管理系統(tǒng)的設(shè)計與開發(fā)</p><p><b>  摘 要</b></p><p>  基于C/S的圖書管理系統(tǒng)的設(shè)計與開發(fā)摘要內(nèi)容</p><p>  關(guān)鍵詞:圖書管理 管理信息系統(tǒng) PowerBuilder</p><p>  本文介紹在PowerBuider環(huán)境下設(shè)計的一個

2、小型圖書管理系統(tǒng)。通過分析傳統(tǒng)的人工管理圖書館的不足,創(chuàng)建了一套行之有效的計算機管理圖書館的方案。文章詳細(xì)介紹圖書管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、數(shù)據(jù)流程分析、數(shù)據(jù)字典等等;系統(tǒng)設(shè)計部分主要介紹系統(tǒng)功能設(shè)計;系統(tǒng)實現(xiàn)部分列出幾個主要的程序框圖,并附帶了一些主要的窗口和程序。</p><p>  本系統(tǒng)主要是對圖書的增減以及圖書借出歸還的管理,主要包括數(shù)據(jù)插入、刪除、查詢、掛失等功能。圖書管理信息系統(tǒng)能

3、夠有效、準(zhǔn)確地完成這些功能,并達(dá)到界面友好、使用方便。</p><p><b>  目 錄</b></p><p><b>  一系統(tǒng)分析</b></p><p>  1.1系統(tǒng)初步調(diào)查………………………………………………………1</p><p>  1.2系統(tǒng)可行性研究…………………………………

4、………………1</p><p>  1.3 現(xiàn)行系統(tǒng)詳細(xì)調(diào)查………………………………………………2</p><p>  1.4系統(tǒng)邏輯模型………………………………………………………2</p><p><b>  二系統(tǒng)設(shè)計</b></p><p>  2.1總體設(shè)計……………………………………………………………3<

5、/p><p>  2.2系統(tǒng)總體物理結(jié)構(gòu)…………………………………………………4</p><p>  2.3軟件開發(fā)平臺………………………………………………………5</p><p><b>  三系統(tǒng)詳細(xì)設(shè)計</b></p><p>  3.1 用戶界面設(shè)計……………………………………………………6</p>&

6、lt;p>  3.2 數(shù)據(jù)庫設(shè)計………………………………………………………6</p><p><b>  四系統(tǒng)實施</b></p><p>  4.1建立應(yīng)用對象……………………………………………………10</p><p>  4.2登錄窗口…………………………………………………………12</p><p>  4

7、.3創(chuàng)建主窗口………………………………………………………13</p><p>  4.4借還圖書窗口……………………………………………………14</p><p>  4.5圖書檢索窗口……………………………………………………18</p><p>  五結(jié)論………………………………………………………………20</p><p>  參考文獻(xiàn)………

8、……………………………………………………………20</p><p>  附錄…………………………………………………………………23</p><p><b>  引 言</b></p><p>  圖書管理工作是學(xué)校管理工作的重要組成部分,圖書種類的增加以及學(xué)生借還的管理都給以往手工圖書管理提出了挑戰(zhàn)。以前學(xué)校的圖書管理一直采用手工的方法,這種

9、管理方式存在著許多缺點,如:效率低、工作量大、容易遺漏信息等。隨著計算機技術(shù)的發(fā)展,其強大的功能已為人們深刻認(rèn)識,所以借此機會為我校的圖書管理設(shè)計一個比較符合我校情況的圖書管理系統(tǒng)。</p><p>  作為計算機應(yīng)用的一部分,使用計算機對圖書進(jìn)行管理,具有比手工管理無法比擬的優(yōu)點。例如:查詢方便、借還圖書效率提高、存儲量大、壽命長、可靠性高等。這些優(yōu)點能夠大大地提高圖書管理效率和質(zhì)量,減少工作量,是學(xué)校為老師和

10、學(xué)生提供方便的必要條件,也是一個學(xué)校步入正規(guī)的標(biāo)志。</p><p>  圖書管理工作主要是對圖書的增減以及圖書借出歸還的管理,主要包括數(shù)據(jù)插入、刪除、查詢、掛失等功能。圖書管理信息系統(tǒng)能夠有效、準(zhǔn)確地完成這些功能,并達(dá)到界面友好、使用方便。所以,開發(fā)一種圖書管理軟件成為很有必要的事情。</p><p>  圖書館管理系統(tǒng)是典型的信息管理系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端的

11、應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立數(shù)據(jù)的一致性和完整性,對于后者則要求應(yīng)用程序功能的完備,易用等的特點?;谏鲜隹紤]本系統(tǒng)主要利用PowerBuilder 9.0作前端的應(yīng)用開發(fā)工具 ,利用Sybase SQL Anywhere8.0作為后臺的數(shù)據(jù)庫,利用WINDOWS作為系統(tǒng)平臺開發(fā)的圖書管理系統(tǒng)。</p><p><b>  一系統(tǒng)分析</b></p><p&g

12、t;<b>  1.1系統(tǒng)初步調(diào)查</b></p><p>  通過現(xiàn)場觀察、與單位相關(guān)人員面談和查閱相關(guān)文獻(xiàn)資料等方法進(jìn)行了詳盡而完備的調(diào)查工作,發(fā)現(xiàn)采用手工管理圖書借閱登記效率低、工作量大、容易出錯、信息存儲時間短等問題。而現(xiàn)在計算機的廣泛使用能夠順利替代手工,使管理更為方便、實用。通過調(diào)查得出如下結(jié)論:即本系統(tǒng)的開發(fā)不僅是完全必要得的,而且在技術(shù)上也是完全有可能的。</p>

13、<p>  1.2系統(tǒng)可行性研究</p><p>  圖書管理信息系統(tǒng)的目標(biāo)是:按照管理信息系統(tǒng)的原理和方法,采用信息技術(shù)和手段,支持圖書管理工作的過程,使學(xué)校的圖書管理工作系統(tǒng)化、規(guī)范化、自動化,從而達(dá)到提高學(xué)校圖書管理效率的目的,提高圖書管理工作的現(xiàn)代化水平。</p><p>  系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)學(xué)校圖書管理的系統(tǒng)化、規(guī)范化和自動化。</p><

14、;p>  1.3 現(xiàn)行系統(tǒng)詳細(xì)調(diào)查</p><p>  對現(xiàn)行管理水平進(jìn)行詳細(xì)調(diào)查研究是了解系統(tǒng)需求和進(jìn)行系統(tǒng)分析與設(shè)計的重要基礎(chǔ)工作,因此要對學(xué)校圖書管理的各項管理工作進(jìn)行全面、細(xì)致而充分的調(diào)查研究。</p><p><b>  1.4系統(tǒng)邏輯模型</b></p><p>  系統(tǒng)分析的主要成果是系統(tǒng)的邏輯模型,本系統(tǒng)的邏輯模型主要是以

15、系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)詞典為主要描述工具,在對圖書管理方式和業(yè)務(wù)流程進(jìn)行認(rèn)真分析和研究的基礎(chǔ)上,完全從業(yè)務(wù)管理和管理對象出發(fā),按信息系統(tǒng)中應(yīng)有的數(shù)據(jù)流和數(shù)據(jù)結(jié)構(gòu)來勾畫系統(tǒng)的概貌。</p><p>  1.4.1 數(shù)據(jù)流圖</p><p>  數(shù)據(jù)流圖是在對系統(tǒng)調(diào)研階段繪制的業(yè)務(wù)流程圖進(jìn)行分析的基礎(chǔ)上,從系統(tǒng)的科學(xué)性,管理的合理性、實際運行的可行性角度出發(fā),將信息處理功能和彼此之間的聯(lián)系自頂向

16、下、從左到右、逐層分解,從邏輯上精確地描述系統(tǒng)應(yīng)具有的數(shù)據(jù)輸入、數(shù)據(jù)輸出、存儲及數(shù)據(jù)來源和去向(外部項)。</p><p>  圖2-1圖書管理系統(tǒng)數(shù)據(jù)流圖</p><p>  數(shù)據(jù)流圖由4種成分組成:</p><p>  1、外部項(外部實體):外部項在數(shù)據(jù)中表示所描述系統(tǒng)的數(shù)據(jù)來源和去處的各種實體或工作環(huán)節(jié)。這些實體或環(huán)節(jié)向開發(fā)的系統(tǒng)發(fā)出或接收信息。系統(tǒng)開發(fā)不能

17、改變這些外部項本身的結(jié)構(gòu)和固有屬性。</p><p>  2、數(shù)據(jù)加工:又稱數(shù)據(jù)邏輯,描述系統(tǒng)對信息進(jìn)行處理的邏輯功能。在數(shù)據(jù)流圖上這種邏輯功能由一個或一個以上的輸入數(shù)據(jù)流轉(zhuǎn)換成一個或一個以上輸出數(shù)據(jù)流來表示。</p><p>  3、數(shù)據(jù)存儲:邏輯意義上的數(shù)據(jù)存儲環(huán)節(jié),即系統(tǒng)信息處理功能需要的、不考慮存儲物理介質(zhì)和技術(shù)手段的數(shù)據(jù)存儲環(huán)節(jié)。</p><p>  4、

18、數(shù)據(jù)流:與所描述系統(tǒng)信息處理功能有關(guān)的各類信息的載體,是各加工環(huán)節(jié)進(jìn)行處理和輸出的數(shù)據(jù)集合。在數(shù)據(jù)流圖中數(shù)據(jù)流用箭線表示,箭頭指處表示數(shù)據(jù)流的輸送處,箭尾連接處表示數(shù)據(jù)流的來源。</p><p>  1.4.2 數(shù)據(jù)詞典</p><p>  數(shù)據(jù)詞典是數(shù)據(jù)邏輯模型的重要組成部分。數(shù)據(jù)詞典應(yīng)對數(shù)據(jù)流圖中的數(shù)據(jù)存儲、數(shù)據(jù)流、加工、外部項和數(shù)據(jù)項進(jìn)行進(jìn)一步的描述。</p><

19、p>  1、操作員信息。包括的數(shù)據(jù)項有編號、用戶名、密碼。</p><p>  2、會員信息。包括的數(shù)據(jù)項有會員編號、會員姓名、性別、年級、班級、家庭住址、是否鎖定。</p><p>  3、借書還書信息。包括的數(shù)據(jù)項有會員編號、圖書編號、借書日期、還書日期、備注等</p><p>  4、圖書信息。包括的數(shù)據(jù)項有圖書編號、書名、作者、出版社、出版日期、圖書價

20、格。</p><p>  由以上的分析可知該圖書管理系統(tǒng)從技術(shù)、經(jīng)濟、時間都能夠滿足要求,系統(tǒng)開發(fā)切實可行。</p><p><b>  二系統(tǒng)設(shè)計</b></p><p><b>  2.1總體設(shè)計</b></p><p>  總體結(jié)構(gòu)設(shè)計主要包括運行模式選擇、操作系統(tǒng)選擇、數(shù)據(jù)庫管理系統(tǒng)選擇、系

21、統(tǒng)功能結(jié)構(gòu)設(shè)計等。</p><p>  運行模式選擇單機模式。</p><p>  開發(fā)工具選擇PowerBuilder9.0。</p><p>  數(shù)據(jù)庫管理系統(tǒng)(DBMS)選擇PowerBuilder自帶的Sybase SQL Anywhere8.0.</p><p>  2.1.1系統(tǒng)功能設(shè)計</p><p> 

22、 本系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)圖書管理的簡單化、準(zhǔn)確化、效率化。</p><p>  根據(jù)需求分析,圖書管理工作主要是針對借書人的管理和圖書的借、還、查找及庫存管理等。圖書管理系統(tǒng)需要完成的功能主要有:</p><p>  增加會員,包括編號、姓名、性別等</p><p><b>  會員卡掛失</b></p><p>&

23、lt;b>  會員卡的打印</b></p><p><b>  會員信息的輸出</b></p><p>  圖書入庫,包括圖書編號、書名、作者、出版社、定價等</p><p><b>  圖書查詢</b></p><p><b>  借書</b></p&

24、gt;<p><b>  還書</b></p><p>  2.1.2系統(tǒng)模塊設(shè)計</p><p>  對上述各項功能進(jìn)行集中、分塊,按照結(jié)構(gòu)化程序設(shè)計的要示,得到如圖所示的系統(tǒng)功能模塊圖: </p><p>  圖3-1系統(tǒng)模塊設(shè)計圖</p><p>  2.2 系統(tǒng)總體物理結(jié)構(gòu)</p>

25、;<p>  從實際出發(fā),本系統(tǒng)最好利用計算機局部網(wǎng)絡(luò)作為系統(tǒng)的基本物理結(jié)構(gòu),這樣有利于以后圖書管理信息系統(tǒng)的開發(fā)。但是,從目前情況來看,由于本系統(tǒng)只涉及圖書管理信息,所以采用單機結(jié)構(gòu)作為本系統(tǒng)的基本物理結(jié)構(gòu)。其基本配置如下:</p><p>  硬盤:80GB以上 內(nèi)存:256MB</p><p>  顯示器:SVGA 800×600 &l

26、t;/p><p>  打印機: EPSON-1600K(可選其它型號)</p><p>  操作系統(tǒng):Windows2000/XP。</p><p>  軟件環(huán)境:PowerBuilder 9.0</p><p>  數(shù)據(jù)庫管理系統(tǒng)(DBMS)選擇了PowerBuilder自帶的SQL Anywhere 8.0</p><p&

27、gt;  2.3 軟件開發(fā)平臺</p><p>  隨著社會經(jīng)濟的不斷發(fā)展以及計算機技術(shù)的日益完善,人們對各種軟件的需求也不斷提高,這就要求開發(fā)者可以提供功能更強、質(zhì)量更高的軟件產(chǎn)品。為此幫助人們開發(fā)軟件的工具即軟件開發(fā)工具就由此應(yīng)運而生。軟件開發(fā)工具的基本思想是致力于軟件開發(fā)的優(yōu)質(zhì)與高效,是可以對軟件的開發(fā)全過程提供不同程度的支持與幫助。PowerBuilder就是其中一種應(yīng)用較廣的軟件開發(fā)工具。</p&

28、gt;<p>  PowerBuilder(簡稱PB)是美國著名的數(shù)據(jù)庫應(yīng)用開發(fā)工具生產(chǎn)廠商PowerSoft于1991年推出的成功產(chǎn)品。它是完全按照客戶/服務(wù)器(C/S)體系結(jié)構(gòu)研制設(shè)計的,采用面向?qū)ο蠛涂梢暬夹g(shù),提供有圖形化的應(yīng)用開發(fā)環(huán)境,使得用戶使用PowerBuilder可以方便地開發(fā)基于后臺服務(wù)器中的數(shù)據(jù)庫應(yīng)用系統(tǒng)。作為一種優(yōu)秀的開發(fā)工具,PowerBuilder具有以下功能和特點:</p>&l

29、t;p> ?。?)支持多種環(huán)境與跨平臺開發(fā) </p><p>  PB是專門用來設(shè)計、建立高性能的基于客戶/服務(wù)器(C/S)體系結(jié)構(gòu)的應(yīng)用程序,同時支持分布式計算和Web環(huán)境。另外PB還支持跨平臺的開發(fā)和分布。例如:在Windows下開發(fā)的應(yīng)用程序可以分布到UNIX或其他平臺上運行。開發(fā)人員也可以組成開發(fā)小組,一些人員在Windows下開發(fā),同時另一些人員在UNIX進(jìn)行另外一部分的開發(fā),并且他們可共享PB應(yīng)

30、用程序中的對象。這樣程序不但有很好的移植性,使用環(huán)境廣,而且同時開發(fā),縮短了開發(fā)時間,節(jié)約了開發(fā)成本。</p><p> ?。?)功能強大的編程語言與函數(shù)</p><p>  PowerScript是PB的功能很強的第四代編程語言,用PowerScript語言編寫的程序通常稱為腳本(Script)。腳本往往是由PowerScript命令、函數(shù)和相應(yīng)某一事件所要完成的處理過程的語言所組成。它

31、能使開發(fā)人員很容易地將簡單或復(fù)雜的事物邏輯與應(yīng)用相配合。它有幾百個函數(shù)用以對操作對象、數(shù)字、文本和日期等信息,并且全面支持DDE和全文本I/O。</p><p> ?。?)面向?qū)ο蟮木幊?lt;/p><p>  在PB中創(chuàng)建的每一個菜單或窗口都是一個自含的模塊,稱為對象(Object)。PB應(yīng)用程序基本的構(gòu)建塊是用戶所創(chuàng)建的對象,每個對象都具有一些特定的特性和行為(屬性、事件、功能)。利用面向

32、對象的編程技術(shù),可使程序具有可重用性、可擴展性和強有力的功能。面向?qū)ο蟮木幊碳夹g(shù)還可以使開發(fā)人員無需精通專用語言即可進(jìn)行開發(fā)。PB應(yīng)用由一系列對象組成,如窗口、菜單等。而對象又包含若干控件,如命令按鈕等。這些對象和控件都可以在許多應(yīng)用中重復(fù)使用。因此,提高了編程效率和軟件質(zhì)量,又極大地減少了開發(fā)時間。</p><p> ?。?)開放的數(shù)據(jù)庫連接系統(tǒng)</p><p>  PB最優(yōu)秀的開放系統(tǒng)

33、功能就是可以訪問任何一個常用的后臺數(shù)據(jù)庫系統(tǒng)。在應(yīng)用程序開發(fā)時,開發(fā)人員不需要了解數(shù)據(jù)庫內(nèi)部的細(xì)節(jié),PB提供了一個通用的前端用戶界面,后端數(shù)據(jù)庫的連接由PB來完成。對于大型數(shù)據(jù)庫系統(tǒng),PB通過使用PowerSoft提供的專用接口直接與數(shù)據(jù)庫相連;對于小型數(shù)據(jù)庫系統(tǒng),PB通過使用PowerSoft的ODBC接口與數(shù)據(jù)庫相連。另外,開發(fā)人員還可以利用PB內(nèi)置的高性能數(shù)據(jù)庫引擎――Sybase SQL Anywhere,生成獨立應(yīng)用或脫離服務(wù)

34、器在單機環(huán)境下運行。</p><p> ?。?)強大的調(diào)試和測試功能</p><p>  由于PB具有強大的編譯能力以及集成調(diào)試和測試功能,因此在開發(fā)時可以利用斷點跟蹤、單步調(diào)試等方法對應(yīng)用程序進(jìn)行查看、調(diào)試并根據(jù)需要進(jìn)行程序修改。</p><p>  PB9.0是PowerSoft公司推出的又一版本,它除了繼承PB以上功能與特點外,還對原有性能進(jìn)行了改進(jìn)、優(yōu)化與增

35、強,從而使在用PB進(jìn)行開發(fā)時工作更快、成本更低、質(zhì)量更高、功能更強?;赑B的以上優(yōu)點,故在本系統(tǒng)采用PB9.0作為開發(fā)系統(tǒng)的軟件工具。</p><p><b>  三系統(tǒng)詳細(xì)設(shè)計</b></p><p>  3.1 用戶界面設(shè)計</p><p>  用戶運行該系統(tǒng)時,首先出現(xiàn)一個登錄窗口,提示用戶輸入用戶名和密碼,輸入正確進(jìn)入系統(tǒng)主窗口。在主

36、窗口中主要是通過菜單進(jìn)行操作,進(jìn)而打開具體功能的窗口界面。本系統(tǒng)采用了基于菜單、工具按鈕、簡單回答等友好的手段及人機交互方式,使得操作方便,易于掌握。窗口示例見后面的系統(tǒng)實施部分。</p><p><b>  3.2 數(shù)據(jù)庫設(shè)計</b></p><p>  數(shù)據(jù)庫設(shè)計分為:數(shù)據(jù)庫概念設(shè)計和數(shù)據(jù)庫邏輯設(shè)計</p><p>  3.2.1數(shù)據(jù)庫概念

37、模型及E-R圖設(shè)計</p><p>  概念模型作為現(xiàn)實世界到機器世界的一個過渡性的中間層次,是對現(xiàn)實世界的抽象和概括。</p><p>  E-R圖是描述數(shù)據(jù)實體及其關(guān)系的一種直觀的描述工具,E-R圖的信息借助實體、屬性、聯(lián)系這三個基本概念表達(dá)。</p><p>  實體。用方框表示,方框內(nèi)為實體的名稱。</p><p>  實體的各種屬性

38、。用橢圓表示,橢圓內(nèi)為屬性名稱。使用線段將其和相應(yīng)的實體連接起來。</p><p>  實體之間的聯(lián)系。用菱形表示,菱形內(nèi)為聯(lián)系的名稱。</p><p>  在本系統(tǒng)中,我們把會員信息設(shè)為會員實體(見圖4-1), 圖書信息設(shè)為圖書實體(見圖4-2),借書還書信息設(shè)為借書還書實體(見圖4-3),操作員信息設(shè)為操作員實體(見圖4-4),各個實體之間的聯(lián)系(見圖4-5)。</p>

39、<p>  圖4-1 會員實體E-R圖</p><p>  圖4-2圖書實體E-R圖</p><p>  圖4-3借書還書實體E-R圖</p><p>  圖4-4操作員實體E-R圖</p><p>  圖4-5 實體之間E-R圖</p><p>  3.2.2數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計</p><

40、;p>  根據(jù)E-R圖到關(guān)系模式的轉(zhuǎn)換規(guī)則,實體分別轉(zhuǎn)換成關(guān)系模式,如下圖(4-1至4-3)。 </p><p>  另外,為了保證系統(tǒng)的安全性,只有合法用戶才能登錄使用系統(tǒng),為方便系統(tǒng)管理員對用戶的管理,需要設(shè)一表來存放合法用戶的用戶名、密碼等信息,如表4-4所示。 </p><p><b>  表4-1會員表</b></p><p>

41、<b>  表4-2圖書表</b></p><p><b>  表4-3借書還書表</b></p><p><b>  表4-4操作員表</b></p><p><b>  四系統(tǒng)實施.</b></p><p>  每個PowerBuilder應(yīng)用程序都須

42、有一個、而且只能有一個應(yīng)用程序?qū)ο?,也可以說,應(yīng)用程序?qū)ο蟠砹藨?yīng)用程序,程序從應(yīng)用程序?qū)ο箝_始運行。除了作為應(yīng)用程序的入口這一功能外,應(yīng)用程序?qū)ο筮€定義了應(yīng)用程序的系統(tǒng)級行為,例如,應(yīng)用程序使用哪些應(yīng)用庫(一種PowerBuilder定義的特殊格式的文件)來保存用到的各種對象、對象的默認(rèn)字體、應(yīng)用程序圖標(biāo)等。</p><p>  PowerBuilder是面向?qū)ο蟮拈_發(fā)環(huán)境,用它開發(fā)的應(yīng)用程序以對象和事件驅(qū)動為

43、基本特征。作為PowerBuilder的對象之一,應(yīng)用程序?qū)ο笠灿幸唤M事件,當(dāng)用戶運行應(yīng)用程序時,首先觸發(fā)應(yīng)用程序?qū)ο蟮膐pen事件,在這個事件的事件處理程序中可以設(shè)置應(yīng)用的初始狀態(tài),裝入其對象、連接數(shù)據(jù)庫等。當(dāng)用戶終止應(yīng)用程序時,應(yīng)用程序?qū)ο蟮腸lose事件被觸發(fā),在這個事件的事件處理程序中完成必要的系統(tǒng)清理工作,例如斷開與數(shù)據(jù)庫的連接,清除用戶自定義對象等。當(dāng)程序運行過程中發(fā)生嚴(yán)重錯誤時,應(yīng)用程序?qū)ο蟮腟ystemError事件被觸

44、發(fā),這時可以報告錯誤類型和性質(zhì),以便及時排除錯誤。由此可見,應(yīng)用程序?qū)ο髮﹂_發(fā)完美的PowerBuilder的應(yīng)用程序至關(guān)重要。</p><p><b>  語言與函數(shù)</b></p><p>  用PowerScript語言編寫的程序通常稱為腳本(Script)。腳本是由PowerScriptT命令、函數(shù)和相應(yīng)某一事件所要完成的處理過程的語句所組成。它能使開發(fā)人員很

45、容易地將簡單工作復(fù)雜的事務(wù)邏輯與應(yīng)用相匹配。它有幾百個函數(shù)用于操作對象、數(shù)字、文字和日期等信息并全面支持DDE和全文本的I/O。</p><p>  例如為某個按鈕上的Clicked事件編寫的腳本可能進(jìn)行的處理是從數(shù)據(jù)庫中檢索和顯示數(shù)據(jù)。</p><p>  事件本身也可以觸發(fā)其它事件,例如當(dāng)一個按鈕上的Clicked事件要打開一個窗口時就觸發(fā)了一個窗口上的Open事件。</p>

46、;<p>  此外,用戶還可以定義自己的函數(shù)在應(yīng)用程序中來執(zhí)行某種特定的處理過程。外部函數(shù)可以在PowerBuilder內(nèi)說明和訪問,就如同內(nèi)置的PowerBuilder的應(yīng)用函數(shù)一樣。</p><p><b>  面向?qū)ο蟮木幊?lt;/b></p><p>  PowerBuilder應(yīng)用由一系列對象組成,包括有函數(shù)、菜單、結(jié)構(gòu)和數(shù)據(jù)窗口、用戶對象、用戶事

47、件等,對象中又包含若干控件如命令按鈕、單行編輯器等這些對象和控件都可在許多應(yīng)用中重復(fù)使用。</p><p><b>  4.1建立應(yīng)用對象</b></p><p>  建立一個為book的應(yīng)用對象,在其Open事件中加入如下腳本:</p><p>  // 設(shè)置數(shù)據(jù)庫連接參數(shù)</p><p>  SQLCA.DBMS =

48、 "ODBC"</p><p>  SQLCA.AutoCommit = False</p><p>  SQLCA.DBParm = "ConnectString='DSN=booksys;UID=dba;PWD=sql'"</p><p><b>  //連接數(shù)據(jù)庫</b></p

49、><p><b>  connect;</b></p><p><b>  //打開啟動窗口</b></p><p>  open(w_strat)</p><p><b>  sleep(3)</b></p><p><b>  //打開登陸窗口

50、</b></p><p>  open(login)</p><p>  在應(yīng)用對象的Close事件中加入如下腳本</p><p><b>  //斷開數(shù)據(jù)庫連接</b></p><p>  DISCONNECT USING SQLCA;</p><p><b>  4.2登

51、錄窗口</b></p><p>  在登錄按鈕的Clicked事件中加入如下腳本:</p><p><b>  //定義兩個變量</b></p><p>  string pass_word,usename</p><p>  //檢索用戶名和密碼記錄</p><p>  SELECT

52、 操作員表.用戶名, </p><p><b>  操作員表.密碼 </b></p><p>  INTO :usename, </p><p>  :pass_word </p><p>  FROM 操作員表 </p><p>  WHERE 操作員表.用戶名 = :sle_1.

53、text ;</p><p>  //判斷用戶輸入的用戶名是否正確</p><p>  if sle_1.text="" or sle_2.text="" then</p><p>  messagebox("錯誤!","用戶名或密碼不能為空!")</p><

54、p>  disconnect; //斷開數(shù)據(jù)庫連接</p><p><b>  else</b></p><p>  if usename=sle_1.text and pass_word=sle_2.text then</p><p>  open(index)</p><p>  //打開圖書管理系統(tǒng)主界面&

55、lt;/p><p>  close(parent)</p><p><b>  //關(guān)閉登錄窗口</b></p><p><b>  else</b></p><p>  messagebox("錯誤!","用戶名或密碼錯誤,請重新輸入!")</p>

56、<p>  disconnect; //斷開數(shù)據(jù)庫連接</p><p><b>  end if</b></p><p><b>  end if</b></p><p>  在取消按鈕Clicked事件中加入如下腳本:</p><p>  close(parent)</p>

57、;<p><b>  //關(guān)閉登錄窗口</b></p><p>  圖5-1圖書管理系統(tǒng)登錄窗口</p><p><b>  4.3創(chuàng)建主窗口</b></p><p>  1.創(chuàng)建MDI主窗口</p><p>  該窗口的名稱為“天運學(xué)校圖書管理系統(tǒng)”類型為mdi。有一個菜單與之相連接

58、。窗口保存為index 。</p><p><b>  2.設(shè)置主窗口菜單</b></p><p>  在菜單畫面中設(shè)計應(yīng)用程序主窗口所連接的菜單mainmenu,該菜單的結(jié)構(gòu)如下圖所示。</p><p>  圖5-2圖書管理系統(tǒng)主窗口</p><p>  運行時可以通過單擊主窗口左上方的下拉菜單來調(diào)用不同功能的模塊,本

59、程序的菜單共設(shè)置5個主菜單,13個子菜單項目。還可以通過菜單欄下的工具欄圖標(biāo)進(jìn)行系統(tǒng)的操作。</p><p>  在菜單項的clicked事件中完成的操作就是打開某個固定窗口。因此在這里以一個為例介紹菜單項clicked事件的代碼,其它的類似。</p><p>  在“借還圖書”菜單項的clicked事件中加入如下代碼:</p><p>  open(jiehuan

60、book)</p><p>  用于打開“借還圖書”窗口。</p><p><b>  4.4借還圖書窗口</b></p><p>  在借還圖書窗口jiehuanbook中主要完成圖書的借閱和歸還操作。首先,建立三個數(shù)據(jù)窗口huiyuan、jiehuanbook、d_tushu,其數(shù)據(jù)源分別為會員表、借書還書表和圖書表。其次,在窗口中添加三個

61、數(shù)據(jù)控件,并將其分別與數(shù)據(jù)窗口對象huiyuan、jiehuanbook、d_tushu相關(guān)聯(lián);兩個單行編輯框(用來輸入會員編號、圖書編號);兩個靜態(tài)文本邊框(用來提示輸入會員編號和圖書編號);四個按鈕(用來實現(xiàn)借書、還書、顯示信息和關(guān)閉)。</p><p>  圖5-3圖書管理系統(tǒng)借還圖書窗口</p><p>  在借還圖書窗口的借書按鈕的clicked事件中加入如下代碼:</p&

62、gt;<p>  //顯示特定會員和圖書的借閱記錄</p><p>  dw_1.settransobject(sqlca)</p><p>  dw_1.setfilter("會員編號='"+trim(sle_1.text)+"'")</p><p>  dw_1.retrieve()</

63、p><p>  dw_2.settransobject(sqlca)</p><p>  dw_2.setfilter("會員編號='"+trim(sle_1.text)+"' and 圖書編號='"+trim(sle_2.text)+"'")</p><p>  dw_2.re

64、trieve()</p><p>  dw_3.settransobject(sqlca)</p><p>  dw_3.setfilter("圖書編號='"+trim(sle_2.text)+"'" )</p><p>  dw_3.retrieve()</p><p>  //得到記

65、錄的總行書</p><p><b>  int m,n,i</b></p><p>  //得到借書記錄總行數(shù)和圖書當(dāng)前行號</p><p>  if dw_1.retrieve()=1 and dw_3.retrieve()=1 then</p><p>  i=dw_1.getrow()</p>&

66、lt;p>  m=dw_2.rowcount()</p><p>  n=dw_3.getrow()</p><p>  if dw_3.object.庫存[n]>0 and dw_1.object.鎖定[i]="否" then</p><p><b>  //插入借書記錄</b></p><

67、p>  dw_2.insertrow(m+1)</p><p>  dw_2.scrolltorow(m+1)</p><p>  dw_2.object.會員編號[m+1]=sle_1.text</p><p>  dw_2.object.圖書編號[m+1]=sle_2.text</p><p>  dw_2.object.借書日期[

68、m+1]= string(today())</p><p>  dw_2.object.備注[m+1]= "未歸還"</p><p><b>  //庫存減1</b></p><p>  dw_3.object.庫存[n]=dw_3.object.庫存[n]-1</p><p><b>  

69、//更新數(shù)據(jù)庫</b></p><p>  if dw_2.update()=1 and dw_3.update()=1 then</p><p><b>  commit;</b></p><p>  messagebox("成功!","更新數(shù)據(jù)庫成功!")</p>&l

70、t;p><b>  else</b></p><p><b>  rollback;</b></p><p>  messagebox("失??!","更新數(shù)據(jù)庫失敗!")</p><p><b>  end if</b></p><p&

71、gt;<b>  else</b></p><p>  //提示用戶不能借書的原因</p><p>  messagebox("錯誤!","庫存不足或您的卡號被鎖定,會員或圖書不存在,無法借閱!",exclamation!,ok!,2)</p><p><b>  end if</b>

72、;</p><p><b>  end if</b></p><p>  在借還圖書窗口的還書按鈕的clicked事件中加入如下代碼:</p><p>  //顯示特定會員和圖書的借閱記錄</p><p>  dw_1.settransobject(sqlca)</p><p>  dw_1.se

73、tfilter("會員編號='"+trim(sle_1.text)+"'")</p><p>  dw_1.retrieve()</p><p>  dw_2.settransobject(sqlca)</p><p>  dw_2.setfilter("會員編號='"+trim(s

74、le_1.text)+"' and 圖書編號='"+trim(sle_2.text)+"' and 備注='未歸還'")</p><p>  dw_2.retrieve()</p><p>  dw_3.settransobject(sqlca)</p><p>  dw_3.setfi

75、lter("圖書編號='"+trim(sle_2.text)+"'" )</p><p>  dw_3.retrieve()</p><p>  //判斷哪一行為還書記錄</p><p><b>  int n</b></p><p>  n=dw_2.rowcou

76、nt()</p><p>  if dw_2.retrieve()=1 or n>1 then</p><p>  //找到還書記錄后修改記錄</p><p>  dw_2.object.還書日期[n]= string(today())</p><p>  dw_2.object.備注[n]= "已歸還"</p

77、><p>  //將會員還的書庫存加1</p><p><b>  int m</b></p><p>  m=dw_3.getrow()</p><p>  dw_3.object.庫存[m]=dw_3.object.庫存[m]+1</p><p>  //判斷會員是所借圖書是否超期超期</p

78、><p>  if int(daysafter(date(dw_2.object.借書日期[n]),date(dw_2.object.還書日期[n])))>30 then</p><p><b>  int q</b></p><p>  q=dw_1.getrow()</p><p>  dw_1.object.鎖定

79、[q]="是"</p><p>  messagebox("超期!","圖書已還,所借圖書已經(jīng)超期,卡號被鎖定!",exclamation!,ok!,2)</p><p>  dw_2.object.備注[n]= "已歸還,超期"</p><p><b>  end if<

80、;/b></p><p><b>  //更新數(shù)據(jù)庫</b></p><p>  if dw_1.update()=1 and dw_2.update()=1 and dw_3.update()=1 then </p><p><b>  commit;</b></p><p>  mess

81、agebox("成功!","更新數(shù)據(jù)庫成功!")</p><p><b>  else</b></p><p><b>  rollback;</b></p><p>  messagebox("失敗!","更新數(shù)據(jù)庫失??!")</p&g

82、t;<p><b>  end if</b></p><p><b>  else</b></p><p>  messagebox("錯誤!","沒有借書記錄!",exclamation!,ok!,2)</p><p>  在借還圖書窗口的顯示信息按鈕的clicked

83、事件中加入如下代碼:</p><p>  //啟動數(shù)據(jù)窗體連接事務(wù)</p><p>  if sle_2.text="" then</p><p>  //顯示該會員的借書記錄</p><p>  dw_1.settransobject(sqlca)</p><p>  dw_1.setfilter

84、("會員編號='"+trim(sle_1.text)+"'")</p><p>  dw_1.retrieve()</p><p>  dw_2.settransobject(sqlca)</p><p>  dw_2.setfilter("會員編號='"+trim(sle_1.te

85、xt)+"'")</p><p>  dw_2.retrieve()</p><p>  dw_3.settransobject(sqlca)</p><p>  dw_3.setfilter("圖書編號='"+trim(sle_2.text)+"'" )</p>&l

86、t;p>  dw_3.retrieve()</p><p><b>  else </b></p><p>  if sle_1.text="" then</p><p>  //顯示該書的借閱記錄</p><p>  dw_1.settransobject(sqlca)</p>

87、<p>  dw_1.setfilter("會員編號='"+trim(sle_1.text)+"'")</p><p>  dw_1.retrieve()</p><p>  dw_2.settransobject(sqlca)</p><p>  dw_2.setfilter("圖書編號=

88、'"+trim(sle_2.text)+"'")</p><p>  dw_2.retrieve()</p><p>  dw_3.settransobject(sqlca)</p><p>  dw_3.setfilter("圖書編號='"+trim(sle_2.text)+"&#

89、39;" )</p><p>  dw_3.retrieve()</p><p><b>  else</b></p><p>  //顯示特定會員和圖書的借閱記錄</p><p>  dw_1.settransobject(sqlca)</p><p>  dw_1.setfilte

90、r("會員編號='"+trim(sle_1.text)+"'")</p><p>  dw_1.retrieve()</p><p>  dw_2.settransobject(sqlca)</p><p>  dw_2.setfilter("會員編號='"+trim(sle_1.t

91、ext)+"' and 圖書編號='"+trim(sle_2.text)+"'")</p><p>  dw_2.retrieve()</p><p>  dw_3.settransobject(sqlca)</p><p>  dw_3.setfilter("圖書編號='"

92、+trim(sle_2.text)+"'" )</p><p>  dw_3.retrieve()</p><p><b>  end if</b></p><p><b>  end if</b></p><p><b>  4.5圖書檢索窗口</b&g

93、t;</p><p>  圖書檢索窗口主要實現(xiàn)查詢數(shù)據(jù)窗口中滿足條件的記錄,可實現(xiàn)精確和模糊查找</p><p>  。圖5-4圖書管理系統(tǒng)查詢窗口</p><p>  在此窗口的檢索信息按鈕的clicked事件中加入如下代碼:</p><p>  dw_1.dataobject="d_tushubiao"</p&g

94、t;<p>  dw_1.settransobject(sqlca)</p><p>  //取消所有過濾條件</p><p>  dw_1.setfilter("")</p><p>  if rb_1.checked=true then</p><p>  //精確查詢模式程序</p>&l

95、t;p>  choose case ddlb_1.text </p><p>  case "圖書編號"</p><p>  dw_1.setfilter("圖書編號='"+sle_1.text+"'")</p><p><b>  case "書名"&

96、lt;/b></p><p>  dw_1.setfilter("書名='"+sle_1.text+"'")</p><p><b>  case "作者"</b></p><p>  dw_1.setfilter("作者='"+sle

97、_1.text+"'")</p><p>  case "出版社"</p><p>  dw_1.setfilter("出版社='"+sle_1.text+"'")</p><p>  end choose</p><p><b>

98、;  else</b></p><p>  //模糊查詢模式程序</p><p>  choose case ddlb_1.text</p><p>  case "圖書編號"</p><p>  dw_1.setfilter("圖書編號 like"+"'%"+s

99、le_1.text+"%'")</p><p><b>  case "書名"</b></p><p>  dw_1.setfilter("書名 like"+"'%"+sle_1.text+"%'")</p><p>&l

100、t;b>  case "作者"</b></p><p>  dw_1.setfilter("作者 like"+"'%"+sle_1.text+"%'")</p><p>  case "出版社"</p><p>  dw_1.set

101、filter("出版社 like"+"'%"+sle_1.text+"%'")</p><p>  end choose</p><p><b>  end if</b></p><p>  dw_1.retrieve() //檢索數(shù)據(jù)</p><

102、p>  會員信息查詢與圖書信息查詢類似,不再重復(fù)。另外完成這些功能后繼續(xù)完成用戶管理、圖書庫存查詢、錄入信息、打印等功能的創(chuàng)建,方法與前面兩個窗口類似,這里不詳述。</p><p><b>  五結(jié)論</b></p><p>  本系統(tǒng)實現(xiàn)了對圖書基本信息的登記,查詢及管理,為學(xué)校管理提供了服務(wù)。在開發(fā)過程中,為了提高用戶使用軟件的熱情,并刺激他們的積極性,本著

103、美觀、適用、方便用戶的原則,盡最大努力爭做到安全可靠、操作簡便、界面友好,但是,由于時間倉促和我現(xiàn)有知識的不足其中仍有一些不足之處。</p><p>  通過這一次的畢業(yè)設(shè)計,我積累了許多開發(fā)軟件方面的經(jīng)驗。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 袁 方 主編 郗亞輝、陳昊 編著.《數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計——理

104、論與實踐教程》.(第二版),2005.3</p><p>  [2] 甘仞初 主編《信息系統(tǒng)開發(fā)》北京:經(jīng)濟科學(xué)出版社,2000.6</p><p>  [3] 丁寶康 主編《數(shù)據(jù)庫原理》北京:經(jīng)濟科學(xué)出版社,2000.3 </p><p>  [4] 陳禹、方美琪 主編.軟件開發(fā)工具. 北京:經(jīng)濟出版社,2000.2</p><p>

105、  [5] 何旭洪、余建英 著.《PowerBuilder數(shù)據(jù)庫系統(tǒng)開發(fā)實例導(dǎo)航》.人民郵電出版社,2004</p><p>  [6] 羅超理、李萬紅 著.《管理信息系統(tǒng)原理與應(yīng)用》清華大學(xué)出版社,2002</p><p>  [7] 艾德才 著.《計算機信息管理基礎(chǔ)》中國水利水電出版社,2001</p><p>  [8] Jeff Robin Mana

106、gement of Information System 機械工業(yè)出版社,2002</p><p>  [9] 薩師煊、王珊 著.《數(shù)據(jù)庫系統(tǒng)概論》高等教育出版社,2000</p><p>  [10] 徐松林、路斌、王冬春 著.《PowerBuilder數(shù)據(jù)庫應(yīng)用開發(fā)教程》清華大學(xué)出版社,2003</p><p>  [11] 郭興成 著.《PowerBu

107、ilder教程》北京希望電子出版社,2002</p><p>  [12] 王志勇、阮堅、王鵬 著.《用PowerBuilder開發(fā)小型數(shù)據(jù)庫》人民郵電出版社,2002</p><p><b>  附 錄</b></p><p>  在借還圖書窗口的借書按鈕的clicked事件中加入如下代碼:</p><p>  /

108、/顯示特定會員和圖書的借閱記錄</p><p>  dw_1.settransobject(sqlca)</p><p>  dw_1.setfilter("會員編號='"+trim(sle_1.text)+"'")</p><p>  dw_1.retrieve()</p><p> 

109、 dw_2.settransobject(sqlca)</p><p>  dw_2.setfilter("會員編號='"+trim(sle_1.text)+"' and 圖書編號='"+trim(sle_2.text)+"'")</p><p>  dw_2.retrieve()</p>

110、;<p>  dw_3.settransobject(sqlca)</p><p>  dw_3.setfilter("圖書編號='"+trim(sle_2.text)+"'" )</p><p>  dw_3.retrieve()</p><p>  //得到記錄的總行書</p>

111、<p><b>  int m,n,i</b></p><p>  //得到借書記錄總行數(shù)和圖書當(dāng)前行號</p><p>  if dw_1.retrieve()=1 and dw_3.retrieve()=1 then</p><p>  i=dw_1.getrow()</p><p>  m=dw_2.

112、rowcount()</p><p>  n=dw_3.getrow()</p><p>  if dw_3.object.庫存[n]>0 and dw_1.object.鎖定[i]="否" then</p><p><b>  //插入借書記錄</b></p><p>  dw_2.inser

113、trow(m+1)</p><p>  dw_2.scrolltorow(m+1)</p><p>  dw_2.object.會員編號[m+1]=sle_1.text</p><p>  dw_2.object.圖書編號[m+1]=sle_2.text</p><p>  dw_2.object.借書日期[m+1]= string(toda

114、y())</p><p>  dw_2.object.備注[m+1]= "未歸還"</p><p><b>  //庫存減1</b></p><p>  dw_3.object.庫存[n]=dw_3.object.庫存[n]-1</p><p><b>  //更新數(shù)據(jù)庫</b>

115、</p><p>  if dw_2.update()=1 and dw_3.update()=1 then</p><p><b>  commit;</b></p><p>  messagebox("成功!","更新數(shù)據(jù)庫成功!")</p><p><b> 

116、 else</b></p><p><b>  rollback;</b></p><p>  messagebox("失??!","更新數(shù)據(jù)庫失敗!")</p><p><b>  end if</b></p><p><b>  els

117、e</b></p><p>  //提示用戶不能借書的原因</p><p>  messagebox("錯誤!","庫存不足或您的卡號被鎖定,會員或圖書不存在,無法借閱!",exclamation!,ok!,2)</p><p><b>  end if</b></p><

118、p><b>  end if</b></p><p>  在借還圖書窗口的還書按鈕的clicked事件中加入如下代碼:</p><p>  //顯示特定會員和圖書的借閱記錄</p><p>  dw_1.settransobject(sqlca)</p><p>  dw_1.setfilter("會員編

119、號='"+trim(sle_1.text)+"'")</p><p>  dw_1.retrieve()</p><p>  dw_2.settransobject(sqlca)</p><p>  dw_2.setfilter("會員編號='"+trim(sle_1.text)+"

120、' and 圖書編號='"+trim(sle_2.text)+"' and 備注='未歸還'")</p><p>  dw_2.retrieve()</p><p>  dw_3.settransobject(sqlca)</p><p>  dw_3.setfilter("圖書編號=&

121、#39;"+trim(sle_2.text)+"'" )</p><p>  dw_3.retrieve()</p><p>  //判斷哪一行為還書記錄</p><p><b>  int n</b></p><p>  n=dw_2.rowcount()</p>&

122、lt;p>  if dw_2.retrieve()=1 or n>1 then</p><p>  //找到還書記錄后修改記錄</p><p>  dw_2.object.還書日期[n]= string(today())</p><p>  dw_2.object.備注[n]= "已歸還"</p><p>  

123、//將會員還的書庫存加1</p><p><b>  int m</b></p><p>  m=dw_3.getrow()</p><p>  dw_3.object.庫存[m]=dw_3.object.庫存[m]+1</p><p>  //判斷會員是所借圖書是否超期超期</p><p>  

124、if int(daysafter(date(dw_2.object.借書日期[n]),date(dw_2.object.還書日期[n])))>30 then</p><p><b>  int q</b></p><p>  q=dw_1.getrow()</p><p>  dw_1.object.鎖定[q]="是"

125、</p><p>  messagebox("超期!","圖書已還,所借圖書已經(jīng)超期,卡號被鎖定!",exclamation!,ok!,2)</p><p>  dw_2.object.備注[n]= "已歸還,超期"</p><p><b>  end if</b></p>

126、<p><b>  //更新數(shù)據(jù)庫</b></p><p>  if dw_1.update()=1 and dw_2.update()=1 and dw_3.update()=1 then </p><p><b>  commit;</b></p><p>  messagebox("成功!&

127、quot;,"更新數(shù)據(jù)庫成功!")</p><p><b>  else</b></p><p><b>  rollback;</b></p><p>  messagebox("失敗!","更新數(shù)據(jù)庫失?。?quot;)</p><p><

128、b>  end if</b></p><p><b>  else</b></p><p>  messagebox("錯誤!","沒有借書記錄!",exclamation!,ok!,2)</p><p>  在借還圖書窗口的顯示信息按鈕的clicked事件中加入如下代碼:</p&

129、gt;<p>  //啟動數(shù)據(jù)窗體連接事務(wù)</p><p>  if sle_2.text="" then</p><p>  //顯示該會員的借書記錄</p><p>  dw_1.settransobject(sqlca)</p><p>  dw_1.setfilter("會員編號='

130、"+trim(sle_1.text)+"'")</p><p>  dw_1.retrieve()</p><p>  dw_2.settransobject(sqlca)</p><p>  dw_2.setfilter("會員編號='"+trim(sle_1.text)+"'&q

131、uot;)</p><p>  dw_2.retrieve()</p><p>  dw_3.settransobject(sqlca)</p><p>  dw_3.setfilter("圖書編號='"+trim(sle_2.text)+"'" )</p><p>  dw_3.ret

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論