




已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
房產(chǎn)中介管理系統(tǒng)摘 要房產(chǎn)中介管理系統(tǒng)是為房屋中介機(jī)構(gòu)管理房屋出租、出售信息資料而設(shè)計(jì)的信息管理系統(tǒng),包含有后臺(tái)數(shù)據(jù)庫(kù)和前臺(tái)應(yīng)用程序系統(tǒng)兩大部分,后臺(tái)數(shù)據(jù)庫(kù)要求數(shù)據(jù)的一致性和完整性、安全性,用以儲(chǔ)存單位工程文檔資料及相關(guān)信息,前臺(tái)應(yīng)用程序系統(tǒng)要求應(yīng)用程序功能完備、易于使用和界面友好等。經(jīng)過(guò)全面分析,確定數(shù)據(jù)庫(kù)采用ACCESS2000,開發(fā)工具為Delphi 7.0,利用Microsoft公司的ADO(ActiveX Data Object,ActiveX數(shù)據(jù)對(duì)象)訪問和操作數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)。關(guān)鍵詞: 數(shù)據(jù)庫(kù) 面向?qū)ο箝_發(fā)軟件包 數(shù)據(jù)對(duì)象Abstract House Agency Management System is to design for house agency enterprise or business. It have two include the database of backstage supporter and customer application system, the database of backstage supporter ask safety and integrity and the consistency of data to store unit project document information and related information, customer end ask application program function complete, easily to use and interface friendly etc. Via overall analysis, determine to use database adopt ACCESS 2000, development tool is Delphi 7.0, ADO visit and operand according to the data in server. Keywords: database System Delphi ADO目 錄摘 要1Abstract21前言及開發(fā)工具、開發(fā)技術(shù)簡(jiǎn)介31.1系統(tǒng)背景簡(jiǎn)介31.2 Delphi7.0編程軟件介紹51.3 數(shù)據(jù)庫(kù)技術(shù)概述71.4 ADO編程技術(shù)概述72需求分析92.1功能需求92.2性能需求 103總體設(shè)計(jì)113.1 系統(tǒng)程次模塊圖 113.2 系統(tǒng)流程圖3.3 模塊設(shè)計(jì)3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)4詳細(xì)設(shè)計(jì)4.1系統(tǒng)項(xiàng)目文件4.2閃現(xiàn)窗體設(shè)計(jì)4.3登記登錄管理模塊設(shè)計(jì)4.4主窗體管理模塊設(shè)計(jì)4.5 房屋出租登記模塊設(shè)計(jì)4.6房屋出租查詢模塊設(shè)計(jì)4.7房屋資料管理模塊設(shè)計(jì)4.8本軟件所用控件的安裝和使用方法4.9遇到的問題及解決方法5系統(tǒng)性能測(cè)試6總結(jié)7致謝與參考文獻(xiàn)53一.前言及開發(fā)工具、開發(fā)技術(shù)簡(jiǎn)介1.1 系統(tǒng)背景簡(jiǎn)介房產(chǎn)中介數(shù)據(jù)庫(kù)管理系統(tǒng)是一個(gè)房屋中介機(jī)構(gòu)不可缺少的部分,能夠?yàn)椴僮魅藛T和用戶提供充足的信息和快速查詢手段。但一直以來(lái)人們使用傳統(tǒng)人工的方式管理房屋出租、出售等房屋數(shù)據(jù),這種管理存在著許多缺點(diǎn),如:效率低、保密性差,時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),對(duì)于查找、更新和維護(hù)帶來(lái)了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,使用計(jì)算機(jī)對(duì)工程文檔資料信息進(jìn)行管理,具有檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高工程文檔資料管理的效率,也是企事業(yè)走向科學(xué)化、規(guī)范化管理必由之路。房產(chǎn)中介管理系統(tǒng)對(duì)房屋出租、出售等資料信息的存儲(chǔ)采用了動(dòng)態(tài)的創(chuàng)建,先建立系統(tǒng)應(yīng)用原型,然后對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。房產(chǎn)中介管理系統(tǒng)的功能有:方便地操作數(shù)據(jù)庫(kù),包括增加數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)等;提供兩種不同的打印模式,可以隨時(shí)打印專業(yè)的報(bào)表;提供完善的查詢方法,可以對(duì)數(shù)據(jù)庫(kù)的所有內(nèi)容進(jìn)行查詢,還可以進(jìn)行組合查詢;可以隨意修改數(shù)據(jù)的內(nèi)容;可以將登錄用戶分成三個(gè)層次:超級(jí)用戶、管理員、普通客戶。超級(jí)用戶擁有操作本軟件的所有權(quán)利,管理員擁有除“用戶管理”外操作本軟件的所有權(quán)利,客戶只擁有數(shù)據(jù)瀏覽等操作本軟件的部分權(quán)利;可以任意修改登錄密碼,保證數(shù)據(jù)庫(kù)的安全。因此,開發(fā)這樣的管理軟件成為很有必要的事情。1.2 Delphi7.0編程軟件簡(jiǎn)介Delphi是著名的Borland(現(xiàn)在已和Inprise合并)公司開發(fā)的可視化軟件開發(fā)工具?!罢嬲某绦騿T用c,聰明的程序員用Delphi”,這句話是對(duì)Delphi最經(jīng)典、最實(shí)在的描述。Delphi被稱為第四代編程語(yǔ)言,它具有簡(jiǎn)單、高效、功能強(qiáng)大的特點(diǎn)。和VC相比,Delphi更簡(jiǎn)單、更易于掌握,而在功能上卻絲毫不遜色;和VB相比,Delphi的功能更強(qiáng)大、更實(shí)用??梢哉f(shuō)Delphi同時(shí)兼?zhèn)淞薞C功能強(qiáng)大和VB簡(jiǎn)單易學(xué)的特點(diǎn)。它一直是程序員至愛的編程工具。Delphi具有以下的特性:基于窗體和面向?qū)ο蟮姆椒ǎ咚俚木幾g器,強(qiáng)大的數(shù)據(jù)庫(kù)支持,與Windows編程緊密結(jié)合,強(qiáng)大而成熟的組件技術(shù)。但最重要的還是Object Pascal語(yǔ)言,它才是一切的根本。Delphi提供了各種開發(fā)工具,包括集成環(huán)境、圖像編輯(Image Editor),以及各種開發(fā)數(shù)據(jù)庫(kù)的應(yīng)用程序,如Desktop Database Expert等。除此之外,還允許用戶掛接其它的應(yīng)用程序開發(fā)工具,如Borland公司的資源編輯器(Recourses Workshop)。在Delphi眾多的優(yōu)勢(shì)當(dāng)中,它在數(shù)據(jù)庫(kù)方面的特長(zhǎng)顯得尤為突出:適應(yīng)于多種數(shù)據(jù)庫(kù)結(jié)構(gòu),從客戶機(jī)服務(wù)機(jī)模式到多層數(shù)據(jù)結(jié)構(gòu)模式;高效率的數(shù)據(jù)庫(kù)管理系統(tǒng)和新一代更先進(jìn)的數(shù)據(jù)庫(kù)引擎;最新的數(shù)據(jù)分析手段和提供大量的企業(yè)組件。Delphi發(fā)展至今,從Delphi、Delphi到現(xiàn)在的Delphi7,不斷添加和改進(jìn)各種特性,功能越來(lái)越強(qiáng)大。Delphi7添加了對(duì)IDE(集成開發(fā)環(huán)境)的很多改進(jìn)新特性,擴(kuò)展了數(shù)據(jù)庫(kù)支持(ADO和InterBase數(shù)據(jù)庫(kù)),帶有Internet支持的MIDAS改進(jìn)版,Team Souse版本控制工具,轉(zhuǎn)換功能,框架概念以及很多的新組件與新特性。Delphi7.0軟件開發(fā)工具是Borland公司推出的一個(gè)完全導(dǎo)向的可視化系統(tǒng)開發(fā)環(huán)境的工具。它具有功能強(qiáng)大、運(yùn)行速度快、易于學(xué)習(xí)和使用以及開發(fā)迅速等特點(diǎn),所以一經(jīng)推出就受到廣大用戶的喜歡。Delphi結(jié)合了可視化技術(shù)、面向?qū)ο蠹夹g(shù)、數(shù)據(jù)庫(kù)技術(shù)以及網(wǎng)絡(luò)技術(shù)等多種先進(jìn)的軟件編程技術(shù)和思想,并使用了世界上最快的編譯器,使其成為創(chuàng)建功能豐富、界面友好的Windows應(yīng)用軟件的工具之一。Delphi7.0版本功能更為強(qiáng)大,不但繼承了前面所有版本的優(yōu)良特性,而且糾正了一些錯(cuò)誤,它對(duì)Web服務(wù)、數(shù)據(jù)庫(kù)的支持更加完善。Delphi7.0具有強(qiáng)大的數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā)功能,它能適應(yīng)各種大型數(shù)據(jù)庫(kù),如Oracle、Sybase、SQL等,Delphi7.0數(shù)據(jù)庫(kù)應(yīng)用程序基于Borland強(qiáng)大的數(shù)據(jù)庫(kù)引擎( BDE)和豐富的數(shù)據(jù)庫(kù)組件,利用Delphi7.0開發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序,它會(huì)使用戶得到意想不到的收獲。1.3 數(shù)據(jù)庫(kù)技術(shù)概述產(chǎn)生于本世紀(jì)60年代末70年代初的數(shù)據(jù)庫(kù)技術(shù)對(duì)于每一個(gè)人可能都不陌生,在現(xiàn)代社會(huì)它的應(yīng)用范圍越來(lái)越廣,在各個(gè)領(lǐng)域都可以看到數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用。它的出現(xiàn)使得計(jì)算機(jī)應(yīng)用進(jìn)了新的時(shí)期,社會(huì)的每一領(lǐng)域都與計(jì)算機(jī)發(fā)生了聯(lián)系。數(shù)據(jù)庫(kù)技術(shù)聚集了數(shù)據(jù)處理最精華的思想,是管理信息最先進(jìn)的工具。通常有兩種方法保存數(shù)據(jù)庫(kù)。第一種是將整個(gè)數(shù)據(jù)庫(kù)作為一個(gè)單獨(dú)文件保存,如Access數(shù)據(jù)庫(kù)。第二種方法是將數(shù)據(jù)庫(kù)中每個(gè)數(shù)據(jù)表、索引以及其他一些數(shù)據(jù)庫(kù)元素分別保存在各自的文件中。Delphi7.0對(duì)這兩種方法都支持。 1.4 ADO編程技術(shù)概述Microsoft公司的ADO(ActiveX Data Object,ActiveX數(shù)據(jù)對(duì)象)是微軟提出的新標(biāo)準(zhǔn),它使得客戶端應(yīng)用程序能夠通過(guò)任何OLEDB提供者來(lái)訪問和操作數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù),而不必進(jìn)行ODBC配置。ADO有兩個(gè)主要優(yōu)點(diǎn):其一是易于使用、速度快、內(nèi)存支出少。其二是“遠(yuǎn)程數(shù)據(jù)訪問”,能夠通過(guò)一個(gè)來(lái)回的傳輸將數(shù)據(jù)從服務(wù)器移動(dòng)到客戶端應(yīng)用程序或Web中,然后在客戶端對(duì)數(shù)據(jù)進(jìn)行操作,最后將更新數(shù)據(jù)返回服務(wù)器。二.需求分析2.1功能需求對(duì)于本系統(tǒng),我們需要實(shí)現(xiàn)以下一些基本功能:(1)登錄管理: 為了軟件和數(shù)據(jù)庫(kù)的安全,驗(yàn)證登錄人員的不同身份,防止非法用戶入侵系統(tǒng)。將登錄用戶分成三個(gè)層次:超級(jí)用戶、管理員、普通客戶。超級(jí)用戶擁有操作本軟件的所有權(quán)利,管理員擁有除“用戶管理”外操作本軟件的所有權(quán)利,客戶只擁有數(shù)據(jù)瀏覽等操作本軟件的部分權(quán)利。(2)閃現(xiàn)窗體: 在登錄窗體之前出現(xiàn),主要顯示以下信息:一是顯示本系統(tǒng)的題目即:“房產(chǎn)中介管理系統(tǒng)”;二是顯示作者即本人;三是顯示一行信息,即“正在加載中”。(3)主界面窗體: 本窗體的功能很簡(jiǎn)單,主要是為進(jìn)入本系統(tǒng)其它所有的功能窗體提供一個(gè)操作方便、界面美觀的基礎(chǔ)平臺(tái)。(4)房屋出租登記窗體: 功能是對(duì)房屋出租信息進(jìn)行登記,主要是進(jìn)行添加出租信息的登記操作。(5)房屋出租信息查詢窗體: 功能主要是可以對(duì)所有的房屋出租的信息進(jìn)行查詢,可以是簡(jiǎn)單的通過(guò)按“收件號(hào)”進(jìn)行查詢,也可以通過(guò)“高級(jí)查詢”按鈕進(jìn)入高級(jí)查詢頁(yè)面,通過(guò)多個(gè)字段進(jìn)行高級(jí)查詢,從而為用戶提供快速、準(zhǔn)確的查詢服務(wù)。(6)房屋出售登記窗體: 功能是對(duì)房屋出售信息進(jìn)行登記,主要是進(jìn)行添加出售信息的登記操作。(7)房屋出售信息查詢窗體: 功能主要是可以對(duì)所有的房屋出售的信息進(jìn)行查詢,可以是簡(jiǎn)單的通過(guò)按“收件號(hào)”進(jìn)行查詢,也可以通過(guò)“高級(jí)查詢”按鈕進(jìn)入高級(jí)查詢頁(yè)面,通過(guò)多個(gè)字段進(jìn)行高級(jí)查詢。(8)報(bào)表打印功能: 本功能是附屬在房屋出租查詢窗體和房屋出售查詢窗體里的,可以將查詢得出的任何表格數(shù)據(jù)生成報(bào)表進(jìn)行打印。(9)房屋資料登記窗體: 功能主是要對(duì)房屋信息進(jìn)行登記,包括數(shù)據(jù)的添加、刪除、修改、查詢等操作。同時(shí)可以對(duì)數(shù)據(jù)表中的房屋資料進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)出未出租、已出租、未出售、已出售的房屋數(shù)量以及所有房屋的總數(shù)量。(10)客戶資料登記窗體:主要功能是對(duì)客戶資料進(jìn)行登記,包括對(duì)客戶資料數(shù)據(jù)的添加、刪除、修改等操作。同時(shí)可以對(duì)數(shù)據(jù)表中的房屋資料進(jìn)行查詢,主要是提供按客戶的姓名進(jìn)行查詢的功能。(11)系統(tǒng)維護(hù)窗體:主要功能是對(duì)操作數(shù)據(jù)庫(kù)的管理人員進(jìn)行各種資料的維護(hù)。如超級(jí)用戶登錄后可以增加管理員帳戶、增加客人帳戶、修改自身密碼、更換操作員;管理員用戶登錄后可以修改自身密碼、更換操作員。客人帳戶登錄后則不能進(jìn)行本單元的任何操作。(12)購(gòu)房常識(shí)管理窗體:主要功能是為購(gòu)房者提供一些購(gòu)房上的小常識(shí),為購(gòu)房者提供一些方便吧??梢詫?duì)購(gòu)房常識(shí)按標(biāo)題進(jìn)行查詢。(13)文檔管理:主要功能是通過(guò)程序調(diào)用word,打開“房屋租憑合同”、“商品房買賣合同”、“二手房屋買賣合同”、“居間協(xié)議”、“二手房買賣流程”等電子文檔,供購(gòu)房者和中介公司簽訂合同提供方便。2.2性能需求系統(tǒng)的運(yùn)行對(duì)運(yùn)行環(huán)境還有一些要求: 1.硬件環(huán)境處理器:Intel Pentium III或者更高。內(nèi)存: 128M。硬盤空間:3GB。顯卡:SVGA顯示適配器。2.軟件環(huán)境操作系統(tǒng):Windows 98/Me/2000/XP數(shù)據(jù)庫(kù):Access2000退出系統(tǒng)三.總體設(shè)計(jì)3.1系統(tǒng)模塊圖房屋出租登記模塊房屋出租查詢模塊房屋出售登記模塊閃現(xiàn)窗體模塊用戶登錄模塊收文登記模塊主窗體模塊單位文檔數(shù)據(jù)庫(kù)管理系統(tǒng)房屋出售查詢模塊房屋資料管理模塊客戶資料管理模塊文檔管理模塊購(gòu)房常識(shí)管理模塊系統(tǒng)維護(hù)模塊3.2系統(tǒng)流程圖閃現(xiàn)窗體模塊登錄類型選擇模塊主窗體模塊報(bào)表打印模塊購(gòu)房常識(shí)管理模塊文檔管理模塊客戶資料管理模塊房屋資料管理模塊房屋出售查詢模塊房屋出售登記模塊房屋出租查詢模塊房屋出租登記模塊3.4模塊設(shè)計(jì)按照需求分析的結(jié)果,本系統(tǒng)將分為以下幾大模塊,各模塊的功能及對(duì)應(yīng)的窗體名稱如下所示:(1)閃現(xiàn)窗體: 在登錄窗體之前出現(xiàn),主要顯示以下信息:一是顯示本系統(tǒng)的題目即:“房產(chǎn)中介管理系統(tǒng)”;二是顯示作者即本人;三是顯示一行信息,即“正在加載中”。(對(duì)應(yīng)窗體Form3)。(2) 登錄管理: 為了軟件和數(shù)據(jù)庫(kù)的安全,驗(yàn)證登錄人員的不同身份,防止非法用戶入侵系統(tǒng)。將登錄用戶分成三個(gè)層次:超級(jí)用戶、管理員、普通客戶。(對(duì)應(yīng)窗體Frm_login)。(3)主界面窗體: 本窗體的功能很簡(jiǎn)單,主要是為進(jìn)入本系統(tǒng)其它所有的功能窗體提供一個(gè)操作方便、界面美觀的基礎(chǔ)平臺(tái)。(對(duì)應(yīng)窗體Mainform)。(4)房屋出租登記窗體: 功能是對(duì)房屋出租信息進(jìn)行登記,主要是進(jìn)行添加出租信息的登記操作。(對(duì)應(yīng)窗體Frm_lenddetail)。(5)房屋出租信息查詢窗體: 功能主要是可以對(duì)所有的房屋出租的信息進(jìn)行查詢。(對(duì)應(yīng)窗體Frm_Querylend)。(6)房屋出售登記窗體: 功能是對(duì)房屋出售信息進(jìn)行登記,主要是進(jìn)行添加出售信息的登記操作。(對(duì)應(yīng)窗體Frm_saledetail)。(7)房屋出售信息查詢窗體: 功能主要是可以對(duì)所有的房屋出售的信息進(jìn)行查詢。(對(duì)應(yīng)窗體Frm_Querysale)。(8)報(bào)表打印功能: 本功能是附屬在房屋出租查詢窗體和房屋出售查詢窗體里的,可以將查詢得出的任何表格數(shù)據(jù)生成報(bào)表進(jìn)行打印。本部分主要通過(guò)第三方控件Ehlib來(lái)完成。(9)房屋資料登記窗體: 功能主是要對(duì)房屋信息進(jìn)行登記,包括數(shù)據(jù)的添加、刪除、修改、查詢、統(tǒng)計(jì)等操作。(對(duì)應(yīng)窗體Form1)。(10)客戶資料登記窗體:主要功能是對(duì)客戶資料進(jìn)行登記,包括對(duì)客戶資料數(shù)據(jù)的添加、刪除、修改、查詢等操作。(對(duì)應(yīng)窗體Form2)。(11)系統(tǒng)維護(hù)窗體:主要功能是對(duì)操作數(shù)據(jù)庫(kù)的管理人員進(jìn)行各種資料的維護(hù)。(用戶管理對(duì)應(yīng)窗體Frm_userpower;修改密碼對(duì)應(yīng)窗體Frm_userchgpwd;)。(12)購(gòu)房常識(shí)管理窗體:主要功能是為購(gòu)房者提供一些購(gòu)房上的小常識(shí),為購(gòu)房者提供一些方便吧。可以對(duì)購(gòu)房常識(shí)按標(biāo)題進(jìn)行查詢。(對(duì)應(yīng)窗體Frm_infolist)。(13)文檔管理:主要功能是通過(guò)程序調(diào)用word,打開“房屋租憑合同”、“商品房買賣合同”、“二手房屋買賣合同”、“居間協(xié)議”、“二手房買賣流程”等電子文檔,供購(gòu)房者和中介公司簽訂合同提供方便。3.4 數(shù)據(jù)流圖數(shù)據(jù)流圖主要是從數(shù)據(jù)流的角度來(lái)描述一個(gè)企事業(yè)組織的業(yè)務(wù)活動(dòng),它具體描述一個(gè)組織有哪幾個(gè)組成部分,也描述了來(lái)往于各部分之間的數(shù)據(jù)流。數(shù)據(jù)流圖有三個(gè)基本要素:數(shù)據(jù)流、加工、文件。數(shù)據(jù)流是由一組固定成分的數(shù)據(jù)組成。加工是對(duì)數(shù)據(jù)進(jìn)行的操作。文件是暫存貯的數(shù)據(jù)。由于本系統(tǒng)只有一步數(shù)據(jù)的錄入,并沒有數(shù)據(jù)的流動(dòng)、加工等,所以比較簡(jiǎn)單。本系統(tǒng)的數(shù)據(jù)流圖如下所示:處理信息數(shù)據(jù)庫(kù)客戶信息數(shù)據(jù)庫(kù)信息用戶查詢結(jié)果信息查詢信息用戶信息查詢 用戶3.5 數(shù)據(jù)庫(kù)設(shè)計(jì)3.5.1 ADO使用方法綜述本畢業(yè)設(shè)計(jì)就是用ADO操作數(shù)據(jù)庫(kù)data.mdb。在Delphi組件面板上有ADO組件頁(yè),其中前6個(gè)是ADO組件。在空白窗體上放置一個(gè)ADOConnection1組件,一個(gè)ADOTable1組件、一個(gè)DataSource1組件、一個(gè)DBGrid1組件。先設(shè)定一下部分組件屬性如下:設(shè)定DBGrid1組件的DataSource屬性為DataSource1,設(shè)定DataSource1組件的Dataset屬性為ADOTable1。雙擊ADOConnection1組件或者在其屬性列表中點(diǎn)擊ConnectionString后的省略號(hào)都可以打開連接字符串設(shè)定窗口如圖3-1:點(diǎn)擊“Build”按鈕,將打開數(shù)據(jù)連接屬性窗口如圖3-2 圖3-1 ConnectionString 所示,其中有四個(gè)頁(yè)面,在第一個(gè)“提供者”頁(yè)面中,列出了可以使用的各種驅(qū)動(dòng)數(shù)據(jù)庫(kù)驅(qū)動(dòng)。我們選擇Microsoft Jet 4.0 OLE DB Provider驅(qū)動(dòng)。選擇完畢數(shù)據(jù)庫(kù)驅(qū)動(dòng)后,點(diǎn)擊“連接”頁(yè)面,如圖3-3所示:在這里輸入或選擇數(shù)據(jù)庫(kù),這里我們查找選擇數(shù)據(jù)庫(kù)為“C:房屋中介管理系統(tǒng)data.mdb”,如果數(shù)據(jù)庫(kù)有密碼可將“空白密圖3-2 數(shù)據(jù)連接屬性的提供者碼”復(fù)選框去掉選擇,就可以輸入密碼,選中“允許保存密碼”這樣以后就可以無(wú)需再輸入密碼了。接下來(lái)可以點(diǎn)擊“測(cè)試連接”按鈕,如果提示“測(cè)試連接成功”那么說(shuō)明數(shù)據(jù)庫(kù)可正常連接上。在“高級(jí)”頁(yè)面中選擇訪問權(quán)限為“ReadWrite”。在“所有”頁(yè)面中顯示的是用戶目前設(shè)定的連接屬性,用戶可以再修改。點(diǎn)擊“確定”按鈕后返回到上圖,這時(shí)可以看到屬性設(shè)定字符串已經(jīng)自動(dòng)生成,點(diǎn)擊“OK”按鈕返回即可。再把ADOConnection1組件的LoginPrompt屬性設(shè)定為false,這樣以后程序在運(yùn)行時(shí)就不會(huì)彈出“密碼輸入框”了。但如果你的數(shù)據(jù)庫(kù)有密碼且在上面的“連接”頁(yè)面中沒有輸入密碼沒有選中“允許保存密碼”,那么不要把此屬性設(shè)定為false,因?yàn)槟阋院笮枰止ぽ斎朊艽a。接著設(shè)定ADOTable1組件的Connection屬性為ADOConnection1,單擊ADOTable1組件的tablename屬性后的省略號(hào),將可圖3-3 數(shù)據(jù)連接屬性的連接以看到數(shù)據(jù)庫(kù)liualiang.mdb中的所有數(shù)據(jù)表名稱列表,從中選擇一個(gè)如“表 1”,設(shè)定ADOTable1組件的Active屬性為True,則馬上可以在DbGrid中看到表中的數(shù)據(jù)了。如果馬上運(yùn)行程序就可以在窗口中瀏覽和編輯數(shù)據(jù)了。在本程序中,因?yàn)楹芏鄦卧家L問數(shù)據(jù)庫(kù),所以為了方便,使用一個(gè)單元Datamodule1,在單元里放置一個(gè)控件Adoconnection1用于統(tǒng)一連接數(shù)據(jù)庫(kù),其它單元要訪問時(shí),只要把a(bǔ)dotalbe或adoquery控件的數(shù)據(jù)源指向Datamodule1中的Adoconnection1控件就可以了。這樣大大減少了代碼量,減少了工作量。3.5.2 新建數(shù)據(jù)庫(kù)及字段運(yùn)行Microsoft公司的Office2000辦公軟件中的Access數(shù)據(jù)庫(kù)軟件。點(diǎn)擊菜單“文件”,在出現(xiàn)的菜單項(xiàng)中選擇“新建”菜單項(xiàng)。然后點(diǎn)擊“空數(shù)據(jù)庫(kù)”,在彈出的“文件新建數(shù)據(jù)庫(kù)”對(duì)話框中鍵入數(shù)據(jù)庫(kù)的名稱,本軟件中應(yīng)寫入data.mdb。這時(shí)系統(tǒng)將會(huì)自動(dòng)進(jìn)入詳細(xì)的數(shù)據(jù)庫(kù)設(shè)計(jì)窗體。我們選擇“使用設(shè)計(jì)器”創(chuàng)建表。在彈出的“表4_1”設(shè)計(jì)窗體中,依次寫入各個(gè)字段名以及他們相對(duì)應(yīng)的數(shù)據(jù)類型和說(shuō)明事項(xiàng)。設(shè)計(jì)好字段名后,關(guān)閉并保存表為“用戶信息表” 。雙擊“用戶信息表”然后在彈出的數(shù)據(jù)錄入窗體中錄入數(shù)據(jù),并保存。同時(shí)由于系統(tǒng)提供了房屋資料管理的功能,所以要在數(shù)據(jù)庫(kù)中增加“房屋資料”,它主要是用來(lái)保存房屋信息的,它的字段和類型如表4_2:表4_1 用戶信息表的描述字段名稱數(shù)據(jù)類型用戶名文本密碼文本用戶等級(jí)文本表4_2房屋資料的描述字段名稱數(shù)據(jù)類型位置文本樓層文本面積數(shù)字產(chǎn)權(quán)情況文本結(jié)構(gòu)文本價(jià)格數(shù)字狀態(tài)文本因?yàn)檐浖行枰膫€(gè)數(shù)據(jù)庫(kù)即“客戶資料”、“中介信息表”、“單位信息表”、“常識(shí)信息表”,所以還要在數(shù)據(jù)庫(kù)data.mdb中新建這幾個(gè)表,增加記錄的步驟也與上面增加記錄的步驟完全一樣。由于篇幅的限制,其它幾個(gè)表的結(jié)構(gòu)(包括詳細(xì)的字段名、類型、大?。┰谶@里,我就不一一列舉出來(lái)了。打開數(shù)據(jù)庫(kù)data.mdb就可以直接看到了。設(shè)計(jì)完成后,按同樣的方法向其中加入數(shù)據(jù),即幾條含有原始數(shù)據(jù)的記錄。這樣一個(gè)數(shù)據(jù)庫(kù)data.mdb就初步制作完成了。四.詳細(xì)設(shè)計(jì)根據(jù)已有的需求信息和總體設(shè)計(jì),可以進(jìn)行系統(tǒng)的詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)。系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)如下:4.1 系統(tǒng)項(xiàng)目文件 每一個(gè)Delphi工程都有一個(gè)項(xiàng)目文件,在本系統(tǒng)中,項(xiàng)目文件如下所示:program Mdiapp;uses Forms, windows, Sysutils, Classes, Main in MAIN.PAS MainForm, Common in Common.pas, SaleCause in SaleCause.pas Frm_SaleCause, base in base.pas Frm_Base, DataBase in DataBase.pas DataModule1: TDataModule, login in login.pas Frm_Login, UserChgPwd in UserChgPwd.pas Frm_UserChgPwd, SaleDetail in SaleDetail.pas Frm_SaleDetail, UserPower in UserPower.pas Frm_UserPower, QuerySale in QuerySale.pas Frm_QuerySale, SysSet in SysSet.pas Frm_SysSet, LendDetail in LendDetail.pas Frm_LendDetail, QueryLend in QueryLend.pas Frm_QueryLend, LendCause in LendCause.pas Frm_LendCause, InfoList in InfoList.pas Frm_InfoList, Unit1 in Unit1.pas Form1, Unit2 in Unit2.pas Form2, Unit3 in Unit3.pas Form3;$R *.RESvarform3:tform3;begin Application.Initialize; form3:=tform3.Create(form3); /這里是啟動(dòng)閃現(xiàn)窗體 form3.makesplash; /啟動(dòng)閃現(xiàn)窗體的延時(shí)程序 gs_WorkPath := ExtractFilePath(Application.EXEName); /得到可執(zhí)行文件的路徑 / 打開數(shù)據(jù)庫(kù)模板 Application.Title := 房產(chǎn)中介管理系統(tǒng); Application.CreateForm(TDataModule1, DataModule1); Application.CreateForm(TMainForm, MainForm); Application.CreateForm(TForm3, Form3); MainForm.show; / 連接數(shù)據(jù)庫(kù) if f_ConnectDataBase()=False then begin Application.MessageBox(連接數(shù)據(jù)庫(kù)出錯(cuò),可能原因有:#13#101. 配置文件 exhib.ini 的數(shù)據(jù)庫(kù)配置小節(jié)有問題nr#13#102. 本系統(tǒng)運(yùn)行路徑不對(duì)#13#103. 本機(jī)未安裝數(shù)據(jù)庫(kù)的 Client 端驅(qū)動(dòng)程序#13#104. 其他問題#13#10請(qǐng)與管理員聯(lián)系.,系統(tǒng)出錯(cuò),MB_OK); Application.Terminate; end; / 系統(tǒng)參數(shù)初始化 f_SysParmInit(); / 顯示登錄窗口 Frm_login:=TFrm_Login.Create(Application); try Frm_Login.ShowModal; if Frm_Login.login=True then begin / 為登錄用戶定制界面 MainForm.StatusBar.Panels0.text :=gs_OrgName; MainForm.StatusBar.Panels1.text :=操作員:+gs_Login_UserName; MainForm.StatusBar.Panels2.text :=工作日期:+FormatDateTime(yyyy-mm-dd,gt_login_time); / MainForm.f_InitUserMenu; / 打開查詢窗口 end else begin Application.Terminate; end; Finally Frm_Login.Free; end; / form3.Close; /關(guān)閉閃現(xiàn)窗體 form3.Free; /釋放閃現(xiàn)窗體 Application.Run; end. 4.1 閃現(xiàn)窗體的實(shí)現(xiàn)(1)閃現(xiàn)窗體的實(shí)際運(yùn)行圖(2)實(shí)現(xiàn)的方法:首先,制作一個(gè)名為Form3的窗體。畫面如上圖所示。其次,在其中加入一個(gè)過(guò)程,即一個(gè)延時(shí)程序的過(guò)程:makesplah。代碼如下:procedure tform3.makesplash;begin borderstyle:=bsnone; show; update; sleep(2000);end;第三,在工程文件代碼中將入以下語(yǔ)句:一是在開始部分加上:form3:=tform3.Create(form3); form3.makesplash;二是在最后結(jié)果部分加上:form3.Close; /關(guān)閉閃現(xiàn)窗體 form3.Free; /釋放閃現(xiàn)窗體具體可以參見上上頁(yè)的哪一段工程項(xiàng)目文件的源程序。4.2 用戶登錄模塊 (1)用戶登錄模塊的窗體效果圖 (2)核心代碼解釋: 在輸入登錄密碼后,按“確定”后觸發(fā)的事件。procedure TFrm_Login.bbtnokClick(Sender: TObject);begin /錄入檢驗(yàn) if cbUserId.text= then begin messagedlg(請(qǐng) 選 擇 用 戶 名 !,mtInformation,mbok,0); cbUserId.SetFocus(); exit; end; /登錄驗(yàn)證 with ADOQ_Temp do begin close; SQL.Clear; SQL.Add(SELECT * From 用戶信息表 Where 用戶名=+cbUserId.Text+); Open; /用戶有效性 IF not IsEmpty then begin /登錄失敗 If edtPassword.Text Fieldbyname(密碼).AsString then begin messagedlg(口令錯(cuò)誤,請(qǐng)修改 !,mterror,mbok,0); LoginNum:=LoginNum+1; if LoginNum=3 then begin messagedlg(非法用戶!你無(wú)權(quán)使用本系統(tǒng),mterror,mbok,0); application.Terminate ; end; edtPassword.Text :=; edtPassword.SetFocus; exit; end /登錄成功 else begin /保存登錄的用戶信息 gs_login_userid :=fieldbyname(用戶名).asstring; gs_login_username :=fieldbyname(用戶名).asstring; gs_login_userlevel :=fieldbyname(用戶等級(jí)).asstring; gs_login_Password :=fieldbyname(密碼).asstring; gt_login_time:=now(); Login:=true; self.close; end; end else begin messagedlg(指定的用戶已被注銷!你無(wú)權(quán)使用本系統(tǒng)!,mterror,mbok,0); Login:=False; self.close; end; end;end;4.3 主窗體模塊 本模塊的主要功能是:為進(jìn)入本系統(tǒng)其它所有的功能窗體提供一個(gè)操作方便、界面美觀的基礎(chǔ)平臺(tái)。 (1)窗體效果圖如下: (2)核心代碼解釋:一是:登錄用戶類型不同,權(quán)限不同的代碼解釋:function TMainForm.f_InitUserMenu():Boolean;begin if gs_login_userlevel=超級(jí)用戶 then begin m_state_1.Enabled :=true; m_state_2.Enabled :=true; m_state_3.Enabled :=true; m_system_UserPower.Enabled :=true; / m_system_sysset.Enabled :=true; end else if gs_login_userlevel=管理員 then begin m_state_1.Enabled :=true; m_state_2.Enabled :=true; m_state_3.Enabled :=true; end else begin / 普通客戶,限制使用好幾個(gè)菜單 m_operation_Lend.Enabled :=false; m_operation_Sale.Enabled :=false; btnLendDetail.Enabled :=false; btnSaleDetail.Enabled :=false; n3.Enabled:=false; n4.Enabled:=false; end; / Result:=True;end;二是:文檔管理菜單中打開word文檔的核心代碼解釋:如打開“文檔租憑合同文檔”:procedure TMainForm.m_state_1Click(Sender: TObject);vars:string;varword:variant;begins:=ExtractFilePath(Application.EXEName)+programdocdoc1.doc;try varword:=createoleobject(word.basic); varword.fileopen(s); varword.appshow; except showmessage(運(yùn)行Microsoft word 失敗!); end;end;4.4 房屋出租登記窗體功能是對(duì)房屋出租信息進(jìn)行登記,主要是進(jìn)行添加出租信息的登記操作。(1)窗體效果圖如下:(2)窗體的“保存”按鈕的代碼解釋procedure TFrm_LendDetail.btnOkClick(Sender: TObject);var strSQL :string; strCode :string;begin inherited; / 檢查數(shù)據(jù)錄入的有效性 if f_CheckValue()=False then exit; / 數(shù)據(jù)保存處理 DataModule1.ADOConnection1.BeginTrans; try ADOQ_Data.UpdateBatch; / DataModule1.ADOConnection1.CommitTrans; except DataModule1.ADOConnection1.RollbackTrans; MessageBox(handle,數(shù)據(jù)保存失??!,警告,MB_OK); exit; end; MessageBox(handle,數(shù)據(jù)保存成功!,提示,MB_OK+MB_ICONINFORMATION); / 繼續(xù)新增 if ParmEditorMode = ADD then begin ParmId :=; FormShow(nil); end;end;4.4房屋出租查詢模塊(1)本模塊的窗體效果圖如下所示:(2)“查詢”的核心代碼與解釋:procedure TFrm_QueryLend.btnFindClick(Sender: TObject);var strFilter:string;begin inherited; / 構(gòu)造過(guò)濾條件 strFilter := ; if trim(edtNo.text) then strFilter := strFilter + (收件號(hào) like +%+edtNo.text+%)+ AND ; / if rdoStatus.itemindex=1 then begin strFilter := strFilter + 狀態(tài)=+未處理+ AND ; end else if rdoStatus.itemindex=2 then begin strFilter := strFilter + 狀態(tài)=+已處理+ AND ; end else if rdoStatus.itemindex=3 then begin strFilter := strFilter + 狀態(tài)=+已作廢+ AND ; end; / if strFilter then strFilter :=copy( strFilter,0,Length(strFilter)-5 ); /過(guò)濾查詢 if strFilter= then begin ADOQ_Data.Filtered:=false; end else begin ADOQ_Data.Filtered:=true; ADOQ_Data.Filter:=strFilter; end;end;4.5 房屋資料登記模塊(1)本模塊的窗體效果圖如下所示(2)本模塊中“查詢”按鈕的核心代碼解釋如下:注意這里我用的查詢方法與上面用到的查詢方法不一樣,以體現(xiàn)查詢方法的多樣性。procedure TForm1.btnFindClick(Sender: TObject);vars:string;begin inherited; if edtTitle.Text then begin s:=select * from 房屋資料 where 位置 like %+edtTitle.Text +%; ADOQ_Data.close; adoq_data.SQL.Clear; adoq_data.SQL.add(s); adoq_data.Open; end else begin ADOQ_Data.Filtered:=false; end; (3)本模塊中還有一個(gè)統(tǒng)計(jì)功能,用于對(duì)數(shù)據(jù)表中的房屋資料進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)出未出租、已出租、未出售、已出售的房屋數(shù)量以及所有房屋的總數(shù)量。其核心代碼如下(僅列出統(tǒng)計(jì)“已出租”房屋數(shù)量的代碼,其余與些相同):adoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.add(select * from 房屋資料 where 狀態(tài)=已出租);adoquery1.Open;n:=adoquery1.RecordCount;edit2.Text:=inttostr(n);4.6改變密碼模塊(1)本模塊的窗體效果圖如下所示:(2)本模塊中修改密碼的代碼解釋如下:procedure TFrm_UserChgPwd.bbtnOkClick(Sender: TObject);var sqlstr:string;begin inherited; if edtoldpassword.textgs_login_password then begin messagedlg(舊密碼輸入錯(cuò)誤!,mterror,mbok,0); exit; end; if edtnewpassword.Textedtnewpassword2.Text then begin messagedlg(新密碼兩次輸入不一致!,mterror,mbok,0); exit; end else begin sqlstr:=UPDATE 用戶信息表 SET 密碼=+edtnewpassword.Text+ where 用戶名=+gs_login_userid+; DataModule1.ADOConnection1.Execute(sqlstr); messagedlg(修改完成,密碼已經(jīng)改變!,mtinformation,mbok,0); close; end;end;4.8其它模塊:由于編幅的原因,我不可能把所有的模塊都一一介紹到了,還有幾個(gè)模塊,如“房屋出售登記模塊”、“房屋出售查詢模塊”、“購(gòu)房常識(shí)模塊”、“客房資料登記模塊”等由于和已經(jīng)介紹的部分模塊在代碼上大同小異,在此省略了。4.8本軟件所用控件的安裝及使用方法本軟件根據(jù)編程的需要一共使用了一個(gè)第三方控件Ehlib表格增強(qiáng)控件,使用它的目的主要一是系統(tǒng)功能的需要,第二個(gè)也是鍛煉自己使用第三方控件的本領(lǐng),如第三方控件的安裝,使用等。 Ehlib表格增強(qiáng)控件它的安裝方法如下:在File菜單下,選擇“OPEN”打開Ehlib安裝包中的Ehlib.dpk文件(文件類型列表框中選*.dpk),在出現(xiàn)的Package窗口中,工具欄上有Install按鈕,按此按鈕即可進(jìn)行安裝。如果Install按鈕處于無(wú)效狀態(tài),那么先按Compile按鈕編譯,一般來(lái)說(shuō)編譯之后Install按鈕就會(huì)處于有效狀態(tài),此時(shí)再按Install按鈕就可以了。Ehlib控件是一系列表格增強(qiáng)控件的組合。本軟件主要用到其中的兩個(gè)組件: TDBGridEh 組件和TPrintDBGridEh 組件。 TDBGridEh 組件:這是對(duì)Delphi自帶的TDbgrid控件的增強(qiáng)改進(jìn)版,它包含了所有TDbgrid的功能,并增加
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動(dòng)合同書(供以完成一定任務(wù)為期限的市場(chǎng)營(yíng)銷專員)
- 貨物運(yùn)輸合同糾紛代理合同
- 國(guó)際結(jié)算保函抵押外匯借貸合同
- 補(bǔ)償貿(mào)易返銷合同樣本
- 二手車交易流程與手續(xù)辦理考核試卷
- 光電儀器原理與檢測(cè)技術(shù)考核試卷
- 農(nóng)產(chǎn)品初加工的農(nóng)產(chǎn)品加工質(zhì)量控制考核試卷
- 文化產(chǎn)業(yè)項(xiàng)目對(duì)接會(huì)考核試卷
- 健身器材行業(yè)用戶研究與市場(chǎng)細(xì)分考核試卷
- 小學(xué)生作文入門格式課件
- 各類應(yīng)急風(fēng)險(xiǎn)預(yù)案的防范
- 火鍋店新產(chǎn)品研發(fā)方案
- 2024年基金應(yīng)知應(yīng)會(huì)考試題庫(kù)
- 2024年河北省公務(wù)員錄用考試《行測(cè)》試題及答案解析
- 科學(xué)四年級(jí)下冊(cè)第一單元第4課《車來(lái)了》課件
- 陶瓷制品產(chǎn)業(yè)鏈優(yōu)化與協(xié)同創(chuàng)新
- 骨骼肌損傷的再生修復(fù)
- 全國(guó)職業(yè)院校技能大賽高職組(建筑信息模型建模與應(yīng)用賽項(xiàng))備賽試題庫(kù)(含答案)
- 《增廣賢文》全文及解釋(珍藏版)
- 中小學(xué)美術(shù)教學(xué)論
- 新編建筑裝飾設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論