![房地產(chǎn)銷售管理信息系統(tǒng)的開發(fā)與設(shè)計(jì)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/1ebfe70b-2d7d-4b19-8693-dffcf8a7032b/1ebfe70b-2d7d-4b19-8693-dffcf8a7032b1.gif)
![房地產(chǎn)銷售管理信息系統(tǒng)的開發(fā)與設(shè)計(jì)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/1ebfe70b-2d7d-4b19-8693-dffcf8a7032b/1ebfe70b-2d7d-4b19-8693-dffcf8a7032b2.gif)
![房地產(chǎn)銷售管理信息系統(tǒng)的開發(fā)與設(shè)計(jì)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/1ebfe70b-2d7d-4b19-8693-dffcf8a7032b/1ebfe70b-2d7d-4b19-8693-dffcf8a7032b3.gif)
![房地產(chǎn)銷售管理信息系統(tǒng)的開發(fā)與設(shè)計(jì)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/1ebfe70b-2d7d-4b19-8693-dffcf8a7032b/1ebfe70b-2d7d-4b19-8693-dffcf8a7032b4.gif)
![房地產(chǎn)銷售管理信息系統(tǒng)的開發(fā)與設(shè)計(jì)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/1ebfe70b-2d7d-4b19-8693-dffcf8a7032b/1ebfe70b-2d7d-4b19-8693-dffcf8a7032b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上房地產(chǎn)銷售管理信息系統(tǒng)的開發(fā)與設(shè)計(jì)1 緒 論從20世紀(jì)80年代開始、隨著計(jì)算機(jī)硬件和軟件技術(shù)的發(fā)展,特別是計(jì)算機(jī)和通信網(wǎng)絡(luò)技術(shù)的日趨融合,信息化給企業(yè)帶來了巨大的變化,信息技術(shù)在企業(yè)中的應(yīng)用不再局限于企業(yè)活動(dòng)的某些環(huán)節(jié),而是逐步地滲透到企業(yè)活動(dòng)的各個(gè)領(lǐng)域、各個(gè)環(huán)節(jié),極大地改變了企業(yè)的生產(chǎn)、流通和組織管理方式,推動(dòng)了企業(yè)物資流、資金流和信息流的相互融合。憑借IT信息技術(shù)和現(xiàn)代管理思想,在這樣一個(gè)多元化的信息社會(huì)里建立房地產(chǎn)銷售平臺(tái)是大勢(shì)所趨。房地產(chǎn)管理是一項(xiàng)復(fù)雜的工作,它應(yīng)該非常及時(shí)地了解樓盤目前的基本信息,而且能方便的添加、編輯和查詢樓盤的資料。同時(shí),房地產(chǎn)的銷售要和
2、大量的客戶接觸,所以這個(gè)銷售系統(tǒng)要能夠記錄相應(yīng)客戶的信息和需求等等。1.1 開發(fā)環(huán)境的簡(jiǎn)介在對(duì)房地產(chǎn)銷售管理信息系統(tǒng)的設(shè)計(jì)中,本文采用了visual basic 6.0 作為開發(fā)工具,sql server 2000作為數(shù)據(jù)庫(kù)管理工具。Visual Basic 6.0 是用來創(chuàng)建高性能的企業(yè)應(yīng)用程序及基于 Web的應(yīng)用程序的最有效工具。Visual Basic 6.0 使開發(fā)者得以創(chuàng)建駐留在客戶或服務(wù)器上或運(yùn)行在分布式 n-層環(huán)境里的強(qiáng)壯應(yīng)用程序 。是快速創(chuàng)建以數(shù)據(jù)為中心的企業(yè)解決方案的完全套件。而SQL Server 2000則是目前最優(yōu)秀的數(shù)據(jù)庫(kù)管理系統(tǒng)之一,以其易用性得到很多用戶的青睞。
3、它包括支持開發(fā)的引擎、標(biāo)準(zhǔn)的SQL語(yǔ)言、擴(kuò)展的特性(如復(fù)制、OLAP、分析)等功能。1. 2 Visual Basic 6.0 簡(jiǎn)介 VB是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序。它簡(jiǎn)單易學(xué)、效率高,且功能強(qiáng)大可以與Windowsr專業(yè)開發(fā)工具SDK相媲美。在VisualBasic環(huán)境下,利用事件驅(qū)動(dòng)的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具,使用Windows內(nèi)部的廣泛應(yīng)用程序接口(SPI)函數(shù),以用動(dòng)態(tài)鏈接庫(kù)(DLL)、對(duì)象的鏈接與世隔嵌入(OLE)、開放式數(shù)據(jù)連接(ODBC)等技術(shù),可以高效、快速地開發(fā)Windows環(huán)境下
4、功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。隨著版本的提高,Visual Basic的功能也越來越強(qiáng)。5.0版以后,Visual Basic推出了中文版,與前個(gè)版本相比,其功能有了很大提升。Visual Basic 6.0 是1998年的產(chǎn)品,后來又有幾次的升級(jí),現(xiàn)在用的大多數(shù)是SP4.1. 3 SQL Server 2000簡(jiǎn)介SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫(kù)管理系統(tǒng),該版本繼承了SQL Server 7.0 版本的優(yōu)點(diǎn)同時(shí)又比它增加了許多更先進(jìn)的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn)。SQL Server 2000 中包括
5、一系列管理和開發(fā)工具,這些工具可改進(jìn)在多個(gè)站點(diǎn)上安裝、部署、管理和使用 SQL Server 的過程。SQL Server 2000 還支持基于標(biāo)準(zhǔn)的、與 Windows DNA 集成的程序設(shè)計(jì)模型,使 SQL Server 數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)的使用成為生成強(qiáng)大的可伸縮系統(tǒng)的無縫部分。這些功能使您得以快速交付 SQL Server 應(yīng)用程序,使客戶只需最少的安裝和管理開銷即可實(shí)現(xiàn)這些應(yīng)用程序。 數(shù)據(jù)倉(cāng)庫(kù)。 SQL Server 2000 中包括析取和分析匯總數(shù)據(jù)以進(jìn)行聯(lián)機(jī)分析處理 (OLAP) 的工具。SQL Server 中還包括一些工具,可用來直觀地設(shè)計(jì)數(shù)據(jù)庫(kù)并通過 English Quer
6、y 來分析數(shù)據(jù)1.2 前臺(tái)和后臺(tái)數(shù)據(jù)庫(kù)的連接本論文前臺(tái)和后臺(tái)的數(shù)據(jù)庫(kù)連接是采用ADO控件來實(shí)現(xiàn)的,ADO控件直接支持SQL結(jié)構(gòu)化查詢語(yǔ)言,使用它可以用最少的代碼創(chuàng)建數(shù)據(jù)庫(kù)應(yīng)用程序。而ADO控件操作簡(jiǎn)易,使用方便。ADO數(shù)據(jù)控件常見的屬性有ConnectionString屬性、CommadandType屬性、CursorLocation屬性、LockType屬性、RecordSource屬性。實(shí)例化ADO數(shù)據(jù)控件時(shí),需要對(duì)這些屬性進(jìn)行賦值,代碼如下實(shí)例化ADO控件:ADO1 ADO1.ConnectionString = ConnectionString 設(shè)置ADO控件的連接字符串 ADO1.C
7、ommandTye = adCmdText 定義CommandType;類型 ADO1.CursorLocation = adUseClient 定義CursorLocation位置 ADO1.LockType = adLockPessimistic 定義LockType 類型 ADO1.RecordSoure = “select * from 樓房信息表 定義數(shù)據(jù)源,結(jié)構(gòu)SQL語(yǔ)句 ADO1.Refresh 刷新 2 系統(tǒng)的分析2. 1 理解分析在房地產(chǎn)開發(fā)過程中,樓盤銷售是非常重要的環(huán)節(jié),也是房地產(chǎn)開發(fā)的關(guān)鍵環(huán)節(jié),如何提供樓盤銷售服務(wù)之戀,也是顯的非常迫切的,而且通關(guān)管理系統(tǒng),可以來規(guī)范和
8、管理銷售過程的各個(gè)環(huán)節(jié),并提供相關(guān)信息。這樣,可以極大的提高服務(wù)質(zhì)量和效率。2. 2 需求分析樓盤銷售管理主要負(fù)責(zé)管理房屋信息,并對(duì)房屋進(jìn)行定價(jià),然后進(jìn)行銷售,為用戶提供不同信息統(tǒng)計(jì)分析,滿足管理人員需求。該系統(tǒng)主要包括房屋信息管理和銷售信息管理兩大部分。 房屋信息管理:主要負(fù)責(zé)管理房屋的基本信息,包括樓房信息和房間信息 銷售信息管理:主要負(fù)責(zé)客戶信息、房屋定價(jià)、房屋銷售以及統(tǒng)計(jì)分析樓盤銷售管理系統(tǒng)是為了滿足用戶進(jìn)行樓盤銷售而開發(fā)的。所以,樓旁銷售管理系統(tǒng)應(yīng)達(dá)到以下目標(biāo): 減少人工的參與和基礎(chǔ)信息的錄入,具有良好的自治功能和信息循環(huán) 能夠方便地廣利客戶資料 能夠根據(jù)市場(chǎng)變化對(duì)房屋進(jìn)行定價(jià) 能夠
9、管理所有的房屋信息,包括房信息和房間信息 能夠快速的進(jìn)行房屋信息的查詢3 系統(tǒng)功能模塊設(shè)計(jì)根據(jù)對(duì)樓盤銷售管理系統(tǒng)的需求分析,一個(gè)標(biāo)準(zhǔn)的樓銷售管理系統(tǒng)應(yīng)該包括房屋信息管理和銷售信息管理功能,如圖3.1所示。每一個(gè)功能模塊都包含了一系列的子功能。樓盤銷售管理系統(tǒng)房屋信息管理銷售信息管理 圖3.13.1 房屋信息管理房屋信息管理模塊用來管理樓房信息和房間信息,它包括樓房管理、房間管理和信息查詢3個(gè)子功能,如圖下房屋信息管理樓房管理房間管理信息查詢樓房管理功能實(shí)現(xiàn)對(duì)樓房信息的維護(hù)這類信息主要包括樓房號(hào)、樓名、所處位置、占地面積、總投資、層數(shù)、房間數(shù)、簡(jiǎn)介等。該模塊提供對(duì)信息的增加、修改和刪除功能。房間
10、管理功能實(shí)現(xiàn)對(duì)房間信息的維護(hù)。這類信息主要包括房間號(hào)、樓房號(hào)、位置、房間大小、適用戶型、銷售狀態(tài)、簡(jiǎn)介、成本價(jià)、銷售價(jià)、折扣率等。該模塊提供增加、修改刪除功能。信息查詢系統(tǒng)功能實(shí)現(xiàn)對(duì)樓房信息和房間信息的查詢。該模塊提供模式匹配和多條件查詢。3.2 銷售信息管理銷售信息管理模塊主要用來管理樓盤銷售情況,包括客戶信息、房屋定價(jià)、房屋銷售、統(tǒng)計(jì)分析4個(gè)子功能,如下圖銷售信息管理客戶信息房屋定價(jià)房屋銷售統(tǒng)計(jì)分析 圖3.31 客戶信息客戶信息功能主要實(shí)現(xiàn)客戶基本信息維護(hù)。這類信息主要包括編號(hào)、姓名、性別、出生日期、婚否、家庭成員數(shù)、職位、身份證號(hào)、經(jīng)濟(jì)收入、備注。2. 房屋定價(jià)房屋定價(jià)功能主要實(shí)現(xiàn)對(duì)房間
11、的統(tǒng)一定價(jià),涉及的信息包括成本價(jià)、銷售價(jià)格、折扣率。成本價(jià)是指房屋的成本價(jià)格:銷售價(jià)格是指房屋待銷售的價(jià)格;折扣率是指樓旁銷售時(shí)的折扣率。 3. 房屋銷售房屋銷售功能實(shí)現(xiàn)對(duì)房屋銷售信息的記錄。記錄的信息包括銷售ID、房間號(hào)、樓房號(hào)、客戶編號(hào)、成本價(jià)、銷售價(jià)、折扣率、利潤(rùn)、付款方式、交易日期、備注等。銷售ID為標(biāo)示種子,自增為1;銷售價(jià)是指打折后的銷售價(jià)格;利潤(rùn)=銷售價(jià)-成本價(jià)。 4. 統(tǒng)計(jì)分析 統(tǒng)計(jì)分析功能主要實(shí)現(xiàn)對(duì)樓旁銷售信息的統(tǒng)計(jì)分析。它通過多條件進(jìn)行分析,分析條件主要有樓房號(hào)、利潤(rùn)、付款方式。4 數(shù)據(jù)庫(kù)設(shè)計(jì)根據(jù)系統(tǒng)需求,需要建立四張表,即樓房信息表格、房間信息表、客戶信息表、銷售記錄表。
12、4.1.1 樓房信息表樓房信息表負(fù)責(zé)樓房信息,主要包括樓房號(hào)、樓名、所處位置、占地面積、總投資、層數(shù)、房間數(shù)、簡(jiǎn)介等,表結(jié)構(gòu)如下:4.1.2 房間信息表房間信息表負(fù)責(zé)維護(hù)房間信息,主要包括房間號(hào)、樓房號(hào)、位置、房間大小、適用戶型、銷售狀態(tài)、簡(jiǎn)介、成本價(jià)、折扣率等,表結(jié)構(gòu)如下4.1.3 客戶信息表客戶信息表格主要用語(yǔ)維護(hù)客戶的基本信息,主要包括看了客戶編號(hào)、姓名、性別、出生日期、婚否、家庭成員數(shù)、職位、身份證號(hào)、經(jīng)濟(jì)收入、備注等,表結(jié)構(gòu)如下4.1.4 銷售記錄表銷售記錄表用于對(duì)房間進(jìn)行銷售,記錄銷售記錄,主要包括銷售ID、房間號(hào)、樓房號(hào)、客戶編號(hào)、成本價(jià)、銷售價(jià)、折扣率、利潤(rùn)、付款方式、交易日期
13、、備注等,表結(jié)構(gòu)如下:4.2 E-R圖 4.3 在SQL sever2000中實(shí)現(xiàn)表創(chuàng)建的SQL語(yǔ)句 樓盤銷售管理系統(tǒng)需要適用ListView控件和TreeView控件,以及如何結(jié)構(gòu)SQL多條件查詢語(yǔ)語(yǔ)句。4.3.1 適用ListView控件顯示數(shù)據(jù)ListView控件是一個(gè)Windows公共控件。作為一個(gè)增強(qiáng)功能的列表框,顯示更多的信息。ListView控件可以適用4種不同試圖顯示項(xiàng)目,通過這些控件,可將項(xiàng)目組成有或沒有列標(biāo)頭的列,并顯示伴隨的圖標(biāo)和文本,這樣可以直觀而方便地瀏覽各個(gè)對(duì)象的數(shù)據(jù)。ListView控件并不是默認(rèn)的工具箱的配置項(xiàng)目,必須手工添加引用不撿,此外就是通過代碼來控制Li
14、stView控件與數(shù)據(jù)的關(guān)聯(lián)了,其代碼如下所示:Private Sub LoadData()。'裝載數(shù)據(jù) Dim list As ListItem Dim key As String Set rs = Nothing SQLStr = "SELECT * FROM 樓房信息表 ORDER BY buildingID" Set rs = SelectSQL(SQLStr, msg) '查詢樓房信息 ListView1.ListItems.Clear '清空ListView控件 If rs.RecordCount = 0 Then '如果不存在樓
15、房信息,添加按鈕可用,其他按鈕不可用 CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = False CmdCancel.Enabled = False: CmdSave.Enabled = False Else '如果存在樓房信息,初始化ListView控件 rs.MoveFirst Do Until rs.EOF key = rs.Fields("buildingID") & rs.Fields("bdname") Set list = ListV
16、iew1.ListItems.Add(, , key, 1) rs.MoveNext Loop '編輯控件可用性 CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True CmdCancel.Enabled = False: CmdSave.Enabled = False rs.MoveFirst '返回到第一條記錄 End If '設(shè)置控件Enable值 Call CtrEnable(False)End SubPrivate Sub CtrEnable(flag As Boole
17、an)'設(shè)置控件的Enable值 txtBuildingId.Enabled = flag txtName.Enabled = flag txtArea.Enabled = flag txtInvest.Enabled = flag txtFloors.Enabled = flag txtRooms.Enabled = flag txtPosition.Enabled = flag txtNotes.Enabled = flagEnd SubPrivate Sub ShowData()'在控件中顯示數(shù)據(jù) If rs.RecordCount <> 0 Then
18、9;如果存在記錄 '為控件賦值 txtBuildingId.Text = rs.Fields("buildingID") txtName.Text = rs.Fields("bdname") txtArea.Text = rs.Fields("area") txtInvest.Text = rs.Fields("investment") txtFloors.Text = rs.Fields("layers") txtRooms.Text = rs.Fields("roomN&q
19、uot;) txtPosition.Text = rs.Fields("bdposition") txtNotes.Text = rs.Fields("bdintroduction") End IfEnd SubPrivate Sub ListView1_Click()'在控件中顯示樓房信息 Dim key As String If rs.RecordCount > 0 Then key = Trim(ListView1.SelectedItem) SQLStr = " SELECT * FROM 樓房信息表 WHERE buil
20、dingID='" & Left(key, 4) & "'" Set rs = SelectSQL(SQLStr, msg) Call ShowData '重新顯示數(shù)據(jù) End IfEnd SubPrivate Sub CmdAdd_Click()'添加操作 Call CtrClear '所有控件重置 Call CtrEnable(True) '設(shè)置控件Enable值為可用 flag = "Add" '設(shè)置標(biāo)志flag,表示所進(jìn)行的操作為添加 '添加、修改、刪除按鈕
21、不可用,取消、保存按鈕可用 CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False CmdCancel.Enabled = True: CmdSave.Enabled = TrueEnd Sub用戶單擊ListView的ListItem來觸發(fā)ListView的Click事件,并通過查詢語(yǔ)句查詢所單擊的ListItem對(duì)應(yīng)的樓房數(shù)據(jù),最后用Text文本顯示出來。這樣,ListView很好的發(fā)揮了圖形功能,讓界面更有人性化4.3.2 適用TreeView控件顯示結(jié)構(gòu)TreeView控件為用戶提供了一種
22、按層次結(jié)構(gòu)顯示信息的方式,它包含了稱作節(jié)點(diǎn)(node)的條目列表,每一節(jié)點(diǎn)都可以有自己的節(jié)點(diǎn),從而提供一種更深層次的數(shù)據(jù)定義,每個(gè)節(jié)點(diǎn)都可以被折疊起來,從而允許訪問者在一個(gè)Treeviewk控件中查找,只查看所感興趣的那一級(jí)的數(shù)據(jù),如某一樓房的各個(gè)房間數(shù)據(jù),Node對(duì)象是TreeView控件中的一線,它包含圖像和文本,Nodes集合包含一個(gè)或多個(gè)Node對(duì)象,語(yǔ)法如下: Treeview.Nodes,treeview.Nodes.Item(index)。4.3.3 SQL多條查詢語(yǔ)句結(jié)構(gòu)在統(tǒng)計(jì)分析模塊中,需要通過多條件進(jìn)行分析。分析條件主要有樓房號(hào)、利潤(rùn)以及付款方式。實(shí)現(xiàn)該功能,只需把各個(gè)查詢
23、語(yǔ)句連接起來,構(gòu)造SQL語(yǔ)句,其代碼如下:Private Sub CmdQuery_Click()'分析銷售信息,構(gòu)造SQL語(yǔ)句 SQLStr = "select * from 銷售記錄表 where 1=1 " If ChkBuildingId.Value = 1 Then '如果通過樓房號(hào)來進(jìn)行分析 If Trim(CobBuildingId.Text) <> "所有" Then SQLStr = SQLStr & " and buildingID='" & Left(Trim(
24、CobBuildingId.Text), 4) & "'" End If End If If ChkMethod.Value = 1 Then '如果通過付款方式來進(jìn)行分析 SQLStr = SQLStr & " and payment='" & Trim(CobMethod.Text) & "'" End If If ChkProfit.Value = 1 Then '如果通過利潤(rùn)來進(jìn)行分析 SQLStr = SQLStr & " and pr
25、ofit between " & txtRoomArea1 & " and " & txtRoomArea2 End If Set rs = SelectSQL(SQLStr, msg) Set DataGrid1.DataSource = rs DataGrid1.RefreshEnd Sub5系統(tǒng)主界面系統(tǒng)主界面主要用于構(gòu)建系統(tǒng)的主窗體,并編寫一些公共模塊,方便其他子窗體構(gòu)建和調(diào)用。5.1 系統(tǒng)主窗體系統(tǒng)主窗體主要由窗體本身和菜單構(gòu)成。首先建立一個(gè)工程,然后創(chuàng)建系統(tǒng)主窗體,主窗體的菜單,并在主窗體中添加窗體代碼,來處理接各個(gè)子窗體的關(guān)系
26、。樓盤銷售管理系統(tǒng)的主界面如下:主窗體屬性設(shè)置如下:在主窗體中調(diào)用、切換不同界面,進(jìn)行相應(yīng)功能的實(shí)現(xiàn),其代碼如下:Private Sub building_Click() frmbuilding.Show '打開樓房管理界面End SubPrivate Sub custom_Click() frmcustomer.Show '打開客戶信息界面End SubPrivate Sub info_Click() frminfo.Show '打開信息查詢界面End SubPrivate Sub mnuEnd_Click() Unload Me '結(jié)束End SubPriv
27、ate Sub price_Click() frmprice.Show '打開房屋定價(jià)界面End SubPrivate Sub room_Click() frmroom.Show '打開房間管理界面End SubPrivate Sub sale_Click() frmsale.Show '打開樓盤銷售界面End SubPrivate Sub statistics_Click() frmstatistics.Show '打開統(tǒng)計(jì)分析界面End Sub5.2公共模塊在Visual Basic 中可以使用公共模塊來存放整個(gè)項(xiàng)目所需要的公用函數(shù)和全局變量,來提高代碼的利
28、用率,在項(xiàng)目資源管理器重為項(xiàng)目添加一個(gè)Module,保存為OperateData.bas。OpweateData公共模塊主要是用來對(duì)數(shù)據(jù)庫(kù)操作的,主要包括以下4個(gè)函數(shù)。 Connstr() As String 函數(shù),返回連接字符串,用來設(shè)置數(shù)據(jù)庫(kù)連接字符串。 OpenConn(ByRef Conn As ADODB.Connection) As Boolean函數(shù),返回布爾值,用來打開數(shù)據(jù)庫(kù)連接。 ExecuteSQL(ByVal SQLStr As String,ByRef msg As String)函數(shù),返回布爾值,用來執(zhí)行SQL語(yǔ)句。 SelectSQL(By Val SQLStr A
29、s String,ByRef msg As String) As ADOB.Recordset函數(shù),返回Recordset,用來執(zhí)行查詢語(yǔ)句。公共模塊的代碼如下所示. Public Function ConnStr() As String '設(shè)置數(shù)據(jù)庫(kù)連接字符串 ConnStr = " Provider=SQLOLEDB.1;Integrated Security=SSPI;" & _ "Persist Security Info=False;Initial Catalog=樓盤銷售系統(tǒng)"End FunctionPublic Functi
30、on OpenConn(ByRef Conn As ADODB.Connection) As Boolean'打開數(shù)據(jù)庫(kù)連接,連接成功返回true,出錯(cuò)時(shí)返回false Set Conn = New ADODB.Connection '出錯(cuò)處理 On Error GoTo ErrorHandle '出錯(cuò)處理 Conn.Open ConnStr '打開數(shù)據(jù)庫(kù)連接 OpenConn = True Exit FunctionErrorHandle: '如果出錯(cuò),進(jìn)行錯(cuò)誤處理 MsgBox "連接數(shù)據(jù)庫(kù)失??!請(qǐng)重新連接!" OpenConn
31、= False Exit FunctionEnd FunctionPublic Sub ExecuteSQL(ByVal SQLStr As String, ByRef msg As String)'執(zhí)行SQL語(yǔ)句 Dim Conn As ADODB.Connection Dim sTokens() As String '出錯(cuò)處理 On Error GoTo ErrorHandle '判斷SQL語(yǔ)句 sTokens = Split(SQL) '調(diào)用Split函數(shù)拆分SQL語(yǔ)句 If InStr("INSERT,DELETE,UPDATE",
32、UCase(sTokens(0) Then '打開數(shù)據(jù)庫(kù)連接 If OpenConn(Conn) Then '如果打開連接成功,執(zhí)行SQL語(yǔ)句 Conn.Execute SQLStr msg = sTokens(0) & "操作執(zhí)行成功!" End If Else msg = "SQL語(yǔ)句有誤:" & SQLStr End IfFinally_Exit: '程序結(jié)束的時(shí)候進(jìn)行對(duì)象銷毀工作 Set rst = Nothing Set Conn = Nothing Exit SubErrorHandle: msg =
33、"執(zhí)行錯(cuò)誤: " & Err.Description Resume Finally_ExitEnd SubPublic Function SelectSQL(ByVal SQLStr _As String, ByRef msg As String) As ADODB.Recordset'執(zhí)行SQL語(yǔ)句,返回ADODB.Recordset Dim Conn As ADODB.Connection Dim rst As ADODB.Recordset Dim sTokens() As String '出錯(cuò)處理 On Error GoTo ErrorHan
34、dle '判斷SQL語(yǔ)句 sTokens = Split(SQLStr) If InStr("SELECT", UCase(sTokens(0) Then '打開數(shù)據(jù)庫(kù)連接 If OpenConn(Conn) Then '如果打開連接成功,就進(jìn)行查詢操作 Set rst = New ADODB.Recordset rst.CursorLocation = adUseClient rst.Open Trim$(SQLStr), Conn, adOpenDynamic, adLockOptimistic '執(zhí)行查詢操作 Set SelectSQL
35、 = rst msg = "查詢到" & rst.RecordCount & " 條記錄! " End If Else msg = "SQL語(yǔ)句有誤:" & SQLStr End IfFinally_Exit: Set rst = Nothing Set Conn = Nothing Exit FunctionErrorHandle: '如果SQL語(yǔ)句執(zhí)行出錯(cuò),提示出錯(cuò)信息并轉(zhuǎn)到Finally_Exit MsgString = "查詢錯(cuò)誤: " & _ Err.Descrip
36、tion Resume Finally_ExitEnd Function6 房屋信息管理簡(jiǎn)歷好主窗體后,開始對(duì)兩個(gè)管理模塊的簡(jiǎn)歷進(jìn)行闡述。首先是房屋信息管理模塊,它主要實(shí)現(xiàn)樓房管理、房間管理和信息查詢等功能。樓房管理簡(jiǎn)歷樓房信息,并對(duì)樓房信息進(jìn)行維護(hù);房間管理設(shè)置房間信息,并對(duì)房間信息進(jìn)行維護(hù);信息查詢提供房間信息查詢功能。6.1. 1 樓房管理樓房管理主要用于簡(jiǎn)歷婁煩信息,包括樓房號(hào)、樓名、所處位置、占地面積、總投資、層數(shù)、房間數(shù)、簡(jiǎn)介等,并對(duì)樓房信息進(jìn)行添加、修改、刪除等操作。 樓房管理界面樓房管理窗體主要空間的屬性如表所示具體代碼如下:運(yùn)行窗體時(shí)出發(fā)Load事件,調(diào)用LoadData過程
37、初始化樓房ListView設(shè)置空間可用屬性,調(diào)用ShowData過程顯示數(shù)據(jù),其代碼如下: Option ExplicitDim rs As ADODB.RecordsetDim SQLStr As StringDim msg As StringDim flag As String '判斷是新增記錄還是修改記錄Private Sub Form_Load() Call LoadData '裝載數(shù)據(jù) Call ShowData '顯示數(shù)據(jù)End Sub 調(diào)用LoadData過程,裝載數(shù)據(jù),其代碼如下:Private Sub LoadData()'裝載數(shù)據(jù) Dim l
38、ist As ListItem Dim key As String Set rs = Nothing SQLStr = "SELECT * FROM 樓房信息表 ORDER BY buildingID" Set rs = SelectSQL(SQLStr, msg) '查詢樓房信息 ListView1.ListItems.Clear '清空ListView控件 If rs.RecordCount = 0 Then '如果不存在樓房信息,添加按鈕可用,其他按鈕不可用 CmdAdd.Enabled = True: CmdModify.Enabled =
39、False: CmdDelete.Enabled = False CmdCancel.Enabled = False: CmdSave.Enabled = False Else '如果存在樓房信息,初始化ListView控件 rs.MoveFirst Do Until rs.EOF key = rs.Fields("buildingID") & rs.Fields("bdname") Set list = ListView1.ListItems.Add(, , key, 1) rs.MoveNext Loop '編輯控件可用性 C
40、mdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True CmdCancel.Enabled = False: CmdSave.Enabled = False rs.MoveFirst '返回到第一條記錄 End If '設(shè)置控件Enable值 Call CtrEnable(False)End Sub 調(diào)用Ctrenable過程設(shè)置空間的可屬性其代碼如下所示: Private Sub CtrEnable(flag As Boolean)'設(shè)置控件的Enable值 txtBuildin
41、gId.Enabled = flag txtName.Enabled = flag txtArea.Enabled = flag txtInvest.Enabled = flag txtFloors.Enabled = flag txtRooms.Enabled = flag txtPosition.Enabled = flag txtNotes.Enabled = flagEnd Sub 調(diào)用ShowData過程,在控件中顯示字段的相應(yīng)數(shù)據(jù),期代碼如下: Private Sub ShowData()'在控件中顯示數(shù)據(jù) If rs.RecordCount <> 0 Then
42、 '如果存在記錄 '為控件賦值 txtBuildingId.Text = rs.Fields("buildingID") txtName.Text = rs.Fields("bdname") txtArea.Text = rs.Fields("area") txtInvest.Text = rs.Fields("investment") txtFloors.Text = rs.Fields("layers") txtRooms.Text = rs.Fields("roo
43、mN") txtPosition.Text = rs.Fields("bdposition") txtNotes.Text = rs.Fields("bdintroduction") End IfEnd Sub(2)當(dāng)用戶單擊ListView控件中樓房圖標(biāo)時(shí),將出發(fā)ListView1_Cilk事件,在控件中顯示樓房信息,代碼如下: Private Sub ListView1_Click()'在控件中顯示樓房信息 Dim key As String If rs.RecordCount > 0 Then key = Trim(List
44、View1.SelectedItem) SQLStr = " SELECT * FROM 樓房信息表 WHERE buildingID='" & Left(key, 4) & "'" Set rs = SelectSQL(SQLStr, msg) Call ShowData '重新顯示數(shù)據(jù) End IfEnd Sub(3) 當(dāng)用戶單擊【保存】按鈕時(shí),將觸發(fā)CmdSave_Cilk事件。在保存數(shù)據(jù)庫(kù)之前,要對(duì)數(shù)據(jù)進(jìn)行合法性檢查,需要調(diào)用CheckData函數(shù),返回True時(shí)候表示數(shù)據(jù)合法,返回False時(shí)表示數(shù)據(jù)非法
45、。同時(shí)需要調(diào)用setData過程來設(shè)置數(shù)據(jù),其代碼如下所示; Private Sub CmdSave_Click()'保存操作On Error GoTo ErrMsg '錯(cuò)誤處理 If Not CheckData Then Exit Sub '如果數(shù)據(jù)不合法就退出操作 If flag = "Modify" Then '如果是修改數(shù)據(jù),給出修改提示 msg = MsgBox("您確實(shí)要修改這條數(shù)據(jù)嗎?", vbYesNo) If msg = vbYes Then Call setData '設(shè)置數(shù)據(jù)字段的值 Else
46、 Exit Sub End If ElseIf flag = "Add" Then '如果是添加新數(shù)據(jù) rs.AddNew Call setData '設(shè)置數(shù)據(jù)字段的值 End If rs.Update '更新數(shù)據(jù) '設(shè)置控件的可用性 CmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = True CmdSave.Enabled = False: CmdCancel.Enabled = False If flag = "Add" Then
47、MsgBox ("成功添加數(shù)據(jù)!") Else MsgBox ("成功更新數(shù)據(jù)!") End If Call LoadData '重新裝載數(shù)據(jù) If rs.RecordCount > 0 Then '定位到添加或修改記錄 rs.MoveFirst rs.Find ("buildingID='" & Trim(txtBuildingId.Text) & "'") If Not rs.EOF Then Call ShowData '重新顯示數(shù)據(jù) End If
48、 Exit SubErrMsg: '報(bào)告出錯(cuò)信息 MsgBox Err.Description, vbExclamation, "出錯(cuò)"End Sub 調(diào)用CheckData函數(shù),返回Ture時(shí)表示數(shù)據(jù)合法,返回False時(shí)表示數(shù)據(jù)非法,其代碼如下所示:Private Function CheckData() As Boolean'檢查數(shù)據(jù)的合法性 Dim rst As ADODB.Recordset Dim msgt As String msgt = "" '檢查數(shù)據(jù) If Trim(txtBuildingId.Text) =
49、"" Then '檢查樓房號(hào)是否為空 msgt = "樓房號(hào)為空; " ElseIf Len(txtBuildingId.Text) <> 4 Then '檢查樓房號(hào)是否為4位 msgt = msgt & "樓房號(hào)不是4位; " ElseIf Trim(txtName.Text) = "" Then '檢查樓名是否為空 msgt = msgt & "樓名為空; " End If If Not msgt = "" Then &
50、#39;如果提示信息不為空,給出錯(cuò)誤提示 MsgBox (msgt) CheckData = False '返回False Exit Function End If If flag = "Add" Then '添加數(shù)據(jù)時(shí),檢查數(shù)據(jù)唯一性 SQLStr = " SELECT * FROM 樓房信息表 WHERE buildingID='" & Trim(txtBuildingId.Text) & "'" Set rst = SelectSQL(SQLStr, msg) If rst.RecordCount > 0 Then '如果已經(jīng)存在該樓房信息,提示重復(fù)添加 MsgBox ("該信息已經(jīng)存在,重復(fù)添加!") rst.Close CheckData = False '如果信息重復(fù)添加,返回False Exit Function End If End If CheckData = True '如果數(shù)據(jù)檢查合法,返回TrueEnd Function調(diào)用setData過程。給數(shù)據(jù)庫(kù)的字段賦值,其代碼如下:Priv
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度娛樂休閑交易居間合同范本正規(guī)范本
- 2024-2025年中國(guó)研發(fā)信息化軟件行業(yè)市場(chǎng)調(diào)查研究及投資戰(zhàn)略咨詢報(bào)告
- 2025年度物流園區(qū)土地使用權(quán)出讓及物流服務(wù)合同
- 2025年智能機(jī)器人制造項(xiàng)目合作協(xié)議樣本集
- 2025年度建筑工程施工合同風(fēng)險(xiǎn)防范清包工合同范本
- 2025年度建筑工程施工合同范本與法規(guī)要點(diǎn)分析
- 2025年度會(huì)議室租賃及場(chǎng)地布置合同范本
- 2025年襯裙等行業(yè)深度研究分析報(bào)告
- 2025年度二零二五年度花卉展覽活動(dòng)策劃與執(zhí)行合同
- 2025年中國(guó)鐵路車輛設(shè)備行業(yè)市場(chǎng)深度研究及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 精裝修室內(nèi)施工組織部署
- 農(nóng)用拖拉機(jī)考試題庫(kù)
- GJB438C模板-軟件開發(fā)計(jì)劃(已按標(biāo)準(zhǔn)公文格式校準(zhǔn))
- 2023年政府采購(gòu)評(píng)審專家考試真題及答案
- 云端數(shù)據(jù)加密與密鑰管理解決方案
- 毒麻藥品試題答案
- 《公路橋涵養(yǎng)護(hù)規(guī)范》(5120-2021)【可編輯】
- 醫(yī)療器械專業(yè)知識(shí)培訓(xùn)課件
- 傳統(tǒng)體育養(yǎng)生學(xué)
- DB4401∕T 33-2019 電梯托管標(biāo)準(zhǔn)化管理規(guī)范
- 醫(yī)院物業(yè)(保潔)技術(shù)服務(wù)投標(biāo)方案
評(píng)論
0/150
提交評(píng)論