人才培養(yǎng)模式改革和開放教育試點(diǎn)理工類畢業(yè)設(shè)計(jì)方案論文_第1頁
人才培養(yǎng)模式改革和開放教育試點(diǎn)理工類畢業(yè)設(shè)計(jì)方案論文_第2頁
人才培養(yǎng)模式改革和開放教育試點(diǎn)理工類畢業(yè)設(shè)計(jì)方案論文_第3頁
人才培養(yǎng)模式改革和開放教育試點(diǎn)理工類畢業(yè)設(shè)計(jì)方案論文_第4頁
人才培養(yǎng)模式改革和開放教育試點(diǎn)理工類畢業(yè)設(shè)計(jì)方案論文_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGEPAGE40人才培養(yǎng)模式改革和開放教育試點(diǎn)理工類畢業(yè)設(shè)計(jì)(論文)安徽廣播電視大學(xué)畢業(yè)設(shè)計(jì)(論文)分校名稱教學(xué)點(diǎn)名稱年級名稱專業(yè)名稱課題名稱學(xué)生姓名指導(dǎo)教師年月日?摘要招標(biāo)信息管理系統(tǒng)是企業(yè)的信息管理系統(tǒng)(MIS)的一部分,其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn).根據(jù)我們的實(shí)際情況經(jīng)過分析,本系統(tǒng)采用客戶機(jī)/服務(wù)器模式,編程環(huán)境使用Borland公司的Delphi6,后臺數(shù)據(jù)庫采用流行的高性能數(shù)據(jù)庫產(chǎn)品Oracle,我們利用Delphi6其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是VCL數(shù)據(jù)集和數(shù)據(jù)控件這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成滿意的可行系統(tǒng).后臺使用符合國際標(biāo)準(zhǔn)的SQL數(shù)據(jù)語言的Oracle,給系統(tǒng)的兼容性、可移置、安全性、穩(wěn)定性打下了堅(jiān)實(shí)的基礎(chǔ)。關(guān)鍵字:控件、窗體、域

