(精品)毕业精品房产中介管理系统精品(2013年优秀毕业设计)_第1页
(精品)毕业精品房产中介管理系统精品(2013年优秀毕业设计)_第2页
(精品)毕业精品房产中介管理系统精品(2013年优秀毕业设计)_第3页
(精品)毕业精品房产中介管理系统精品(2013年优秀毕业设计)_第4页
(精品)毕业精品房产中介管理系统精品(2013年优秀毕业设计)_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

房产中介管理系统摘 要房产中介管理系统是为房屋中介机构管理房屋出租、出售信息资料而设计的信息管理系统,包含有后台数据库和前台应用程序系统两大部分,后台数据库要求数据的一致性和完整性、安全性,用以储存单位工程文档资料及相关信息,前台应用程序系统要求应用程序功能完备、易于使用和界面友好等。经过全面分析,确定数据库采用ACCESS2000,开发工具为Delphi 7.0,利用Microsoft公司的ADO(ActiveX Data Object,ActiveX数据对象)访问和操作数据库服务器中的数据。关键词: 数据库 面向对象开发软件包 数据对象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前言及开发工具、开发技术简介31.1系统背景简介31.2 Delphi7.0编程软件介绍51.3 数据库技术概述71.4 ADO编程技术概述72需求分析92.1功能需求92.2性能需求 103总体设计113.1 系统程次模块图 113.2 系统流程图3.3 模块设计3.3 数据库设计4详细设计4.1系统项目文件4.2闪现窗体设计4.3登记登录管理模块设计4.4主窗体管理模块设计4.5 房屋出租登记模块设计4.6房屋出租查询模块设计4.7房屋资料管理模块设计4.8本软件所用控件的安装和使用方法4.9遇到的问题及解决方法5系统性能测试6总结7致谢与参考文献53一.前言及开发工具、开发技术简介1.1 系统背景简介房产中介数据库管理系统是一个房屋中介机构不可缺少的部分,能够为操作人员和用户提供充足的信息和快速查询手段。但一直以来人们使用传统人工的方式管理房屋出租、出售等房屋数据,这种管理存在着许多缺点,如:效率低、保密性差,时间一长,将产生大量的文件和数据,对于查找、更新和维护带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,使用计算机对工程文档资料信息进行管理,具有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工程文档资料管理的效率,也是企事业走向科学化、规范化管理必由之路。房产中介管理系统对房屋出租、出售等资料信息的存储采用了动态的创建,先建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。房产中介管理系统的功能有:方便地操作数据库,包括增加数据、删除数据、修改数据等;提供两种不同的打印模式,可以随时打印专业的报表;提供完善的查询方法,可以对数据库的所有内容进行查询,还可以进行组合查询;可以随意修改数据的内容;可以将登录用户分成三个层次:超级用户、管理员、普通客户。超级用户拥有操作本软件的所有权利,管理员拥有除“用户管理”外操作本软件的所有权利,客户只拥有数据浏览等操作本软件的部分权利;可以任意修改登录密码,保证数据库的安全。因此,开发这样的管理软件成为很有必要的事情。1.2 Delphi7.0编程软件简介Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi的功能更强大、更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。它一直是程序员至爱的编程工具。Delphi具有以下的特性:基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。但最重要的还是Object Pascal语言,它才是一切的根本。Delphi提供了各种开发工具,包括集成环境、图像编辑(Image Editor),以及各种开发数据库的应用程序,如Desktop Database Expert等。除此之外,还允许用户挂接其它的应用程序开发工具,如Borland公司的资源编辑器(Recourses Workshop)。在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。Delphi发展至今,从Delphi、Delphi到现在的Delphi7,不断添加和改进各种特性,功能越来越强大。Delphi7添加了对IDE(集成开发环境)的很多改进新特性,扩展了数据库支持(ADO和InterBase数据库),带有Internet支持的MIDAS改进版,Team Souse版本控制工具,转换功能,框架概念以及很多的新组件与新特性。Delphi7.0软件开发工具是Borland公司推出的一个完全导向的可视化系统开发环境的工具。它具有功能强大、运行速度快、易于学习和使用以及开发迅速等特点,所以一经推出就受到广大用户的喜欢。Delphi结合了可视化技术、面向对象技术、数据库技术以及网络技术等多种先进的软件编程技术和思想,并使用了世界上最快的编译器,使其成为创建功能丰富、界面友好的Windows应用软件的工具之一。Delphi7.0版本功能更为强大,不但继承了前面所有版本的优良特性,而且纠正了一些错误,它对Web服务、数据库的支持更加完善。Delphi7.0具有强大的数据库应用程序开发功能,它能适应各种大型数据库,如Oracle、Sybase、SQL等,Delphi7.0数据库应用程序基于Borland强大的数据库引擎( BDE)和丰富的数据库组件,利用Delphi7.0开发数据库应用程序,它会使用户得到意想不到的收获。1.3 数据库技术概述产生于本世纪60年代末70年代初的数据库技术对于每一个人可能都不陌生,在现代社会它的应用范围越来越广,在各个领域都可以看到数据库技术的应用。它的出现使得计算机应用进了新的时期,社会的每一领域都与计算机发生了联系。数据库技术聚集了数据处理最精华的思想,是管理信息最先进的工具。通常有两种方法保存数据库。第一种是将整个数据库作为一个单独文件保存,如Access数据库。第二种方法是将数据库中每个数据表、索引以及其他一些数据库元素分别保存在各自的文件中。Delphi7.0对这两种方法都支持。 1.4 ADO编程技术概述Microsoft公司的ADO(ActiveX Data Object,ActiveX数据对象)是微软提出的新标准,它使得客户端应用程序能够通过任何OLEDB提供者来访问和操作数据库服务器中的数据,而不必进行ODBC配置。ADO有两个主要优点:其一是易于使用、速度快、内存支出少。其二是“远程数据访问”,能够通过一个来回的传输将数据从服务器移动到客户端应用程序或Web中,然后在客户端对数据进行操作,最后将更新数据返回服务器。二.需求分析2.1功能需求对于本系统,我们需要实现以下一些基本功能:(1)登录管理: 为了软件和数据库的安全,验证登录人员的不同身份,防止非法用户入侵系统。将登录用户分成三个层次:超级用户、管理员、普通客户。超级用户拥有操作本软件的所有权利,管理员拥有除“用户管理”外操作本软件的所有权利,客户只拥有数据浏览等操作本软件的部分权利。(2)闪现窗体: 在登录窗体之前出现,主要显示以下信息:一是显示本系统的题目即:“房产中介管理系统”;二是显示作者即本人;三是显示一行信息,即“正在加载中”。(3)主界面窗体: 本窗体的功能很简单,主要是为进入本系统其它所有的功能窗体提供一个操作方便、界面美观的基础平台。(4)房屋出租登记窗体: 功能是对房屋出租信息进行登记,主要是进行添加出租信息的登记操作。(5)房屋出租信息查询窗体: 功能主要是可以对所有的房屋出租的信息进行查询,可以是简单的通过按“收件号”进行查询,也可以通过“高级查询”按钮进入高级查询页面,通过多个字段进行高级查询,从而为用户提供快速、准确的查询服务。(6)房屋出售登记窗体: 功能是对房屋出售信息进行登记,主要是进行添加出售信息的登记操作。(7)房屋出售信息查询窗体: 功能主要是可以对所有的房屋出售的信息进行查询,可以是简单的通过按“收件号”进行查询,也可以通过“高级查询”按钮进入高级查询页面,通过多个字段进行高级查询。(8)报表打印功能: 本功能是附属在房屋出租查询窗体和房屋出售查询窗体里的,可以将查询得出的任何表格数据生成报表进行打印。(9)房屋资料登记窗体: 功能主是要对房屋信息进行登记,包括数据的添加、删除、修改、查询等操作。同时可以对数据表中的房屋资料进行统计,统计出未出租、已出租、未出售、已出售的房屋数量以及所有房屋的总数量。(10)客户资料登记窗体:主要功能是对客户资料进行登记,包括对客户资料数据的添加、删除、修改等操作。同时可以对数据表中的房屋资料进行查询,主要是提供按客户的姓名进行查询的功能。(11)系统维护窗体:主要功能是对操作数据库的管理人员进行各种资料的维护。如超级用户登录后可以增加管理员帐户、增加客人帐户、修改自身密码、更换操作员;管理员用户登录后可以修改自身密码、更换操作员。客人帐户登录后则不能进行本单元的任何操作。(12)购房常识管理窗体:主要功能是为购房者提供一些购房上的小常识,为购房者提供一些方便吧。可以对购房常识按标题进行查询。(13)文档管理:主要功能是通过程序调用word,打开“房屋租凭合同”、“商品房买卖合同”、“二手房屋买卖合同”、“居间协议”、“二手房买卖流程”等电子文档,供购房者和中介公司签订合同提供方便。2.2性能需求系统的运行对运行环境还有一些要求: 1.硬件环境处理器:Intel Pentium III或者更高。内存: 128M。硬盘空间:3GB。显卡:SVGA显示适配器。2.软件环境操作系统:Windows 98/Me/2000/XP数据库:Access2000退出系统三.总体设计3.1系统模块图房屋出租登记模块房屋出租查询模块房屋出售登记模块闪现窗体模块用户登录模块收文登记模块主窗体模块单位文档数据库管理系统房屋出售查询模块房屋资料管理模块客户资料管理模块文档管理模块购房常识管理模块系统维护模块3.2系统流程图闪现窗体模块登录类型选择模块主窗体模块报表打印模块购房常识管理模块文档管理模块客户资料管理模块房屋资料管理模块房屋出售查询模块房屋出售登记模块房屋出租查询模块房屋出租登记模块3.4模块设计按照需求分析的结果,本系统将分为以下几大模块,各模块的功能及对应的窗体名称如下所示:(1)闪现窗体: 在登录窗体之前出现,主要显示以下信息:一是显示本系统的题目即:“房产中介管理系统”;二是显示作者即本人;三是显示一行信息,即“正在加载中”。(对应窗体Form3)。(2) 登录管理: 为了软件和数据库的安全,验证登录人员的不同身份,防止非法用户入侵系统。将登录用户分成三个层次:超级用户、管理员、普通客户。(对应窗体Frm_login)。(3)主界面窗体: 本窗体的功能很简单,主要是为进入本系统其它所有的功能窗体提供一个操作方便、界面美观的基础平台。(对应窗体Mainform)。(4)房屋出租登记窗体: 功能是对房屋出租信息进行登记,主要是进行添加出租信息的登记操作。(对应窗体Frm_lenddetail)。(5)房屋出租信息查询窗体: 功能主要是可以对所有的房屋出租的信息进行查询。(对应窗体Frm_Querylend)。(6)房屋出售登记窗体: 功能是对房屋出售信息进行登记,主要是进行添加出售信息的登记操作。(对应窗体Frm_saledetail)。(7)房屋出售信息查询窗体: 功能主要是可以对所有的房屋出售的信息进行查询。(对应窗体Frm_Querysale)。(8)报表打印功能: 本功能是附属在房屋出租查询窗体和房屋出售查询窗体里的,可以将查询得出的任何表格数据生成报表进行打印。本部分主要通过第三方控件Ehlib来完成。(9)房屋资料登记窗体: 功能主是要对房屋信息进行登记,包括数据的添加、删除、修改、查询、统计等操作。(对应窗体Form1)。(10)客户资料登记窗体:主要功能是对客户资料进行登记,包括对客户资料数据的添加、删除、修改、查询等操作。(对应窗体Form2)。(11)系统维护窗体:主要功能是对操作数据库的管理人员进行各种资料的维护。(用户管理对应窗体Frm_userpower;修改密码对应窗体Frm_userchgpwd;)。(12)购房常识管理窗体:主要功能是为购房者提供一些购房上的小常识,为购房者提供一些方便吧。可以对购房常识按标题进行查询。(对应窗体Frm_infolist)。(13)文档管理:主要功能是通过程序调用word,打开“房屋租凭合同”、“商品房买卖合同”、“二手房屋买卖合同”、“居间协议”、“二手房买卖流程”等电子文档,供购房者和中介公司签订合同提供方便。3.4 数据流图数据流图主要是从数据流的角度来描述一个企事业组织的业务活动,它具体描述一个组织有哪几个组成部分,也描述了来往于各部分之间的数据流。数据流图有三个基本要素:数据流、加工、文件。数据流是由一组固定成分的数据组成。加工是对数据进行的操作。文件是暂存贮的数据。由于本系统只有一步数据的录入,并没有数据的流动、加工等,所以比较简单。本系统的数据流图如下所示:处理信息数据库客户信息数据库信息用户查询结果信息查询信息用户信息查询 用户3.5 数据库设计3.5.1 ADO使用方法综述本毕业设计就是用ADO操作数据库data.mdb。在Delphi组件面板上有ADO组件页,其中前6个是ADO组件。在空白窗体上放置一个ADOConnection1组件,一个ADOTable1组件、一个DataSource1组件、一个DBGrid1组件。先设定一下部分组件属性如下:设定DBGrid1组件的DataSource属性为DataSource1,设定DataSource1组件的Dataset属性为ADOTable1。双击ADOConnection1组件或者在其属性列表中点击ConnectionString后的省略号都可以打开连接字符串设定窗口如图3-1:点击“Build”按钮,将打开数据连接属性窗口如图3-2 图3-1 ConnectionString 所示,其中有四个页面,在第一个“提供者”页面中,列出了可以使用的各种驱动数据库驱动。我们选择Microsoft Jet 4.0 OLE DB Provider驱动。选择完毕数据库驱动后,点击“连接”页面,如图3-3所示:在这里输入或选择数据库,这里我们查找选择数据库为“C:房屋中介管理系统data.mdb”,如果数据库有密码可将“空白密图3-2 数据连接属性的提供者码”复选框去掉选择,就可以输入密码,选中“允许保存密码”这样以后就可以无需再输入密码了。接下来可以点击“测试连接”按钮,如果提示“测试连接成功”那么说明数据库可正常连接上。在“高级”页面中选择访问权限为“ReadWrite”。在“所有”页面中显示的是用户目前设定的连接属性,用户可以再修改。点击“确定”按钮后返回到上图,这时可以看到属性设定字符串已经自动生成,点击“OK”按钮返回即可。再把ADOConnection1组件的LoginPrompt属性设定为false,这样以后程序在运行时就不会弹出“密码输入框”了。但如果你的数据库有密码且在上面的“连接”页面中没有输入密码没有选中“允许保存密码”,那么不要把此属性设定为false,因为你以后需要手工输入密码。接着设定ADOTable1组件的Connection属性为ADOConnection1,单击ADOTable1组件的tablename属性后的省略号,将可图3-3 数据连接属性的连接以看到数据库liualiang.mdb中的所有数据表名称列表,从中选择一个如“表 1”,设定ADOTable1组件的Active属性为True,则马上可以在DbGrid中看到表中的数据了。如果马上运行程序就可以在窗口中浏览和编辑数据了。在本程序中,因为很多单元都要访问数据库,所以为了方便,使用一个单元Datamodule1,在单元里放置一个控件Adoconnection1用于统一连接数据库,其它单元要访问时,只要把adotalbe或adoquery控件的数据源指向Datamodule1中的Adoconnection1控件就可以了。这样大大减少了代码量,减少了工作量。3.5.2 新建数据库及字段运行Microsoft公司的Office2000办公软件中的Access数据库软件。点击菜单“文件”,在出现的菜单项中选择“新建”菜单项。然后点击“空数据库”,在弹出的“文件新建数据库”对话框中键入数据库的名称,本软件中应写入data.mdb。这时系统将会自动进入详细的数据库设计窗体。我们选择“使用设计器”创建表。在弹出的“表4_1”设计窗体中,依次写入各个字段名以及他们相对应的数据类型和说明事项。设计好字段名后,关闭并保存表为“用户信息表” 。双击“用户信息表”然后在弹出的数据录入窗体中录入数据,并保存。同时由于系统提供了房屋资料管理的功能,所以要在数据库中增加“房屋资料”,它主要是用来保存房屋信息的,它的字段和类型如表4_2:表4_1 用户信息表的描述字段名称数据类型用户名文本密码文本用户等级文本表4_2房屋资料的描述字段名称数据类型位置文本楼层文本面积数字产权情况文本结构文本价格数字状态文本因为软件中需要四个数据库即“客户资料”、“中介信息表”、“单位信息表”、“常识信息表”,所以还要在数据库data.mdb中新建这几个表,增加记录的步骤也与上面增加记录的步骤完全一样。由于篇幅的限制,其它几个表的结构(包括详细的字段名、类型、大小)在这里,我就不一一列举出来了。打开数据库data.mdb就可以直接看到了。设计完成后,按同样的方法向其中加入数据,即几条含有原始数据的记录。这样一个数据库data.mdb就初步制作完成了。四.详细设计根据已有的需求信息和总体设计,可以进行系统的详细设计和实现。系统的设计和实现如下:4.1 系统项目文件 每一个Delphi工程都有一个项目文件,在本系统中,项目文件如下所示: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); /这里是启动闪现窗体 form3.makesplash; /启动闪现窗体的延时程序 gs_WorkPath := ExtractFilePath(Application.EXEName); /得到可执行文件的路径 / 打开数据库模板 Application.Title := 房产中介管理系统; Application.CreateForm(TDataModule1, DataModule1); Application.CreateForm(TMainForm, MainForm); Application.CreateForm(TForm3, Form3); MainForm.show; / 连接数据库 if f_ConnectDataBase()=False then begin Application.MessageBox(连接数据库出错,可能原因有:#13#101. 配置文件 exhib.ini 的数据库配置小节有问题nr#13#102. 本系统运行路径不对#13#103. 本机未安装数据库的 Client 端驱动程序#13#104. 其他问题#13#10请与管理员联系.,系统出错,MB_OK); Application.Terminate; end; / 系统参数初始化 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; /关闭闪现窗体 form3.Free; /释放闪现窗体 Application.Run; end. 4.1 闪现窗体的实现(1)闪现窗体的实际运行图(2)实现的方法:首先,制作一个名为Form3的窗体。画面如上图所示。其次,在其中加入一个过程,即一个延时程序的过程:makesplah。代码如下:procedure tform3.makesplash;begin borderstyle:=bsnone; show; update; sleep(2000);end;第三,在工程文件代码中将入以下语句:一是在开始部分加上:form3:=tform3.Create(form3); form3.makesplash;二是在最后结果部分加上:form3.Close; /关闭闪现窗体 form3.Free; /释放闪现窗体具体可以参见上上页的哪一段工程项目文件的源程序。4.2 用户登录模块 (1)用户登录模块的窗体效果图 (2)核心代码解释: 在输入登录密码后,按“确定”后触发的事件。procedure TFrm_Login.bbtnokClick(Sender: TObject);begin /录入检验 if cbUserId.text= then begin messagedlg(请 选 择 用 户 名 !,mtInformation,mbok,0); cbUserId.SetFocus(); exit; end; /登录验证 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(口令错误,请修改 !,mterror,mbok,0); LoginNum:=LoginNum+1; if LoginNum=3 then begin messagedlg(非法用户!你无权使用本系统,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(用户等级).asstring; gs_login_Password :=fieldbyname(密码).asstring; gt_login_time:=now(); Login:=true; self.close; end; end else begin messagedlg(指定的用户已被注销!你无权使用本系统!,mterror,mbok,0); Login:=False; self.close; end; end;end;4.3 主窗体模块 本模块的主要功能是:为进入本系统其它所有的功能窗体提供一个操作方便、界面美观的基础平台。 (1)窗体效果图如下: (2)核心代码解释:一是:登录用户类型不同,权限不同的代码解释:function TMainForm.f_InitUserMenu():Boolean;begin if gs_login_userlevel=超级用户 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 / 普通客户,限制使用好几个菜单 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(运行Microsoft word 失败!); end;end;4.4 房屋出租登记窗体功能是对房屋出租信息进行登记,主要是进行添加出租信息的登记操作。(1)窗体效果图如下:(2)窗体的“保存”按钮的代码解释procedure TFrm_LendDetail.btnOkClick(Sender: TObject);var strSQL :string; strCode :string;begin inherited; / 检查数据录入的有效性 if f_CheckValue()=False then exit; / 数据保存处理 DataModule1.ADOConnection1.BeginTrans; try ADOQ_Data.UpdateBatch; / DataModule1.ADOConnection1.CommitTrans; except DataModule1.ADOConnection1.RollbackTrans; MessageBox(handle,数据保存失败!,警告,MB_OK); exit; end; MessageBox(handle,数据保存成功!,提示,MB_OK+MB_ICONINFORMATION); / 继续新增 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; / 构造过滤条件 strFilter := ; if trim(edtNo.text) then strFilter := strFilter + (收件号 like +%+edtNo.text+%)+ AND ; / if rdoStatus.itemindex=1 then begin strFilter := strFilter + 状态=+未处理+ AND ; end else if rdoStatus.itemindex=2 then begin strFilter := strFilter + 状态=+已处理+ AND ; end else if rdoStatus.itemindex=3 then begin strFilter := strFilter + 状态=+已作废+ AND ; end; / if strFilter then strFilter :=copy( strFilter,0,Length(strFilter)-5 ); /过滤查询 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)本模块中“查询”按钮的核心代码解释如下:注意这里我用的查询方法与上面用到的查询方法不一样,以体现查询方法的多样性。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)本模块中还有一个统计功能,用于对数据表中的房屋资料进行统计,统计出未出租、已出租、未出售、已出售的房屋数量以及所有房屋的总数量。其核心代码如下(仅列出统计“已出租”房屋数量的代码,其余与些相同):adoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.add(select * from 房屋资料 where 状态=已出租);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(旧密码输入错误!,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(修改完成,密码已经改变!,mtinformation,mbok,0); close; end;end;4.8其它模块:由于编幅的原因,我不可能把所有的模块都一一介绍到了,还有几个模块,如“房屋出售登记模块”、“房屋出售查询模块”、“购房常识模块”、“客房资料登记模块”等由于和已经介绍的部分模块在代码上大同小异,在此省略了。4.8本软件所用控件的安装及使用方法本软件根据编程的需要一共使用了一个第三方控件Ehlib表格增强控件,使用它的目的主要一是系统功能的需要,第二个也是锻炼自己使用第三方控件的本领,如第三方控件的安装,使用等。 Ehlib表格增强控件它的安装方法如下:在File菜单下,选择“OPEN”打开Ehlib安装包中的Ehlib.dpk文件(文件类型列表框中选*.dpk),在出现的Package窗口中,工具栏上有Install按钮,按此按钮即可进行安装。如果Install按钮处于无效状态,那么先按Compile按钮编译,一般来说编译之后Install按钮就会处于有效状态,此时再按Install按钮就可以了。Ehlib控件是一系列表格增强控件的组合。本软件主要用到其中的两个组件: TDBGridEh 组件和TPrintDBGridEh 组件。 TDBGridEh 组件:这是对Delphi自带的TDbgrid控件的增强改进版,它包含了所有TDbgrid的功能,并增加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论