ABSTRACTInvitat(yī)ionforbirmationmanagementsystemisapartofenterprisemanagementinformationsystem,whichmainlyincludesbuildingupdat(yī)a-baseofback-endanddevelopingtheapplicationinterfaceoffront-end.Theformerrequiredconsistencyandintegralityandsecurityofdata。Thelatershouldmaketheapplicationpowerfulandeasilyused.Dependonoursituation,weselectclienter/servicermode.WeuseDelphi6presentedbyBorlandcompanyasprogramenvironmentandselectOracleasdata-baseofback-end.Delphi6cansupplymanyobjecttoolsespeciallyVCLdata—baseanddataActiveX.Itcangiveyouashort—cuttobuildupaprototypeofsystemapplication。Theprototypecouldbemodifiedanddevelopedtillusersaresatisfiedwithit.Forback-endweselectedOraclewhichSQLdat(yī)alanguageconformtointernat(yī)ionalstandard。Sothesystemhasthecharacteristicofcompatible、displace、securityandstable.Keywords:ActiveX,F(xiàn)orm,F(xiàn)ield?目錄前言……………………4第一章開發(fā)招標(biāo)信息管理系統(tǒng)的必要……………4第二章開發(fā)招標(biāo)信息管理系統(tǒng)的軟硬件選擇……5硬件環(huán)境編程環(huán)境的選擇關(guān)系型數(shù)據(jù)庫的實(shí)現(xiàn)二者的結(jié)合開發(fā)招標(biāo)信息管理系統(tǒng)技術(shù)要點(diǎn)…………7用Delphi6開發(fā)數(shù)據(jù)庫簡介什么是BDE?我們在開發(fā)怎樣時的配置應(yīng)用程序和數(shù)據(jù)庫聯(lián)系的工具-數(shù)據(jù)庫訪問控件Oracle數(shù)據(jù)庫的安裝配置使用第四章招標(biāo)信息管理系統(tǒng)的功能與結(jié)構(gòu)…………21系統(tǒng)的主要功能系統(tǒng)的性能要求系統(tǒng)的結(jié)構(gòu)系統(tǒng)流程圖第五章招標(biāo)信息管理系統(tǒng)的實(shí)現(xiàn)建設(shè)……………24數(shù)據(jù)庫的需求分析數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)表的創(chuàng)建錄入初始數(shù)據(jù)各個功能模塊的創(chuàng)建編譯第六章性能測試與分析……………36測試環(huán)境配置測試使用報(bào)表輸出性能分析第七章結(jié)束語………………………37致謝……………………38主要參考文獻(xiàn)…………39附件……………………40?前言在這個科技經(jīng)濟(jì)飛速發(fā)展的時代里,企業(yè)間的競爭日趨激烈,要保持企業(yè)的競爭力就必須有高效的企業(yè)管理,管理的信息化就不可或缺.招標(biāo)信息管理系統(tǒng)是企業(yè)信息化的一部分,它的內(nèi)容對于企業(yè)采購的決策者和管理者來說都至關(guān)重要,所以招標(biāo)信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對招標(biāo)信息信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高招標(biāo)信息管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中我們將以開發(fā)一套招標(biāo)信息管理系統(tǒng)為例,談?wù)勂溟_發(fā)過程和所涉及到的問題及解決方法。下面就讓我們開始正文的介紹開發(fā)招標(biāo)信息管理系統(tǒng)的必要計(jì)算機(jī)已經(jīng)成為我們學(xué)習(xí)和工作的得力助手:今天,計(jì)算機(jī)的價格已經(jīng)十分低廉,性能卻有了長足的進(jìn)步。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計(jì)算機(jī)之所以如此流行的原因主要有以下幾個方面:首先,計(jì)算機(jī)可以代替人工進(jìn)行許多繁雜的勞動;其次,計(jì)算機(jī)可以節(jié)省許多資源;第三,計(jì)算機(jī)可以大大的提高人們的工作效率;第四,計(jì)算機(jī)可以使敏感文檔更加安全,等等。企業(yè)的發(fā)展離基本建設(shè),建設(shè)就須采購設(shè)備材料,根據(jù)國家的有關(guān)法規(guī)國家貸款基建項(xiàng)目設(shè)備材料的采購必須采用招標(biāo)采購,實(shí)現(xiàn)公開公平的競爭,降低采購成本和風(fēng)險.在現(xiàn)在我們的企業(yè)招標(biāo)信息管理水平還停留在紙介質(zhì)的基礎(chǔ)上,這樣的機(jī)制已經(jīng)不能適應(yīng)時代的發(fā)展,因?yàn)樗速M(fèi)了許多人力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計(jì)算機(jī)為基礎(chǔ)的信息管理所取代。我作為一個在招標(biāo)管理崗位上且同時作為開放教育計(jì)算機(jī)科學(xué)與技術(shù)的本科生,希望可以在這方面有所貢獻(xiàn)。改革的總設(shè)計(jì)師鄧小平同志說過“科學(xué)技術(shù)是第一生產(chǎn)力”,我希望能用我三年的所學(xué)編制出一個實(shí)用的程序來幫助企業(yè)進(jìn)行更有效的招標(biāo)信息管理.歸納起來,好處大約有以下幾點(diǎn):1.可以存儲招標(biāo)過程中的信息,安全、高效;2.可以收集有關(guān)投標(biāo)廠商的信息可分析設(shè)備的市場情況。3。可以迅速查到所需信息,為今后的建設(shè)中采購提供幫助。招標(biāo)信息管理系統(tǒng)的設(shè)計(jì),根據(jù)實(shí)際情況,我們使用原型法(RapidPrototyping)即以少量代價快速地構(gòu)造一個可執(zhí)行的軟件系統(tǒng)模型。使用戶和開發(fā)人員可以較快地確定需求,然后采用循環(huán)進(jìn)化的開發(fā)方式,對系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具備的性質(zhì)逐漸增加上去,直到所有的性質(zhì)全部滿足.此時模塊也發(fā)展成為最終產(chǎn)品了。開發(fā)招標(biāo)信息管理系統(tǒng)的軟硬件選擇硬件環(huán)境辦公自動化的在企業(yè)中已逐漸普及,每個崗位的管理人員都有計(jì)算機(jī),且已連成企業(yè)內(nèi)部網(wǎng),能在上面共享文件和發(fā)電子郵件。多個管理人員同時工作時,數(shù)據(jù)服務(wù)器要能同時處理多客戶的請求,協(xié)調(diào)訪問并且更新數(shù)據(jù).根據(jù)以上情況我們程序采用雙層結(jié)構(gòu)即客戶機(jī)/服務(wù)器模式,服務(wù)器采用微型計(jì)算機(jī),操作系統(tǒng)選用windows2000服務(wù)器版,客戶機(jī)采用win98或win2000/XP操作系統(tǒng)的微機(jī),網(wǎng)絡(luò)采用以太網(wǎng),通訊協(xié)議采用TCP/IP協(xié)議。編程環(huán)境的選擇美國Borland公司的Delphi6開發(fā)工具,是開發(fā)數(shù)據(jù)庫前端的優(yōu)秀工具,它以其簡潔明快編程語言,功能強(qiáng)大的組件和靈活的編程環(huán)境在激烈的市場中越來越受到青睞,采用Delphi6來開發(fā)數(shù)據(jù)庫應(yīng)用程序具有更大的靈活性和可擴(kuò)充性,它支持單機(jī)的dBase、Paradox數(shù)據(jù)庫和流行的關(guān)系數(shù)據(jù)庫Oracle、SQLserver等。最后完成的系統(tǒng)可以在單機(jī)、Netware網(wǎng)絡(luò)文件共享方式和客戶機(jī)/服務(wù)器條件下運(yùn)行。故而,實(shí)現(xiàn)本系統(tǒng)Delphi6是一個相對較好的選擇.三、關(guān)系型數(shù)據(jù)庫的實(shí)現(xiàn)Oracle是一種流行的高性能數(shù)據(jù)庫產(chǎn)品,它以符合國際標(biāo)準(zhǔn)的SQL數(shù)據(jù)語言為基礎(chǔ)具有豐富的軟件工具,是當(dāng)今世界上唯一可以同時適用用于大、中、小型機(jī)和微型機(jī)的數(shù)據(jù)庫系統(tǒng),它支持多種硬件及操作系統(tǒng)、多種網(wǎng)絡(luò)通訊協(xié)議和多種數(shù)據(jù)庫管理系統(tǒng)的互連,從而為建立分布式數(shù)據(jù)庫提供強(qiáng)有力的支持.我們選擇了Oracle8forwindows版本,安裝在win2000server服務(wù)器上,通訊協(xié)議選用TCP/IP協(xié)議。二者的結(jié)合Delphi是通過BDE(Borlang數(shù)據(jù)引擎)來完成對數(shù)據(jù)庫的訪問(見圖2—1),無論對存儲格式諸如DB和DBF文件的本地?cái)?shù)據(jù)還是更為復(fù)雜的客戶機(jī)/服務(wù)器體系的異地?cái)?shù)據(jù),BDE都能提供性能優(yōu)異的訪問服務(wù)。Delphi中的數(shù)據(jù)控件,在數(shù)據(jù)庫中的信息與將信息顯示給用戶看的Delphi程序之間架起了一座橋梁。我們可以設(shè)置數(shù)據(jù)組件的各個屬性,告訴它要調(diào)用那個數(shù)據(jù)庫的哪個部分.缺省情況下,數(shù)據(jù)控件根據(jù)數(shù)據(jù)庫中的一個或多個數(shù)據(jù)表建立一個dynaset—type(動態(tài)集合)類型的記錄集合。一個記錄集合是動態(tài)的也就意味著,當(dāng)原來的數(shù)據(jù)表中的內(nèi)容改變了以后,該記錄集合中的記錄也會隨之改變。數(shù)據(jù)控件還提供了用來瀏覽不同記錄的各種跳轉(zhuǎn)按鈕。將數(shù)據(jù)控件放置在窗體中之后,我們還必須在該控件與要處理的數(shù)據(jù)庫之間建立聯(lián)系。Delphi應(yīng)用程序Delphi應(yīng)用程序Delphi數(shù)據(jù)庫應(yīng)用程序BDE管理配置程序ODBC數(shù)據(jù)源ODBCSQLLinks本地?cái)?shù)據(jù)源InterbaseDBASEParadox等BORLAND數(shù)據(jù)庫引擎網(wǎng)絡(luò)協(xié)議遠(yuǎn)程數(shù)據(jù)庫說明:1、遠(yuǎn)程數(shù)據(jù)庫可以是Oracle,Sybase,MSSQLServer,Informin,Interbase2、網(wǎng)絡(luò)協(xié)議用虛線框,表示應(yīng)用程序可以利用SQLLinks、ODBC來訪問本地?cái)?shù)據(jù)庫.圖2—1Delphi的數(shù)據(jù)庫體系?第三章開發(fā)招標(biāo)信息管理系統(tǒng)技術(shù)要點(diǎn)用Delphi6開發(fā)數(shù)據(jù)庫簡介開發(fā)環(huán)境簡介在Windows安裝完Delphi后,安裝程序在Windows操作系統(tǒng)的“開始”菜單中添加Delphi的菜單及菜單項(xiàng),點(diǎn)擊BorlandDelphi6目錄的Delphi6即可啟動Delphi主窗口如圖3—1所示.圖3-1集成開發(fā)環(huán)境的主窗口主窗口主要由以下幾部分構(gòu)成:標(biāo)題欄:圖3-1中顯示“Delphi6-Project1”字樣的部分,在標(biāo)題欄上,還有主窗口的最大化、最小化及關(guān)閉按鈕。菜單欄:包括10個菜單,為開發(fā)人員提供編輯、開發(fā)、調(diào)試和管理工程等功能.工具欄:包括一些常用的命令,如新建、打開、運(yùn)行等??丶?控件欄集中了Delphi自身提供的控件。窗體:每當(dāng)啟動BorlandDelphi6,會自動創(chuàng)建一個窗體Form1,在窗體上添加控件,設(shè)計(jì)應(yīng)用程序界面。代碼窗口:在其左側(cè)區(qū)域,包含本程序所有的窗體、控件,在其右側(cè)區(qū)域,用于輸入編碼.對象監(jiān)視器:選中窗體或窗體上的控件時,在對象監(jiān)視器就會相應(yīng)出現(xiàn)此窗體或控件的屬性.在對象監(jiān)視器中,可以對窗體或?qū)ο蟮膶傩赃M(jìn)行設(shè)置。對象目錄樹:在對象目錄樹中,顯示窗體上所有控件的名稱以及相互的包含關(guān)系。當(dāng)刪除或改變控件的主、子容器時,目錄樹的控件就會相應(yīng)的發(fā)生變化.在對象目錄樹中,可以精確的選定窗體上的控件對象,并進(jìn)行屬性設(shè)置。用戶可以直接在控件欄用鼠標(biāo)左鍵雙擊某一控件,在當(dāng)前的窗體上就添加了此控件:或者在控件欄用鼠標(biāo)左鍵單擊某一控件,然后在窗體上按住鼠標(biāo)左鍵,拖動控件,然后釋放鼠標(biāo)左鍵,在窗體上鼠標(biāo)拖動的范圍內(nèi)就會添加這個控件.?二、什么是BDE?我們在開發(fā)怎樣時的配置在利用可視化開發(fā)工具做數(shù)據(jù)庫開發(fā)時,通常應(yīng)用程序不能和數(shù)據(jù)源直接打交道,而要通過一些中介,這些中介就叫做數(shù)據(jù)庫驅(qū)動器.一般而言,對于一種數(shù)據(jù)庫至少有一種數(shù)據(jù)庫驅(qū)動器.隨著數(shù)據(jù)庫的種類的增多,也就漸漸地產(chǎn)生了形形色色地?cái)?shù)據(jù)庫驅(qū)動器,于是出現(xiàn)了管理這些數(shù)據(jù)庫的的數(shù)據(jù)引擎。有了數(shù)據(jù)庫引擎,程序員在編程時就不必調(diào)用具體的數(shù)據(jù)庫驅(qū)動器了,只需按照統(tǒng)一的方式和數(shù)據(jù)庫引擎打交道,而讓數(shù)據(jù)庫引擎去操作今天的數(shù)據(jù)庫驅(qū)動器。這樣就大大簡化了數(shù)據(jù)庫應(yīng)用程序的開發(fā)。進(jìn)一步而言,現(xiàn)在的數(shù)據(jù)庫應(yīng)用所面對的數(shù)據(jù)類型真是形形色色,像語音,圖像數(shù)據(jù)等,直接調(diào)用這些數(shù)據(jù)庫的驅(qū)動器有時真的比較繁瑣,而借助數(shù)據(jù)庫引擎,我們就不必關(guān)心這些細(xì)節(jié)。Borland推出了這樣一個數(shù)據(jù)庫引擎(BorlandDatabaseEngine),縮寫為BDE,它能連接到其他類型的數(shù)據(jù)庫,還能將應(yīng)用從本地上傳到客戶機(jī)-服務(wù)器系統(tǒng),同時有很高的效率.Delphi數(shù)據(jù)庫應(yīng)用程序通過BDE來完成對數(shù)據(jù)庫的訪問。它能的訪問的數(shù)據(jù)可分為兩大類,一類是本地?cái)?shù)據(jù),另一類是客戶機(jī)-服務(wù)器體系的異地?cái)?shù)據(jù)。本系統(tǒng)采用的結(jié)構(gòu)是客戶機(jī)-服務(wù)器模式,用到了異地?cái)?shù)據(jù),具體配置如下。配置BDE是通過BDE管理器這個圖形界面進(jìn)行的。在BorlandDelphi6目錄下啟動BDEAdministrator后,其如圖3-2所示。我們可以看到屏幕最上面是標(biāo)題欄、菜單欄和工具欄,和一般的Windows應(yīng)用程序相同。屏幕的左側(cè)是數(shù)據(jù)庫別名(DatabaseAlisaes)欄.數(shù)據(jù)庫的別名指定了數(shù)據(jù)庫的位置和與數(shù)據(jù)庫服務(wù)器相連的參數(shù)。對于桌面數(shù)據(jù)庫,別名是指數(shù)據(jù)庫保存的路徑或文件。例如,對DBASE數(shù)據(jù)庫來說,別名是指數(shù)據(jù)庫保存的路徑;對Access數(shù)據(jù)庫而言,別名是指MDB文件;對那些數(shù)據(jù)庫服務(wù)器,別名就是指服務(wù)器名庫名、SQL語言傳遞方式等。使用數(shù)據(jù)庫別名的主要目的在于按名存取,就是說,因?yàn)閯e名蘊(yùn)含了定位數(shù)據(jù)庫足夠的信息(比如像路徑名等),知道了別名,就可以直接找到數(shù)據(jù)庫而不必進(jìn)行搜索,從而給使用數(shù)據(jù)庫帶來方便。在數(shù)據(jù)庫別名欄有二個標(biāo)簽-Database和Configuration.前者顯示各種的數(shù)據(jù)庫可進(jìn)行各種配置,后者是BDE管理的的配置。圖3-2BDE管理器的運(yùn)行界面 下面我們來配置本系統(tǒng)的BDE配置。第一步啟動BDE,現(xiàn)選擇Configurat(yī)ion標(biāo)簽(如圖3—2-1),對BDE缺省參數(shù)配置,點(diǎn)擊左邊目錄中Configuration/Drivers/Native/Oracle,這時再更改右邊SERVERNAME中名字為在Oracle客戶端連接時配置的訪問數(shù)據(jù)庫的別名“TEST",更改USERNAME為SCOTT(訪問Oracle數(shù)據(jù)庫缺省用戶名),按Ctrl—A鍵保存配置。圖3—2—1BDE管理器配置界面第二步選擇標(biāo)簽Dat(yī)abase配置應(yīng)用程序使用的數(shù)據(jù)庫別名,如圖3—2—1a所示把鼠標(biāo)的指針移到界面的左邊區(qū)域,點(diǎn)擊右鍵,彈出菜單,選擇new菜單項(xiàng)新建一數(shù)據(jù)庫別名,彈出界面如圖3—2-1b,點(diǎn)擊界面中下拉菜單選擇數(shù)據(jù)庫類型,這里選擇Oracle,點(diǎn)擊OK返回到管理界面,此時在列表中新增加一個Oracle數(shù)據(jù)庫條目,更改條目名稱為我們程序中所用的別名SBBORA,按Ctrl-A鍵保存配置。完成BDE配置后,用鼠標(biāo)雙擊數(shù)據(jù)庫別名SBBORA,彈出數(shù)據(jù)庫登陸用戶名和密碼界面,在輸入Oracle數(shù)據(jù)庫內(nèi)置訪問用戶名SCOTT和密碼TIGER后,就可連接網(wǎng)上Oracle數(shù)據(jù)庫。圖3—2-1a圖3—2-1b三、應(yīng)用程序和數(shù)據(jù)庫聯(lián)系的工具—數(shù)據(jù)庫訪問控件數(shù)據(jù)庫訪問控件是Delphi中用來建立應(yīng)用程序和數(shù)據(jù)庫聯(lián)系的工具,數(shù)據(jù)庫訪問控件也叫做數(shù)據(jù)存取控件(DataAccess),它們是通過數(shù)據(jù)引擎訪問數(shù)據(jù)庫,并提供數(shù)據(jù)庫信息和用戶接口之間的聯(lián)系。大部分?jǐn)?shù)據(jù)庫訪問控件都是非可視控件,因?yàn)樗鼈兎庋b了數(shù)據(jù)庫連接、數(shù)據(jù)表格、查詢及相似的元素。同時Delphi還提供了一些預(yù)定義控件,用來查看和編輯數(shù)據(jù)庫數(shù)據(jù)。數(shù)據(jù)庫訪問控件可以允許應(yīng)用程序通過BDE數(shù)據(jù)引擎訪問數(shù)據(jù)庫,將數(shù)據(jù)的信息傳遞給用戶接口,并通過BDE將用戶接口的數(shù)據(jù)反饋給數(shù)據(jù)庫,這樣就可利用數(shù)據(jù)庫訪問控件,并通過設(shè)計(jì)用戶接口和數(shù)據(jù)庫信息進(jìn)行交換。Delphi6中的數(shù)據(jù)庫訪問控件在控制面板上的DataAccess選項(xiàng)卡和BDE選項(xiàng)卡如圖3-3所示。(a)(b)圖3—3數(shù)據(jù)庫訪問控件?當(dāng)鼠標(biāo)指針定在某個控件上時,就會顯示出控件的名稱。其中TTable、TQurey和TStoreProc屬于數(shù)據(jù)集(Dat(yī)aSet)控件,起聯(lián)系應(yīng)用程序和數(shù)據(jù)庫的作用。四、Oracle數(shù)據(jù)庫的安裝配置使用本系統(tǒng)采用客戶機(jī)—服務(wù)器模式,數(shù)據(jù)庫服務(wù)器強(qiáng)調(diào)的就是數(shù)據(jù)庫可靠性和穩(wěn)定性,Oracle數(shù)據(jù)庫在這方面是一流的,數(shù)據(jù)庫的性能也是一流的。所以我們選擇它作為我們的后臺服務(wù)器.眾所周知Oracle數(shù)據(jù)庫也是相當(dāng)復(fù)雜的,給我們的設(shè)計(jì)也帶來了挑戰(zhàn),下面來介紹一下Oracle數(shù)據(jù)庫的安裝、工作原理、配置過程。4.1、Oracle數(shù)據(jù)庫的安裝我們選用的Oracle8版本是Release8.0.5forWindowsNT企業(yè)版,在服務(wù)器和客戶機(jī)都要安裝.在服務(wù)器上裝Oracle8EnterpriseEdition,客戶機(jī)上安裝Oracle8Client并選擇ApplicationUser選項(xiàng)。把程序光盤放到計(jì)算機(jī)安裝程序自動打開,分別根據(jù)上面的選項(xiàng)安裝服務(wù)器和客戶機(jī),安裝完畢重啟動計(jì)算機(jī),系統(tǒng)會自動打開Oracle的數(shù)據(jù)庫和監(jiān)聽器,Oracle8服務(wù)器和客戶機(jī)安裝完畢。4.2、Oracle8數(shù)據(jù)庫的基本內(nèi)容和概念4。2。1角色Oracle使用角色的方法來限定各種用戶的權(quán)力,在系統(tǒng)中可以有許多用戶,各種用戶有各種不同的角色,擁有不同的權(quán)力。因?yàn)閷?shí)踐表明與其很明確地賦一組權(quán)限給每一個用戶,不如賦權(quán)給一個角色,然后把這個角色賦給一組用戶。這樣就可以實(shí)現(xiàn)動態(tài)的權(quán)限管理,當(dāng)這組用戶的權(quán)限必須改變時,僅僅改變角色的權(quán)限就可以了,組內(nèi)用戶的權(quán)限自動根據(jù)角色權(quán)限的改變而改變。通過設(shè)定角色的方法可以實(shí)現(xiàn)權(quán)限的選擇和利用,賦與用戶的角色可以被選擇為可用或不可用。這個特性適用于在某些特定情況下用戶權(quán)限控制的需要,當(dāng)用戶欲執(zhí)行一個程序時,程序能根據(jù)它的不同的角色決定能否執(zhí)行。所以對于一個數(shù)據(jù)庫的應(yīng)用程序,數(shù)據(jù)庫管理員能夠創(chuàng)建角色,賦與這個角色執(zhí)行應(yīng)用程序的權(quán)力。然后數(shù)據(jù)庫管理員再把這個角色賦與別的角色和用戶。一個應(yīng)用程序能有幾個不同的角色,每個角色賦于不同的權(quán)限以實(shí)現(xiàn)不同的作用權(quán).角色和應(yīng)用程序角色、用戶角色、用戶和關(guān)系如圖4-2-1所示。執(zhí)行角色執(zhí)行角色數(shù)據(jù)瀏覽角色執(zhí)行程序角色管理角色瀏覽角色用戶執(zhí)行程序、修改數(shù)據(jù)的權(quán)限執(zhí)行程序、瀏覽數(shù)據(jù)的權(quán)限應(yīng)用程序權(quán)限應(yīng)用程序角色用戶角色用戶用戶用戶用戶用戶圖4—2—1角色與用戶的關(guān)系角色主要用來幫助定義數(shù)據(jù)庫中的安全性。它也是把相應(yīng)的優(yōu)先級分配給一組用戶的一種方法。在一些安全性較強(qiáng)的操作系統(tǒng)中也采用相似的方法。例如NetWare,windowsNT等。4。2.2、用戶在安裝過程中如果選擇安裝預(yù)定義的數(shù)據(jù)庫,初始數(shù)據(jù)庫有幾個預(yù)定義的用戶。其用戶名和密碼都是預(yù)定義的,安裝完成后可以改掉原始的密碼,以防止未授權(quán)的用戶進(jìn)入系統(tǒng).當(dāng)然,如果安裝數(shù)據(jù)庫時使用自定義的方式安裝,在安裝時就可以理發(fā)密碼。例如INTERNAL就是一個默認(rèn)的用戶,它不是一個真正的用戶,是SYS的別名。可以使用這個用戶來執(zhí)行數(shù)據(jù)庫的日常管理工作。下面把預(yù)定的用戶、密碼和用法列在表4—2—1中.表4-2-1數(shù)據(jù)庫預(yù)定義用戶用戶名密碼用法INTERNALOracleDBA的用戶名,使用它可以執(zhí)行數(shù)據(jù)庫的日常操作SYSCHANGE_ON_INSTALLDBA的用戶名SYSTEMMANAGER可用的數(shù)據(jù)庫管理員SCOTTTIGERCONNECT和RESOURCE角色的用戶名(登陸、創(chuàng)建新對象,我們在編程中使用該用戶名)DEMODEMOCONNECT和RESOURCE角色的用戶名DBSNMPDBSNMPOracleEnterpriseManager管理員CTXSYSCTXSYS內(nèi)容Cartridge管理員ORDSYSORDSYS圖像Cartridge管理員MDSYSMDSYS空間Cartridge管理員4.3、客戶與服務(wù)器的連接在安裝完Oracle8的客戶和服務(wù)器之后,必須要在客戶與服務(wù)器數(shù)據(jù)庫之間建立完整的連接,使之能夠通信,這樣才能充分發(fā)揮Oracle數(shù)據(jù)庫的網(wǎng)絡(luò)功能,才能構(gòu)造功能強(qiáng)大的分布數(shù)據(jù)庫系統(tǒng)。而要完成客戶與服務(wù)器之間的連接,必須要用到Oracle的Net8。下面介紹Net8來完成客戶與服務(wù)器之間的連接。4。3.1Net8的功能Net8的主要功能是在客戶與服務(wù)器之間建立起數(shù)據(jù)的連接和會話。一旦這個連接建立起來,Net8就可以在客戶與服務(wù)器之間進(jìn)行數(shù)據(jù)通信.進(jìn)行數(shù)據(jù)庫登錄時,在客戶服務(wù)器之間就建立起這仲聯(lián)系,客戶的住處就可以傳到遠(yuǎn)程的服務(wù)器上。這時就進(jìn)入一個分布式的數(shù)據(jù)庫系統(tǒng),盡享網(wǎng)絡(luò)的功能。如圖4—3-1所示是Net8的一個簡單的Client/Server網(wǎng)絡(luò)數(shù)據(jù)連接。Net8執(zhí)行的主要任務(wù)就是管理會話連接、管理數(shù)據(jù)傳輸并處理異常。Net8在監(jiān)聽服務(wù)的幫助下創(chuàng)建并管理數(shù)據(jù)庫會話請求.Net8還以與管理連接請求同樣的方式管理所有來自客戶應(yīng)用程序的中斷請求,它還可以識別和中斷由客房應(yīng)用程序異常中斷而導(dǎo)致的非法連接。這使在Oracle8網(wǎng)絡(luò)中的非法連接占用的服務(wù)器資源減到最少,Net8還自動迫使數(shù)據(jù)庫撤消所有由非法連接用戶持有的未執(zhí)行的事務(wù)處理和鎖,以維護(hù)數(shù)據(jù)庫中數(shù)據(jù)的完整性。Net8管理數(shù)據(jù)的傳輸,使數(shù)據(jù)能在Oracle8客戶和服務(wù)器間被傳輸和理解。在客戶端,使用Net8中的發(fā)送請求提交一個SQL會話請求;在服務(wù)器端Net8處理到來的請求并將其發(fā)送給數(shù)據(jù)庫以響應(yīng)客戶的請求。Net8還管理和初始化來自Oracle8客房或服務(wù)器中斷的請求,并處理異常。Oracle8數(shù)據(jù)庫Oracle8數(shù)據(jù)庫數(shù)據(jù)庫請求和響應(yīng)服務(wù)器請求的Net8傳輸客戶請求的Net8請求運(yùn)行Net8的客戶運(yùn)行Net8監(jiān)聽服務(wù)的Oracle8服務(wù)器圖4-3—1服務(wù)器與客戶的數(shù)據(jù)連接Net8就是以前版本Oracle的SQL*NET。Net8是存在于Oracle8客戶與服務(wù)器之間的一個軟件層,但它處于具體的網(wǎng)絡(luò)協(xié)議之上,它使用透明網(wǎng)絡(luò)層(TNS)建立并維護(hù)連接,TNS是Net8的下層,它執(zhí)行與具體網(wǎng)絡(luò)協(xié)議的交互任務(wù)。通過Net8與網(wǎng)絡(luò)中其他的計(jì)算機(jī)的通信,可以在多協(xié)議的異構(gòu)網(wǎng)絡(luò)中傳遞數(shù)據(jù)庫信息,從而實(shí)現(xiàn)網(wǎng)絡(luò)透明性,這使Oracle在網(wǎng)絡(luò)中的實(shí)用性大大增強(qiáng),以滿足網(wǎng)絡(luò)時代對數(shù)據(jù)庫的要求。4.3。2、Net8的工作原理與過程為了了解Net8的工作原理以及它在Oracle8網(wǎng)絡(luò)中的作用,需要首先了解Net8的工作過程,在服務(wù)器的主機(jī)上,Net8打開Oracle8的數(shù)據(jù)庫和監(jiān)聽器以監(jiān)聽來自客戶的數(shù)據(jù)庫請求,在監(jiān)聽器中可以設(shè)定監(jiān)聽的地址,這些地址是報(bào)務(wù)器處理其數(shù)據(jù)庫請求的客戶地址,一旦監(jiān)聽地地址發(fā)出數(shù)據(jù)庫請求監(jiān)聽器接受并把它傳遞給數(shù)據(jù)庫管理系統(tǒng),以處理客戶的請求。用戶從客戶端提交一個連接請求和數(shù)據(jù)庫請求。便如用戶要通過SQL*PLUS連接遠(yuǎn)程的數(shù)據(jù)庫,就必須提供用戶名、口令以及希望連接的數(shù)據(jù)庫服務(wù)名和連接方式,數(shù)據(jù)庫服務(wù)名被映射到一個特定連接描述符所包含的網(wǎng)絡(luò)地址上,這些網(wǎng)絡(luò)地址被包含在一個名叫TSNMAMES.ORA的設(shè)置文件或一個Oracle8的名字服務(wù)器中。SQL*PLUS將這個請求傳遞給客戶機(jī)上的Net8,通過網(wǎng)絡(luò)傳輸?shù)剑希颍幔鉲e8的數(shù)據(jù)庫服務(wù)器。在服務(wù)器上通過監(jiān)聽器接受到這個請求,建立起客房與網(wǎng)絡(luò)服務(wù)器之間的一次會話.Net8的網(wǎng)絡(luò)監(jiān)呼器通過Net8協(xié)議適配器接收來自客戶的連接.它支持一些廣泛使用的網(wǎng)絡(luò)協(xié)議,如TCP/IP,SPX等。每次客戶要求建立與Oracle8服務(wù)器的會話時,服務(wù)器的Net8網(wǎng)絡(luò)監(jiān)聽器收到實(shí)際的請求。結(jié)于一個特定的Oracle8數(shù)據(jù)庫報(bào)務(wù)器這些服務(wù)通常配置為監(jiān)聽一個聽眾配置文件LISTENERORA中指定的地址.一旦Net8網(wǎng)絡(luò)監(jiān)聽服務(wù)開始監(jiān)聽,就表明Oracle8數(shù)據(jù)庫打開并接受應(yīng)用程序會請求。接收到請示后,監(jiān)聽服務(wù)可將請求轉(zhuǎn)給一個特定的服務(wù)進(jìn)程以響應(yīng)客戶請求4.3.3、Net8的體系結(jié)構(gòu)Oracle8對網(wǎng)絡(luò)的支持是通過Net8來實(shí)現(xiàn)的,一個Oracle8的網(wǎng)絡(luò)環(huán)境包括Oracle數(shù)據(jù)庫、客戶以及數(shù)據(jù)庫與客戶的通信,它是一個分布式的系統(tǒng)。Net8使用透明網(wǎng)絡(luò)層(TNS)和標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議連接的客戶與服務(wù)器并建立會話。而Net8也分層來完成客戶與服務(wù)器的連接,下面介紹各層的作用.先講述一下Net8體系結(jié)構(gòu)和服務(wù)進(jìn)程,使用戶明白如何在客房端發(fā)出連接請求及數(shù)據(jù)庫返回查詢信息的過程.Oracle8的Net8是基于開放系統(tǒng)互連(OSI)參考模型之上的,在開放系統(tǒng)互連參考模型中,不同計(jì)算機(jī)之間的通信是分層的。住處在軟件代碼的若干之間傳遞。而Net8也是分層的,這種結(jié)構(gòu)使Oracle8服務(wù)器和客戶能夠更好地共享、修改和操縱數(shù)據(jù)。在客戶端信息被層層找包以用于網(wǎng)絡(luò)上傳輸,這些信息在服務(wù)器端會被相應(yīng)的層解包并被理解。分層有利于功能的分解和錯誤的較驗(yàn).下面介紹Net8各層作用。表4—3—1描述Net8的分層和各層的功能。表4—3—1Net8的各層及其功能層名層的描述NetworkInterface(NI)網(wǎng)絡(luò)接口層為訪問Net8的應(yīng)用程序提供接口NetworkRouting(NR)網(wǎng)絡(luò)路由層支配網(wǎng)絡(luò)的路由,把請求交給Oracle8的數(shù)據(jù)服務(wù)器NetworkNaming(NN)網(wǎng)絡(luò)名字層將別名轉(zhuǎn)化為Net8的目的地址NetworkAuthentication(NA)網(wǎng)絡(luò)認(rèn)證層協(xié)商目的地址之間的認(rèn)證請求TransparentNetworkSubstrate(TNS)透明網(wǎng)絡(luò)層處理所有來自Net8的請求和響應(yīng)4。3.4、實(shí)現(xiàn)一個Net8的網(wǎng)絡(luò)Net8提供了兩個可視化的工具,使用戶可以更方便地建立和測試Oracle8的網(wǎng)絡(luò)環(huán)境。這兩個工具是OracleNet8Assistant和OracleNet8EasyConfig。下面講解如何用這兩上工具來建立和測試Oracle8的網(wǎng)絡(luò)環(huán)境。OracleNet8Assistant的界面如圖4-3-2所示。圖4-3-2Net8Assistant在Net8Assistant中可以修改客房和服務(wù)器的配置文件、服務(wù)名、Oracle8的名字服務(wù)器和監(jiān)聽器的配置.Oracle在按照前面所述安裝好Oracle的產(chǎn)品以后,在Net8Assistant中可以看到定義好的服務(wù)名和監(jiān)聽器。在Listener的地址選項(xiàng)中加入客戶的地址、協(xié)議和端口,重新啟動計(jì)算機(jī)使服務(wù)和監(jiān)聽器有效,這時服務(wù)器就可以與網(wǎng)絡(luò)進(jìn)行連接了。服務(wù)名(ServiceNames)用來指定網(wǎng)絡(luò)上數(shù)據(jù)庫服務(wù)的身份和地址的一名字.服務(wù)名被映射到連接描述符上,連接描述符可被存儲在本地客戶機(jī)上或的名字服務(wù)器上。在中數(shù)據(jù)庫服務(wù)名要求是唯一的,以避免訪問沖突,在的網(wǎng)絡(luò)中,為了達(dá)到服務(wù)名唯一的要求,常作用域的概念。域是所有計(jì)算機(jī)或服務(wù)一個邏輯組,域中的計(jì)算機(jī)名必須唯一。在域內(nèi)的數(shù)據(jù)庫服務(wù)名自動加上域名,例如服務(wù)名為TCPIPDATA,它是所在的域的域名是WORLD,為個數(shù)據(jù)庫服務(wù)的服務(wù)名就是TCPIPDATAWORLD。在Net8Assistant中可以創(chuàng)建和修改服務(wù)名的默認(rèn)域,如圖4-3-3所示.圖4—3-3建立默認(rèn)的域下面介紹如何利用Net8EasyConfig來創(chuàng)建一個到數(shù)據(jù)庫服務(wù)的簡單連接:Net8EasyConfig中的設(shè)置如圖4-3—4所示.在這個對話框中,也可以選擇修改、刪除、測試等操作,它們的操作與建立新服務(wù)的操作相似,下面只講一下新建服務(wù)的操作,其余的操作可參照本操作執(zhí)行。單擊Next按鈕進(jìn)入下一個對話框。如圖4-3—5所示。圖4—3—4創(chuàng)建一個新服務(wù)名圖4-3-5選擇協(xié)議在圖4—3-5的列表框中選擇連接數(shù)據(jù)庫的協(xié)議,各種網(wǎng)絡(luò)可以作用不同的協(xié)議,如需要通過英特網(wǎng)來連接遠(yuǎn)程網(wǎng)絡(luò),就可以選擇TCP/IP協(xié)議。選擇好所使用的協(xié)議后,單擊Next按鈕進(jìn)入下一個對話框。如圖4-3—6所示圖4-3—6選擇主機(jī)號和端口號有主機(jī)名(HostName)文本框輸入主機(jī)的IP地址。如果前面協(xié)議選的是命名管道,主機(jī)名可以是計(jì)算機(jī)名。端口號(portNumber)1521是連接大部分?jǐn)?shù)據(jù)庫的默認(rèn)端口號,單擊Next按鈕進(jìn)入下一個對話框。如圖4-3—7所示。圖4—3-7選擇數(shù)據(jù)庫系統(tǒng)標(biāo)識符在上圖所示的數(shù)據(jù)庫的系統(tǒng)標(biāo)識(Dat(yī)abaseSID)文本框中輸入連接的數(shù)據(jù)庫實(shí)例的系統(tǒng)標(biāo)識。單擊Nest按鈕,彈出如圖4-3-8所示的對話框,單擊其中的TestService按鈕,進(jìn)行連接測試,彈出的對話框如圖4-3-9所示。單擊Test按鈕測試客戶與服務(wù)器的連接,成功以后就可以進(jìn)行客戶與數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)通信。完成客戶機(jī)與服務(wù)器的連接后,在Delphi的BDE作連接服務(wù)器的配置,我們就能通過對Delphi的進(jìn)行數(shù)據(jù)庫的開發(fā)應(yīng)用。圖4-3—8測試服務(wù)器圖4-3-9?第四章招標(biāo)信息管理系統(tǒng)的功能與結(jié)構(gòu)系統(tǒng)的主要功能本系統(tǒng)的主要功能是把招標(biāo)工作的全過程錄入到計(jì)算機(jī)中,一方面存儲原始數(shù)據(jù),一方面利用這些數(shù)據(jù)分析投標(biāo)廠商信息、市場行情、投資統(tǒng)計(jì)、規(guī)范報(bào)表等.主要內(nèi)容包括:廠商信息錄入:廠商名稱、廠商類別、地址、郵編、開戶銀行、法人代表、固定資產(chǎn)、企業(yè)簡介等。招標(biāo)計(jì)劃錄入:工程項(xiàng)目名稱、設(shè)備類別、招標(biāo)編號、設(shè)備名稱、規(guī)格型號、圖號、數(shù)量、推薦投標(biāo)人1—5、技術(shù)協(xié)議完成時間、編發(fā)標(biāo)書時間、開標(biāo)評標(biāo)時間、主持人等。評標(biāo)情況錄入:工程項(xiàng)目名稱、設(shè)備類別、招標(biāo)編號、設(shè)備名稱、規(guī)格型號、開標(biāo)地點(diǎn)、技術(shù)評分、推薦投標(biāo)人、競標(biāo)單位報(bào)價、中標(biāo)金額等。資料交交接情況錄入:序號、工程名稱、賣方名稱、招標(biāo)文件、投標(biāo)文件、中標(biāo)通知書、合同號等。廠商信息、招標(biāo)信息、設(shè)備信息等的查詢.招標(biāo)計(jì)劃、商務(wù)比較表、綜合評標(biāo)報(bào)告、中標(biāo)通知書、月招標(biāo)設(shè)備統(tǒng)計(jì)等報(bào)表的輸出.系統(tǒng)的性能要求由于軟件的輸入工作量大,對于一些相對固定的數(shù)據(jù),不應(yīng)讓用戶頻頻輸入(特別是漢字),而應(yīng)讓用戶用輕松選擇。例如在輸入廠商信息時,地區(qū)、省份、廠商類別、實(shí)現(xiàn)鼠標(biāo)選擇輸入,還有在輸入招標(biāo)計(jì)劃表時,投標(biāo)廠商名稱要實(shí)現(xiàn)用鼠標(biāo)點(diǎn)擊圖標(biāo)彈出菜單,做查找后點(diǎn)擊查找結(jié)果輸入廠商名稱。系統(tǒng)中有關(guān)日期輸入的地方很多,選用界面友好的日歷控件,實(shí)現(xiàn)日期的查找和輸入。輸出的報(bào)表要符合現(xiàn)行公司規(guī)定的報(bào)表格式,系統(tǒng)對輸出的報(bào)表要有自動編號功能.提供在線幫助功能,具有較強(qiáng)的容錯功能。?三、系統(tǒng)的結(jié)構(gòu)根據(jù)上一章系統(tǒng)功能的分析,將系統(tǒng)分解成幾個模塊來分別設(shè)計(jì)應(yīng)用程序界面,如下圖所示:四。系統(tǒng)流程圖根據(jù)系統(tǒng)分析數(shù)據(jù)的流程圖如下:?第五章招標(biāo)信息管理系統(tǒng)的實(shí)現(xiàn)建設(shè)數(shù)據(jù)庫的需求分析根據(jù)上一章的數(shù)據(jù)述流程圖,可以列出系統(tǒng)所需的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):廠商信息:廠商ID、廠商名稱、廠商類別、地址、郵編、開戶銀行、法人代表、固定資產(chǎn)、企業(yè)簡介等。招標(biāo)計(jì)劃:工程項(xiàng)目名稱、設(shè)備類別、招標(biāo)編號、設(shè)備名稱、規(guī)格型號、圖號、數(shù)量、推薦投標(biāo)人1-5、技術(shù)協(xié)議完成時間、編發(fā)標(biāo)書時間、開標(biāo)評標(biāo)時間、主持人等。設(shè)備概算:工程項(xiàng)目名稱、設(shè)備類別、招標(biāo)編號、設(shè)備名稱、規(guī)格型號、預(yù)定數(shù)量、重量、概算等競標(biāo)情況:工程項(xiàng)目名稱、設(shè)備類別、招標(biāo)編號、設(shè)備名稱、規(guī)格型號、數(shù)量、競標(biāo)單位報(bào)價、中標(biāo)金額等評標(biāo)情況:工程項(xiàng)目名稱、設(shè)備類別、招標(biāo)編號、設(shè)備名稱、規(guī)格型號、開標(biāo)地點(diǎn)、技術(shù)評分、推薦投標(biāo)人等.資料交付:序號、工程名稱、賣方名稱、招標(biāo)文件、投標(biāo)文件、中標(biāo)通知書、合同號等。(以上具體數(shù)據(jù)結(jié)構(gòu)詳見源程序)二、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)招標(biāo)信息管理系統(tǒng)的E—R圖:如下

三、數(shù)據(jù)表的創(chuàng)建根據(jù)系統(tǒng)所需的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)和實(shí)體-關(guān)系模型,進(jìn)一步優(yōu)化數(shù)據(jù)表,在Delphi中用DatabaseDesktop工具用SQL的CREATETABLE語句在Oracle8數(shù)據(jù)庫上創(chuàng)建數(shù)據(jù)表。廠商基本情況表CREATETABLESCOTT.”廠商基本情況表”("廠商ID"NUMBER(*)NOTNULL,”廠商名稱”VARCHAR2(50),"廠商類別ID"NUMBER(*),”地址"VARCHAR2(50),”城市”VARCHAR2(20),"省份ID”NUMBER(*),”地區(qū)ID"NUMBER(*),"郵編"VARCHAR2(50),"營業(yè)執(zhí)照注冊號"VARCHAR2(50),”稅號”VARCHAR2(50),”開戶銀行"VARCHAR2(50),"帳號"VARCHAR2(50),”電話"VARCHAR2(50),"傳真"VARCHAR2(50),"法人代表”VARCHAR2(20),"委托代理人"VARCHAR2(20),"企業(yè)簡介”VARCHAR2(255),"固定資產(chǎn)"NUMBER(*),"流動資產(chǎn)"NUMBER(*),"企業(yè)總?cè)藬?shù)”NUMBER(*),”上年產(chǎn)值"NUMBER(*),”上年凈利潤”NUMBER(*),”高級技工人數(shù)"NUMBER(*),"中級職稱人數(shù)”NUMBER(*),"高級職稱人數(shù)"NUMBER(*),"質(zhì)量認(rèn)證體系"VARCHAR2(50),"廠商基本情況"VARCHAR2(255),"銀行資信"VARCHAR2(50),”證明出具單位"VARCHAR2(50),"廠家簡稱"VARCHAR2(20),"網(wǎng)內(nèi)網(wǎng)外"VARCHAR2(10))廠商類別表CREATETABLESCOTT."廠商類別表"("廠商類別ID”NUMBER(*)NOTNULL,”廠商類別"VARCHAR2(20))廠商聯(lián)系人表CREATETABLESCOTT."廠商聯(lián)系人表”("編號"NUMBER(10,0)NOTNULL,"類別ID"NUMBER(10,0),"姓名"VARCHAR2(40),”職務(wù)”VARCHAR2(40),"職稱"VARCHAR2(40),"辦公室電話”VARCHAR2(60),"住宅電話”VARCHAR2(40),"手機(jī)"VARCHAR2(40),"傳呼"VARCHAR2(40),"電子郵件地址"VARCHAR2(60),"傳真”VARCHAR2(40),"廠商ID"NUMBER(10,0))廠商業(yè)績表CREATETABLESCOTT."廠商業(yè)績表”("廠商業(yè)績ID"NUMBER(*)NOTNULL,"序號”NUMBER(*),"設(shè)備名稱”VARCHAR2(100),”型號規(guī)格"VARCHAR2(100),”數(shù)量"NUMBER(*),”業(yè)績分類ID”NUMBER(*),"質(zhì)量情況"VARCHAR2(100),”廠商ID"NUMBER(*))地區(qū)表CREATETABLESCOTT.”地區(qū)表”(”地區(qū)ID”NUMBER(*)NOTNULL,”地區(qū)"VARCHAR2(16))工程項(xiàng)目表CREATETABLESCOTT。"工程項(xiàng)目表"(”序號”VARCHAR2(8),"工程項(xiàng)目名稱"VARCHAR2(40),"工程項(xiàng)目ID”VARCHAR2(8)NOTNULL)競標(biāo)信息表CREATETABLESCOTT."競標(biāo)信息表”("工程項(xiàng)目名稱"VARCHAR2(40),"工程小項(xiàng)"VARCHAR2(10),”競標(biāo)單位"VARCHAR2(40),"招標(biāo)編號"VARCHAR2(30),”設(shè)備名稱"VARCHAR2(40),”設(shè)備類別"VARCHAR2(8),"規(guī)格型號"VARCHAR2(40),"數(shù)量"VARCHAR2(8),"重量”VARCHAR2(8),”競標(biāo)單位報(bào)價"VARCHAR2(10),”交標(biāo)時間"VARCHAR2(14),”開標(biāo)時間"VARCHAR2(14),”承諾書"VARCHAR2(8),"報(bào)價方式”VARCHAR2(8),"運(yùn)保費(fèi)"VARCHAR2(10),"設(shè)備報(bào)價"VARCHAR2(10),"安裝調(diào)試費(fèi)"VARCHAR2(10),”中標(biāo)金額"VARCHAR2(10),"序號"NUMBER(*)NOTNULL,"中標(biāo)時間"VARCHAR2(10),"其它費(fèi)用"VARCHAR2(10))廠商考核情況表CREATETABLESCOTT."考核情況表”("考核ID"NUMBER(10,0)NOTNULL,"年度"VARCHAR2(44),"訂貨量"NUMBER(10,0),”交貨情況"VARCHAR2(80),"設(shè)備質(zhì)量”VARCHAR2(80),"現(xiàn)場服務(wù)"VARCHAR2(80),"質(zhì)量事故"VARCHAR2(80),"廠商ID”NUMBER(*))聯(lián)系人類別表CREATETABLESCOTT."聯(lián)系人類別表"("類別ID”NUMBER(*)NOTNULL,”聯(lián)系人類別”VARCHAR2(20))招標(biāo)計(jì)劃表CREATETABLESCOTT。"招標(biāo)計(jì)劃表"(”工程項(xiàng)目名稱”VARCHAR2(30),"設(shè)備類別"VARCHAR2(16),”招標(biāo)編號"VARCHAR2(30),"設(shè)備名稱"VARCHAR2(40),"規(guī)格型號”VARCHAR2(40),”圖號"VARCHAR2(40),"數(shù)量"VARCHAR2(12),”推薦投標(biāo)人1”VARCHAR2(50),”推薦投標(biāo)人2”VARCHAR2(50),"推薦投標(biāo)人3"VARCHAR2(50),"推薦投標(biāo)人4"VARCHAR2(50),"推薦投標(biāo)人5”VARCHAR2(50),"技術(shù)協(xié)議完成時間"VARCHAR2(28),"編制標(biāo)書發(fā)標(biāo)"VARCHAR2(28),"組織答疑會議"VARCHAR2(28),"開標(biāo)”VARCHAR2(28),"評標(biāo)”VARCHAR2(28),"簽訂合同"VARCHAR2(28),"發(fā)放圖紙"VARCHAR2(28),"主持人"VARCHAR2(20),"主持人電話"VARCHAR2(16),"計(jì)劃內(nèi)外”VARCHAR2(16),"工程序號"VARCHAR2(16),”招標(biāo)方式"VARCHAR2(40))省份表CREATETABLESCOTT。"省份表”(”省份ID"NUMBER(*)NOTNULL,"省份"VARCHAR2(40))特種資質(zhì)證書表CREATETABLESCOTT."特種資質(zhì)證書表"("特種資質(zhì)證書ID"NUMBER(*)NOTNULL,"序號"NUMBER(*),”特種資質(zhì)證書”VARCHAR2(200),"有效期"VARCHAR2(60),”廠商ID"NUMBER(*))項(xiàng)目設(shè)備概算表CREATETABLESCOTT."項(xiàng)目設(shè)備概算表"(”工程項(xiàng)目名稱”VARCHAR2(40),”招標(biāo)編號”VARCHAR2(30)NOTNULL,”設(shè)備名稱”VARCHAR2(40),”設(shè)備類別"VARCHAR2(8),"規(guī)格型號"VARCHAR2(40),"預(yù)訂數(shù)量"VARCHAR2(6),"預(yù)訂重量"VARCHAR2(6),"概算”VARCHAR2(10))業(yè)績分類表CREATETABLESCOTT。"業(yè)績分類表”("業(yè)績分類ID"NUMBER(*)NOTNULL,"業(yè)績分類”VARCHAR2(20))職稱類別表CREATETABLESCOTT."職務(wù)類別表”("類別ID"NUMBER(10,0)NOTNULL,”職務(wù)類別"VARCHAR2(100))中表信息表CREATETABLESCOTT。"中標(biāo)信息表"(”工程項(xiàng)目名稱"VARCHAR2(40),”工程小項(xiàng)"VARCHAR2(10),"招標(biāo)編號"VARCHAR2(30)NOTNULL,”設(shè)備名稱"VARCHAR2(40),"設(shè)備類別"VARCHAR2(8),"規(guī)格型號"VARCHAR2(40),"數(shù)量"VARCHAR2(6),"重量"VARCHAR2(6),"中標(biāo)廠家"VARCHAR2(40),"中標(biāo)時間"VARCHAR2(14),"中標(biāo)金額"VARCHAR2(8),”中標(biāo)方式"VARCHAR2(8),"承諾書”VARCHAR2(6),”合同號"VARCHAR2(40))主要產(chǎn)品表CREATETABLESCOTT.”主要產(chǎn)品表"("主要產(chǎn)品ID”NUMBER(*)NOTNULL,"序號”NUMBER(*),"產(chǎn)品名稱”VARCHAR2(40),”型號規(guī)格"VARCHAR2(60),"參考單價”VARCHAR2(20),”廠商ID"NUMBER(*))主要裝備表CREATETABLESCOTT.”主要裝備表"("裝備ID"NUMBER(10,0)NOTNULL,"序號”NUMBER(10,0),”設(shè)備名稱"VARCHAR2(200),"加工檢測范圍"VARCHAR2(200),”廠商ID"NUMBER(10,0))資料交付表CREATETABLESCOTT。"資料交付表"(”序號"VARCHAR2(10)NOTNULL,"工程名稱”VARCHAR2(40),"賣方名稱”VARCHAR2(60),”招標(biāo)文件”VARCHAR2(30),”投標(biāo)文件"VARCHAR2(30),"商務(wù)評價表”VARCHAR2(30),”技術(shù)評價報(bào)告及匯總表"VARCHAR2(30),"綜合評價報(bào)告"VARCHAR2(30),”中標(biāo)通知書"VARCHAR2(30),"合同號"VARCHAR2(40),"考察報(bào)告"VARCHAR2(30),"工作聯(lián)系單"VARCHAR2(30),"技術(shù)協(xié)議”VARCHAR2(30),"文本合同"VARCHAR2(30),"其它”VARCHAR2(30),"詢價書"VARCHAR2(30),"報(bào)價"VARCHAR2(30))綜合評價表CREATETABLESCOTT.”綜合評價表”(”序號"NUMBER(*)NOTNULL,"工程項(xiàng)目名稱"VARCHAR2(40),”招標(biāo)編號"VARCHAR2(50),"設(shè)備名稱"VARCHAR2(40),"開標(biāo)地點(diǎn)"VARCHAR2(40),”推薦投標(biāo)人1"VARCHAR2(50),”技術(shù)評分1"VARCHAR2(20),"補(bǔ)充說明1”VARCHAR2(20),”推薦投標(biāo)人2"VARCHAR2(50),"技術(shù)評分2"VARCHAR2(20),"補(bǔ)充說明2”VARCHAR2(20),"推薦投標(biāo)人3"VARCHAR2(50),"技術(shù)評分3"VARCHAR2(20),"補(bǔ)充說明3"VARCHAR2(20),"推薦投標(biāo)人4”VARCHAR2(50),"技術(shù)評分4"VARCHAR2(20),"補(bǔ)充說明4"VARCHAR2(20),"推薦投標(biāo)人5"VARCHAR2(50),”技術(shù)評分5"VARCHAR2(20),"補(bǔ)充說明5"VARCHAR2(20),"綜合評述”VARCHAR2(255),"推薦預(yù)中標(biāo)人"VARCHAR2(50),”會簽意見"VARCHAR2(255),"會簽時間”VARCHAR2(20),"主持人”VARCHAR2(20),”監(jiān)督人”VARCHAR2(20),"投標(biāo)總價1”VARCHAR2(20),"投標(biāo)總價2”VARCHAR2(20),”投標(biāo)總價3"VARCHAR2(20),"投標(biāo)總價4"VARCHAR2(20),"投標(biāo)總價5"VARCHAR2(20),"開標(biāo)時間"VARCHAR2(20))四、錄入初始數(shù)據(jù)數(shù)據(jù)表創(chuàng)建成功后,數(shù)據(jù)庫中還沒有實(shí)際的數(shù)據(jù)。為保證外部鍵能使用,利用Delphi6中的SQLExplorer工具向數(shù)據(jù)庫的一些固定內(nèi)容的表格輸入數(shù)據(jù),如省份、類別、主持人、地區(qū)等.五.各個功能模塊的創(chuàng)建1、工程的創(chuàng)建啟動Delphi后自動創(chuàng)建一個工程Projec1和一個窗體Form1。在“Project"菜單中選擇“Options…"來修改工程的屬性。設(shè)置工程標(biāo)題“Title"為“招標(biāo)信息管理系統(tǒng)”,這樣將在Windows任務(wù)欄中顯示;圖標(biāo)為選定的圖標(biāo),最后的結(jié)果如圖5—1所示.圖5-1工程屬性修改窗口修改完成以后,單擊“File”菜單中的“SaveProjectAs…”選項(xiàng)保存工程,工程文件名為“Project1".在保存工程文件之前,首先要報(bào)存主窗體單元,窗體單元的文件名為“u_main。pas”.2、應(yīng)用程序窗體的創(chuàng)建應(yīng)用程序的主窗體布局如5-2,上面是菜單欄,中間一行按鈕為各功能模塊啟動按鈕,下面為數(shù)據(jù)輸入選擇框,最下面是數(shù)據(jù)顯示窗,另還有相應(yīng)數(shù)據(jù)組件。圖5-2主窗體布局上述控件分別按鈕在“standard”控件組中添加,數(shù)據(jù)頁在“win32”控件組中添加,數(shù)據(jù)控件在“BDE”、“DataAccess"、“Datacontrols"中增加。數(shù)據(jù)庫的連接在窗體上添加“Database”控件后,對其中數(shù)據(jù)庫別名選擇我們在“BDE”配置好的數(shù)據(jù)庫別名即可如圖5—3.圖5—3Database控件配置 如在數(shù)據(jù)目錄點(diǎn)擊“招標(biāo)計(jì)劃"就會在右邊的數(shù)據(jù)表中顯示相關(guān)記錄,下面的數(shù)據(jù)表顯示當(dāng)前記錄的數(shù)據(jù)。部分源程序舉例如下:procedureTForm1。TabSheet3Show(Sender:TO(shè)bject);var//數(shù)據(jù)類型定義i:integer;aa:array[0..100]ofstring;beginifsqlcondition3='招標(biāo)計(jì)劃’then?? ?//事件beginrichedit1.clear;query2.active:=false;query2.SQL。clear;query2.SQL.add('SELECT工程項(xiàng)目名稱,招標(biāo)編號,計(jì)劃內(nèi)外,設(shè)備類別,設(shè)備名稱,規(guī)格型號,圖號,數(shù)量,招標(biāo)方式,');query2。SQL.add('推薦投標(biāo)人1,推薦投標(biāo)人2,推薦投標(biāo)人3,推薦投標(biāo)人4,推薦投標(biāo)人5,技術(shù)協(xié)議完成時間,’);query2。SQL.a(chǎn)dd('編制標(biāo)書發(fā)標(biāo),開標(biāo),評標(biāo),簽訂合同,主持人,主持人電話,工程序號’);query2.SQL。add('FROM招標(biāo)計(jì)劃表招標(biāo)計(jì)劃表');query2。SQL.add(’where工程項(xiàng)目名稱=:aa1’);query2.SQL.a(chǎn)dd(’orderby工程序號,工程項(xiàng)目名稱,設(shè)備類別,招標(biāo)編號');query2。parambyname('aa1').asstring:=copy(sqlcondition2,1,length(sqlcondition2)-4);query2.a(chǎn)ctive:=true;ifquery2.RecordCount<>0thenbeginaa[0]:='工程項(xiàng)目名稱:'+query2.fieldbyname('工程項(xiàng)目名稱’).a(chǎn)sstring;aa[1]:=’工程序號:’+query2.fieldbyname(’工程序號').asstring;aa[2]:='計(jì)劃內(nèi)外:’+query2。fieldbyname(’計(jì)劃內(nèi)外’)。asstring;aa[3]:=’招標(biāo)編號:’+query2.fieldbyname(’招標(biāo)編號’).asstring;aa[4]:='設(shè)備類別:'+query2.fieldbyname('設(shè)備類別’).asstring;aa[5]:='設(shè)備名稱:’+query2.fieldbyname('設(shè)備名稱').a(chǎn)sstring;aa[6]:='規(guī)格型號:'+query2.fieldbyname('規(guī)格型號').a(chǎn)sstring;aa[7]:=’圖號:’+query2。fieldbyname('圖號').a(chǎn)sstring;aa[8]:='數(shù)量:’+query2。fieldbyname('數(shù)量').asstring;aa[9]:='招標(biāo)方式:'+query2.fieldbyname(’招標(biāo)方式').asstring;aa[10]:='推薦投標(biāo)人1:’+query2。

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論