房屋中介管理系统-计算机专业课程设计_第1页
房屋中介管理系统-计算机专业课程设计_第2页
房屋中介管理系统-计算机专业课程设计_第3页
房屋中介管理系统-计算机专业课程设计_第4页
房屋中介管理系统-计算机专业课程设计_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

房屋中介管理系统-PAGE44-数据库课程设计报告房屋中介管理系统班级:姓名:学号:指导教师:完成日期:数据库课程设计数据库课程设计评分表班级姓名指导教师题目:房屋中介管理系统评分标准评分标准分数权重评分的依据得分AC工作态度10态度端正,能主动认真完成各项内容,不迟到早退,出勤好。能够完成各环节基本工作,出勤较好。独立解决问题的能力10能独立完成数据库课程设计项目的各项任务,熟悉项目的整体架构;具有独立分析、解决问题能力,具有独立调试程序与测试程序的能力,程序结构清晰,逻辑严谨,功能完善。有一定的分析、解决问题能力。能够在老师指导下完成任务的编码与调试工作,程序功能较完善。程序完成及运行情况20完成率100%,程序运行正确。完成率不足70%。课程设计报告30格式规范,层次清晰,设计思想明确,解决问题方法合理,体会深刻。格式较规范,设计思想基本明确,解决问题方法较合理。答辨问题回答30能准确回答老师提出的问题,并充分理解数据库开发技术,程序逻辑清晰。能基本准确回答老师提出的问题总分指导教师(签字):注:介于A和C之间为B级,低于C为D级和E级。按各项指标打分后,总分90~100为优,80~89为良,70~79为中,60~69为及格,60分以下为不及格。数据库课程设计目录第一章需求分析 11.1开发背景 11.2需求分析 1第2章系统设计 22.1项目规划 22.2系统业务流程分析 22.3系统业务流程分析 4房屋中介管理系统功能结构图如图2.2所示 4图2.2房屋中介管理系统功能结构图 42.4系统E-R图 42.5开发及运行环境 6第3章数据库设计 73.1数据表概要说明 7第4章系统模块设计 144.1系统登录模块设计 144.1.1功能分析 144.1.2窗体设计 144.1.3功能的实现 154.2用户信息管理登录模块设计 154.2.1功能分析 164.2.2窗体设计 164.2.3功能实现 174.3房源信息设置模块设计 174.3.1功能分析 184.3.2窗体设计 184.3.3功能实现 194.4房源信息查询模块设计 194.4.1功能分析 204.4.2窗体设计 204.4.3功能实现 214.5房源状态查询模块设计 214.5.1功能分析 224.5.2窗体设计 224.5.3功能实现 234.6员工信息设置模块设计 234.6.1功能分析 244.6.2窗体设计 244.6.3功能实现 25第5章疑难问题解析 265.1通过触发器对视图进行添加、修改和删除操作 265.2结束数据库连接进程完成数据库还原 26第6章课程设计小结和心得 286.1小结 286.2心得 28第七章源代码 297.1系统登录模块设计代码 297.2用户信息管理登录模块设计代码 307.3房源信息设置模块设计代码 327.4房源信息查询模块设计代码 367.5房源状态查询模块设计 407.6员工信息设置模块设计代码 43-PAGE45-第一章需求分析1.1开发背景房屋中介行业是房地产业的重要组成部分,七仔房地产业经济运作的全过程之中起着至关重要的作用,为房地产业的生产、流通和消费提供了多元化的服务。房屋中介行业作为一个管理房屋信息的机构,其对信息的管理应该准确无误。利用所学的软件工程设计思想、数据库等知识设计一个房屋中介管理系统的软件对于提高该中介机构的工作效率变得尤为重要。1.2需求分析通过实际调查,要求房屋中介管理系统应该具有一下功能:(1)由于操作人员的计算机知识普遍偏低,因此要求系统具有良好的人机界面;(2)如果系统的使用对象较多,则要求有较好的权限管理;(3)方便的数据查询,支持自定义条件查询;(4)自动匹配房源和求房意向信息;(5)使用垃圾信息处理机制释放空间;(6)在相应的权限下,删除数据方便简单、数据稳定性强;(7)数据计算自动完成,尽量减少人工干预。第2章系统设计2.1项目规划房屋中介管理系统在出租者和求租者之间起到了桥梁的作用,是一款非常实用的软件,它主要由用户信息管理、出租信息管理、求租信息管理、房源管理、常用工具和系统管理等模块组成,具体规划如下。(1)用户信息管理模块该模块主要包括求租人员信息设置、出租人员信息设置、人员信息控制等功能。(2)求租管理模块该模块主要包括房源查询设置、房源状态浏览、求租意向设置等功能。(3)员工管理模块该模块主要包括录入员工信息、员工信息控制等功能。(4)出租管理模块该模块主要包括房型设置、楼层设置、幢/座设置、装修程度设置、朝向设置、用途设置等功能。(5)交费管理该模块主要包括收费设置、收费记录等功能。(6)业务统计该模块主要包括成交业务量统计等功能。(7)窗体布局该模块主要包括层叠排列、水平排列、垂直平铺等功能。(8)常用工具该模块主要包括记事本、计算器、Word、Excel等功能。(9)系统管理该模块主要包括口令设置、退出系统、数据备份、数据恢复、清理无效信息等功能。2.2系统业务流程分析房屋中介管理系统业务流程如图2.1所示是否登录是否登录收集客户信息身份验证管理员工是否找到房源客户划分填写意向是否与房源相符联系双方交款录入房源是否与房源意愿相符结束结束是员工经理否是否求租人出租人是登录系统否否是图2.1房屋中介管理系统是业务流程2.3系统业务流程分析房屋中介管理系统功能结构图如图2.2所示房屋中介管理系统房屋中介管理系统用户信息管理求组管理员工信息出租管理窗体布局常用工具系统管理房源查询设置房源状态浏览求租意向设置房源查询设置房源状态浏览求租意向设置录入员工信息员工信息控制层叠平铺水平平铺垂直平铺记事本Word计算器民族设置学历设置房屋设置楼层设置装修设置幢座设置朝向设置用途设置口令设置退出系统数据库备份数据库还原清理无效信息Excel图2.2房屋中介管理系统功能结构图2.4系统E-R图(1)出租房屋信息E-R图如图2.3所示出租房屋信息出租房屋信息客户姓名联系方式每月价格房屋种类建筑面积装修情况房型房屋地址房屋情况图2.3出租房屋信息E-R图(2)求购人信息E-R图如图2.4所示求租人信息求租人信息客户姓名联系方式房屋种类建筑面积装修情况户型图2.4求购人信息E-R图2.5开发及运行环境本系统开发平台及运行环境如下系统开发平台:MicrosoftVisualStudio2008.系统开发语言:C#。数据库管理系统软件:SQLServer2005。运行平台:WindowsXP。运行环境:Microsoft.NETFramework第3章数据库设计本系统采用SQLServer2005数据库,名称为db-showHouse,其中包含15张数据表。下面分别给出数据表概要说明、主要数据表结构。3.1数据表概要说明数据表树形结构图包括系统所有数据表如图3.1所示图3.1数据表树形结构图包括系统所有数据表3.2主数据表的结构(1)tb_employee(员工信息表)表tb_employee用于保存员工的基本信息,该表的结构如图3.1所示。图3.1员工信息表(2)tb_favor(朝向信息表)表tb_favor用于设置房源的朝向信息,该表的结构如图3.2所示。图3.2朝向信息表(3)tb_fitment(装修信息表)表tb_fitment用于设置房源装修信息,该表的结构如图3.3所示。

图3.3装修信息表(4)tb_floor(楼层信息表)表tb_floor用于设置房源楼层信息,该表的结构如图3.4所示。图3.4楼层信息表(5)tb_gov(民族信息表)表tb_gov用于保存员工的民族信息,该表的结构如图3.5所示。图3.5民族信息表(6)tb_log(日志信息表)表tb_log用于保存操作者使用该系统的日志记录,该表的结构如图3.6所示。图3.6日志信息表(7)tb_house(房屋信息表)表tb_house用于保存房屋信息,该表的结构如图3.7所示。图3.7房源信息表(8)tb_intent(求租意向表)表tb_intent用于保存求租人对房源的要求信息,该表的结构如图3.8所示。图3.8求租意向表(9)tb_login(登录信息表)表tb_login用于用户进入系统时进行核对,该表的结构如图3.9所示。图3.9登录信息表(10)tb_MoneyAndInfo(收费信息表)表tb_MoneyAndInfo用于保存收费信息,该表的结构如图3.10所示。图3.10收费信息表(11)tb_mothed(用途信息表)表tb_mothed用于保存房源的用途信息,该表的结构如图3.11所示图3.11用途信息表(12)tb_seat(幢座信息表)表tb_seat用于保存房源幢座信息,该表的结构如图3.12所示。图3.12幢座信息表(13)tb_StudyDegree(学历信息表)表tb_StudyDegree用于设置员工的学历,该表的结构如图3.13所示图3.13学历信息表(14)tb_type(房型信息表)表tb_type用于保存房源房型信息,该表的结构如图3.14所示。图3.14房型信息表(15)tb_user(客户信息表)表tb_user用于保存客户信息,该表的结构如图3.15所示图3.15客户信息表第4章系统模块设计4.1系统登录模块设计系统登录模块运行结果如图4.1所示。图4.1系统登录模块4.1.1功能分析系统登录模块主要用于对进入房屋中介系统的用户进行安全性检查,以防止非法用户进入该系统。在登录系统时,只有合法的用户才可以进入该系统,同时系统还可以根据登录用户的级别,给与其不同的操作权限。4.1.2窗体设计新建一个Windows窗体,命名为frmUserLogin.cs,它主要用于实现系统登录功能,该窗体主要用到的控件、空间属性设置及其用途如图所示.控件类型控件名称主要属性设置用途labUserRightTabStop设为true时,用户可以使用Tab键在窗体上移动显示信息cboxUName将其DropDownStyle属性设置只可选择“DropDownList”选择登录用户名txtPwd将其PasswordChar属性设置为*MaxLength输入登录用户密码btnLoginbtnExitTextAlign共有9种这里记为居中“MiddleCenter”登录清空图系统登录设置模块主要用到的控件4.1.3功能的实现声明局部变量及公共类ClsCon的对象,通过ClsCon的对象调用类中的方法,以实现数据库连接,代码略。frmUserLogin窗体的Load事件中,对ComboBox控件进行数据绑定,以列表形式显示用户登录名称。frmUserLogin窗体的Load事件代码略。单击“登录”按钮,调用登录信息表的方法类,判断用户输入的用户名和密码是否正确,如果正确,则登录房屋中介管理系统,同时分配该用户相应的权限,否则弹出“密码有误,3次后将自动关闭”的提示信息。“登录”按钮的Click事件代码略。单击“取消”按钮,程序则调用清空密码的方法,只要是在同一集合下的控件,都可以用这个方法来控制。“取消”按钮的Click事件代码略。4.2用户信息管理登录模块设计用户信息管理模块如图4.2所示。图4.2用户信息管理模块4.2.1功能分析用户信息管理模块主要用于管理用户信息。其中包括两种用户类型,即出租方和求租方。如果出租方没有提供房源,则可以通过本系统提供的垃圾信息清理机制将其清除,清除出租方的同时,出租方所提供的房源信息也将被清除(通过触发器trig_delete_tbUser清除)。4.2.2窗体设计新建一个Windows窗体,命名为frmPeopleList.cs,用于设置用户信息。该窗体主要用到的控件、控件属性设置及其用途如图所示。控件类型控件名称主要属性设置用途txtIDtxtNametxtHomePhonetxtPhonetxtCardID将其ReadOnly属性设置为False同上同上同上同上用户编号用户姓名宅电手机身份证号toolStrip1Items属性获取属于ToolStrip的所有项TextDirection属性获取或设置在ToolStrip属性上绘制文本的方向ImageList属性获取或设置ToolStrip项上显示的图像的图像列表ImageScalingSize属性获取或设置ToolStrip上所用图像的大小,以像素为单位修改删除查询退出ListView1Columns属性用于设置“详细信息”视图中显示的列显示用户信息TabControl1TapPages属性表示TabControl控件的所有选项卡;Alignment属性用于设置选项卡的显示部位作为容器图用户信息设置模块主要用到的控件4.2.3功能实现声明局部变量及公共类ClsCon的对象,通过该对象调用类中的方法,以实现数据库连接,代码略。在frmPeopleList窗体的Load事件中,通过调用自定义ListInfo方法对DataGridView控件进行数据绑定,显示所有系统用户信息。frmPeopleList窗体的Load事件代码略自定义UnAble方法,主要用来批量设置容器控件中相关控件的Enabled属性,代码略。自定义ListInfo方法,该方法接受查询语句,用来将查询结果绑定到ListView控件,代码略单击ListView控件中的任一单元格,将对应的详细客户信息显示在相应选项卡的文本框中,实现代码略。当用户在单击“出租人”选项卡或“求租人”选项卡时,在相应的选项卡页中显示客户信息,实现代码略。用户单击“删除”按钮,删除相关的客户信息,同时自动调用触发器trig_delete_tdUser,删除出租人所提供的房源信息。“删除”按钮的Click事件代码略。4.3房源信息设置模块设计房源信息设置模块运行结果如图4.3.1所示。图4.3.1房源信息设置模块4.3.1功能分析房源信息设置模块用于设置房源基本信息,它将多个基本表的信息和房屋表进行有机结合。通过视图view_house把信息呈给用户。本系统较为人性化的功能也在这里体显,即出租人在添加房源信息时,后台通过存储过程proc_house_insert为客户查找理想的房屋信息,如果有符合的信息,则会显示该信息,用户可以根据提示找到出租人,这样便做到了用最少的时间完成最有效的工作。4.3.2窗体设计新建一个Windows窗体,命名为frmHouse.cs,用于设置房屋信息,该窗体主要用到的控件、控件属性设置及用途如图所示。控件类型控件名称主要属性设置用途txtNametxtAreatxtPrice将其ReadOnly属性设置为False同上同上物业名称建筑面积每月单价cobFloodcobFovorcobXingcobZhuangcobDongcobUser将其DropDownStyle属性设置为DropDownList同上同上同上同上同上楼层朝向房型装修幢/座用途btnSelectbtnClearbtnUpdatebtnOKTextAlign属性值共有9种,这里设置为居中MiddleCenter同上同上同上确定(添加)取消修改就租你了(选定房源)dgvResult设置SelectionMode属性为FullRowSelect,即选取整行显示求租意向信息opImageFilter用对筛选文件类型选取图片图房源信息设置模块主要用到的控件4.3.3功能实现声明局部变量及公共类ClsCon的对象,通过该对象调用类中的方法,以实现数据库连接,代码略。在frmHouse窗体的Load事件中,通过M_str_Show变量判断本次调用窗体的目的。如果时浏览或修改信息,则将相应的信息显示到控件上,如果是添加信息,则将基本表的信息绑定到CombBox控件上。frmHouse窗体的Load事件中实现代码略。输入房源信息时,为了保证建筑面积和单价信息的有效性,在TextBox的KeyPress事件中调用自定义IsNum方法,该方法用来验证用户输入建筑面积和单价信息的合法性。自定义IsNum方法的代码略。在房源信息设置模块所示的窗体中单击“…”按钮,将更改后的信息立即在界面上显示。实现代码略。4.4房源信息查询模块设计房源信息查询模块运行结果如图4.4.1所示。图4.4.1房源信息查询模块4.4.1功能分析房源信息查询模块时房屋中介管理系统中重要的功能之一,它主要根据物业名称、楼层、价格、面积和朝向等条件进行查询,并且部分字段支持模糊查询。4.4.2窗体设计新建一个Windows窗体,命名为frmSelect.cs,用于查询房源信息,该窗体主要用到的控件、控件属性设置及用途如图所示。控件名称主要属性设置用途txtNametxtAreatxtPricetxtHouseID将其ReadOnly属性设置为False同上同上同上物业名称建筑面积价格房屋编号cobFloodcobFovorcobXingcobZhuangcobDongcobUser将其DropDownStyle属性设置为DropDownList同上同上同上同上同上楼层朝向房型装修幢/座用途btnSelectbtnClearbtnSelectAll将TextAlign属性值设置为居中MiddleCenter;将UseMnemonic属性设为true。同上同上查询清空全选dgvResultSelectionMode属性设置为FullRowSelect,以选取整行;单机RowTemplate属性列表选择属性,将出现CellStyle生成器,在该生成器内选择SelectionBackColor属性,以设置被选取行的前景颜色显示房源信息epIfoBlinkStyle属性设置为BlinkIfDifferentError该属性用于控制当确定错误后,错误图标是否闪烁提示错误信息nudYearMinimum和Maxinmum属性用于设置最大值和最小值,这里设置为1和100显示建筑年限chkCheckCheckState属性设置为Unchecked控制查询条件图房源信息查询模块主要用到的控件4.4.3功能实现声明局部变量及公共类ClsCon的对象,通过该对象调用类中的方法,以实现数据库连接,代码略。frmSelect窗体的Load事件中,DataGridView控件进行数据绑定,以显示房源相关信息。frmSelect窗体的Load事件代码略。通过选择CheckBox控件生成查寻条件语句,每个CheckBox控件对应房源信息表中相关的字段。CheckBox控件的CheckedChanged事件的代码略。单击“查询”按钮,对strMidle变量进行相关处理,动态生成SQL语句。“查询”按钮的Click事件代码略。4.5房源状态查询模块设计房源状态查询模块设计运行结果如图4.5.1所示图4.5.1房源状态查询模块4.5.1功能分析房源状态查询模块主要完成房源状态的查看,同时提供预订和取消预订的功能。房源状态以图标形式显示,灵活地运用了ListView控件的View属性。此种方法显示房源状态为使用者提供了更方便地查看方式,并且客户还有预约和取消预约房源的机会,给客户更多思考的空间,又一次体现出本系统人性化的设计思想。4.5.2窗体设计新建一个Windows窗体,命名为frmStateHouse.cs,用于查看房屋状态、预定和取消预定房屋。该窗体主要用到的控件、控件属性设置及其用途如图所示。控件类型控件名称主要属性设置用途txtPhone将其ReadOnly属性设置为False手机rbHaverbNonerbRemark将其DropDownStyle属性设置DropDownList同上同上仓库名称货物名称货物规格btnRemarkbtnUndoRemarkbtnSelectBtnSelectTextAlign属性值有9种,这里设置为居中同上同上同上预订取消预订按状态查询显示全部LVHouse将ContextMenuStrip属性设置为cmLiftMothed显示房源信息cmLiftMothed将AutoClose属性设置为True快捷菜单epInfoBlinkStyle属性设置为BlinkIfDifferentError提示错误信息imgList将ImageSize属性设置为16,16绑定ListView控件以显示图标图房源状态查询模块主要用到的控件4.5.3功能实现声明局部变量和公共类ClsCon的对象,通过ClsCon的对象调用类中的方法,实现数据库连接,代码略。在frmStateHouse窗体的Load事件中,进行数据绑定,以显示房源状态相关信息。房屋中介管理系统提供了房屋3种状态的表现形式,即“闲置”、“预定和“出租”,主要通过ListInfo方法显示房屋不同状态的图标。该功能的实现代码略。用户可以通过输入手机号码预订或取消预订房源信息,在txtPhone控件中按下回车键时,判断用户是否有权享有这两项功能。4.6员工信息设置模块设计员工信息设置模块运行结果图4.6.1所示。图4.6.1员工信息设置模块4.6.1功能分析员工信息设置模块主要用于管理员工信息。例如给出不同的员工分配不同的使用权限和工资等。当添加员工时,通过触发器trig_insertOfEmployeeinLogin.将其添加到系统用户表中,并且将密码及权限进行初始化。例如密码统一为mrsoft,权限为普通员工。4.6.2窗体设计新建一个Windows窗体,命名为frmEmployeeyAll.cs,用于实现修改、删除和查看员工信息的功能,该窗体主要用到的控件、控件属性设置及其用途如图所示。控件类型控件名称主要属性设置用途txtBasePaytxtNametxtPhone将其readonly属性设置为false同上同上基本工资员工姓名手机cobPower将其DropDownStyle属性设置为DropDownList权限列表dataGridView设置SelectionMode属性为FullRowSelect,以选取整行显示员工信息toolStrip将TextDirection属性设置为Horizontal控制操作图员工信息设置模块主要用到的控件4.6.3功能实现声明局部变量和公共类ClsCon的对象,通过ClsCon的对象调用类中的方法,实现数据库连接,代码略在frmEmployeeyAll.cs窗体的load事件中,通过调用自定义showAll方法对dataGridView控件进行员工信息绑定。当用户单击dataGridView表格时,将表格中的员工信息显示在相应的文本框中。以上过程需要在dataGridView控件的SelectionChanged事件下完成。自定义selectInfo方法,主要用来显示员工详细信息。单击“确定”按钮,通过视图和INSTEADOF触发器并用,完成员工信息和登陆表的更新操作。第5章疑难问题解析5.1通过触发器对视图进行添加、修改和删除操作当直接对视图表进行操作时,如果没有insteadof触发器是无法操作的,如果视图是由多个表组成的,一一对每个表进行操作很麻烦,而且出错的可能性很大。通过下面的代码便可以轻松的解决,trig_update_OfEmployee是一个update触发器,针对由员工表和登录表组成的视图view_employeey进行添加、修改和删除操作。trig_update_OfEmployee触发器代码如下:createTRIGGERtrig_update_OfEmployeeONview_employeeyINSTEADOFupdateASBEGINdeclare@UNamevarchar(15)declare@powervarchar(10)declare@phonevarchar(10)declare@moneynumericselect@power=权限,@UName=姓名,@phone=电话,@money=工资frominsertedupdatetb_loginsetlogin_power=@powerwherelogin_name=@Unameupdatetb_employeesetemployee_basepay=@money,employee_phone=@phonewhereemployee_name=@Uname5.2结束数据库连接进程完成数据库还原还原数据时,应确保要还原的数据库处于非连接状态,否则无法还原数据。为了达到要求,我们在这里写了一个过程killspid。存储过程killspid通过游标找到相应数据库的编号,然后使用kill方法杀死数据库连接过程。存储过程在应用过程中,须在前台通过传递相应的参数完成,有时可能出现服务器超时信息,则再次执行后会成功。在“还原”按钮的Click事件中调用存储过程,代码如下:privateboolRestoreBase(stringserverName,stringuID,stringpWD,stringdataBase,stringbakPath){SqlConnectionRestoreCon=newSqlConnection(“server=”+severName+”;uid=”uID+”;pwd=”pWD”;database=master”);SqlCommandRestoreCmd=newSqlCommand(“killspid”RestoreCon);RestoreCmd.CommandType=CommandType.StoredProcedure;RestoreCmd.Parameters.Add(“@dbname”,SqlDbType.VarChar,50);RestoreCmd.Parameters[“@dbname”].Value=””+dataBase+””;Try{RestoreCon.Open();RestoreCmd.ExcuteNonQuery();SqlCommandRestoreCmd1=newSqlCommand();RestorwCmd1.CommandText=”RESTOREdatabase”+dataBase+“FROMDISK=”+bakPath+””;RestorwCmd1.Connection=RestoreCon;RestorwCmd1.ExcuteNonQuery();RestoreCon.Close();Returnedtrue;}catch{RestoreCon.Close();Returnfalse;}}第6章课程设计小结和心得6.1小结在运行程序的时候,首先要进行数据库连接,否则无法运行,系统会提示错误信息。学会触发器的使用非常有必要,我们可以运用触发器解决一些问题,触发器可以对视图进行添加,修改和删除操作。6.2心得通过对此程序的设计和开发,能让我从中学到不少的知识,能充分的体会到做开发首先要熟练地掌握编程的各种技能,在这次课程设计中,我还懂得了程序开发的一些比较重要的步骤,比如需求分析、总体设计、数据库设计(含概念设计、逻辑设计、物理设计)、程序模块设计(含功能需求、用户界面设计、程序代码设计与分析、运行结果)、系统使用说明等。总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。最重要的还是激发了我编程的兴趣和热情,让我从一个只懂理论变成了能做一些小型程序,让我对编程更加热爱了。整体地评价这次课程设计,我认为收获很大,正如上面所说的那样,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识;设计增强了我们用所学知识去解决具体问题的能力,进一步培养了我们独立思考问题和解决问题的能力。第七章源代码7.1系统登录模块设计代码单击“登录”按钮,调用登录信息表的方法类,判断用户输入的用户名和密码是否正确,如果正确,则登录房屋中介管理系统,同时分配该用户相应的权限,否则弹出“密码有误,3次后将自动关闭……”的提示信息。“登录”按钮的Click事件代码如下:privatevoidbtnLogin_Click(objectsender,EventArgse){#region//用户与密码是否正确不正确给三次机会然后关闭cl.LName=this.cobName.Text;cl.LPwd=this.txtPwd.Text.Trim().ToString();stringpower=cm.select_table(cl);if(power!="none"){//调一个方法如果成功进入后台否则记到登陆日制中frmMainfm=newfrmMain();this.Hide();fm.M_str_Power=this.cobName.Text+"@"+power;fm.Show();}elseif(this.txtPwd.Text==""&&this.cobName.Text==""){//当所有信息都没有时这是一个入口frmMainfm=newfrmMain();this.Hide();fm.Show();}else{if(ErrorNum==cl.LName){Num+=1;if(Num>=3){this.Close();}}else{ErrorNum=cl.LName;Num+=1;}MessageBox.Show("密码有误,三次后将自动关闭,这是第"+Num+"次");this.txtPwd.Text=string.Empty;this.txtPwd.Focus();}}7.2用户信息管理登录模块设计代码在frmPeopleList窗体的load事件中,通过调用自定义ListInfo方法对DataGridView控件进行数据绑定,显示所有系统用户信息。frmPeopleList窗体的load事件关键代码如下:privatevoidfrmPeopleList_Load(objectsender,EventArgse){sbSql.Append("selectUser_IDs,User_names,User_homePhone,User_cardID,User_phonefromtb_User");ListInfo(sbSql.ToString());UnAble();}privatevoidtp_cancel_Click(objectsender,EventArgse){this.Close();}当用户在单击“出租人”选项卡或“求租人”选项卡时,在相应的选项卡页中显示客户信息,实现代码如下:privatevoidtabControl1_SelectedIndexChanged(objectsender,EventArgse){if(this.tabControl1.SelectedTab.Text=="出租人"){sbWhere.Append("whereuser_type='lend'");ListInfo(sbSql.ToString()+sbWhere.ToString());sbWhere.Remove(0,sbWhere.Length);}elseif(this.tabControl1.SelectedTab.Text=="求租人"){sbWhere.Append("whereuser_type='want'");ListInfo(sbSql.ToString()+sbWhere.ToString());sbWhere.Remove(0,sbWhere.Length);}}单击ListView控件中的任一单元格,将对应的详细客户信息显示在相应选项卡的文本框中,实现代码如下:privatevoidlistView1_Click(objectsender,EventArgse){stringstrID=this.listView1.SelectedItems[0].Text.ToString();stringsql="selectUser_IDs,User_names,User_homePhone,User_cardID,User_phonefromtb_Userwhereuser_ids='"+strID+"'";SqlCommandcmd=newSqlCommand(sql,con.conn);con.closeCon();cmd.Connection.Open();SqlDataReaderdr=cmd.ExecuteReader();if(strID.Substring(0,4)=="lend"){this.tabControl1.SelectTab(0);while(dr.Read()){this.textBox1.Text=dr[0].ToString();this.textBox2.Text=dr[1].ToString();this.textBox3.Text=dr[2].ToString();this.textBox4.Text=dr[3].ToString();this.textBox5.Text=dr[4].ToString();}}else{this.tabControl1.SelectTab(1);while(dr.Read()){this.textBox10.Text=dr[0].ToString();this.textBox9.Text=dr[1].ToString();this.textBox8.Text=dr[2].ToString();this.textBox7.Text=dr[3].ToString();this.textBox6.Text=dr[4].ToString();}}dr.Close();con.closeCon();tb_update.Enabled=true;}7.3房源信息设置模块设计代码在frmHouse窗体的Load事件中,通过M_str_Show变量判断本次调用窗体的目地。如果是浏览或修改信息,则将相应的信息显示到控件上,如果是添加信息,则将基本表的信息绑定到ComboBox控件上。frmHouse窗体的Load事件中实现代码如下:privatevoidfrmHouse_Load(objectsender,EventArgse){stringstrHouseState=string.Empty;con.ConDatabase();flushFaove();flushfitment();flushfloor();flushmothed();flushseat();flushtype();if(M_str_Show==String.Empty){try{SqlCommandcmd=newSqlCommand("selectMax(house_ID)fromtb_house",con.conn);cmd.Connection.Open();strResult=cmd.ExecuteScalar().ToString();con.closeCon();if(strResult==""){strResult="hou1001";}else{stringstrTemp=strResult.Substring(3);strResult="hou"+Convert.ToString(Int32.Parse(strTemp)+1);}this.lblHouseID.Text="您的房屋编号为:"+strResult;}catch(Exceptioney){con.closeCon();MessageBox.Show(ey.Message);}}else{this.button8.Visible=false;this.butOK.Visible=false;Visable();SqlCommandcmd=newSqlCommand("select*fromtb_housewherehouse_ID='"+M_str_Show+"'",con.conn);con.conn.Open();SqlDataReaderdr=cmd.ExecuteReader();if(dr.HasRows){while(dr.Read()){lblHouseID.Text=dr[0].ToString();this.txtName.Text=dr[1].ToString();this.picHouse.ImageLocation=dr[8].ToString();txtPrice.Text=dr[9].ToString();this.nudYear.Value=Convert.ToDecimal(dr[11].ToString());this.txtArea.Text=dr[12].ToString();this.ttbRemark.Text=dr[13].ToString();strHouseState=dr[4].ToString();this.cboXing.SelectedValue=dr[2].ToString();this.cobDong.SelectedValue=dr[3].ToString();this.cboFavoe.SelectedValue=dr[6].ToString();this.cobZhuang.SelectedValue=dr[5].ToString();this.cobUser.SelectedValue=dr[7].ToString();this.cobFlood.SelectedValue=dr[10].ToString();}}con.closeCon();if(strHouseState=="none"){//什么时候出显button1.Visible=true;button2.Visible=true;}}}privatevoidflushFaove(){con.ConDatabase();try{SqlDataAdapterda=newSqlDataAdapter("select*fromtb_favor",con.conn);DataTabledt=newDataTable();da.Fill(dt);cboFavoe.DataSource=dt.DefaultView;cboFavoe.DisplayMember="favor_name";cboFavoe.ValueMember="house_favorID";}catch(Exceptioney){MessageBox.Show(ey.Message);}}privatevoidflushfitment(){con.ConDatabase();try{SqlDataAdapterda=newSqlDataAdapter("select*fromtb_fitment",con.conn);DataTabledt=newDataTable();da.Fill(dt);cobZhuang.DataSource=dt.DefaultView;cobZhuang.DisplayMember="fitment_name";cobZhuang.ValueMember="house_fitmentID";}catch(Exceptioney){MessageBox.Show(ey.Message);}}privatevoidflushfloor(){con.ConDatabase();try{SqlDataAdapterda=newSqlDataAdapter("select*fromtb_floor",con.conn);DataTabledt=newDataTable();da.Fill(dt);cobFlood.DataSource=dt.DefaultView;cobFlood.DisplayMember="floor_name";cobFlood.ValueMember="house_floorID";}catch(Exceptioney){MessageBox.Show(ey.Message);}}privatevoidflushmothed(){con.ConDatabase();try{SqlDataAdapterda=newSqlDataAdapter("select*fromtb_mothed",con.conn);DataTabledt=newDataTable();da.Fill(dt);cobUser.DataSource=dt.DefaultView;cobUser.DisplayMember="mothed_name";cobUser.ValueMember="house_mothedID";}catch(Exceptioney){MessageBox.Show(ey.Message);}}privatevoidflushseat(){con.ConDatabase();try{SqlDataAdapterda=newSqlDataAdapter("select*fromtb_seat",con.conn);DataTabledt=newDataTable();da.Fill(dt);cobDong.DataSource=dt.DefaultView;cobDong.DisplayMember="seat_name";cobDong.ValueMember="house_seatID";}catch(Exceptioney){MessageBox.Show(ey.Message);}}单击“…”按钮,将更改后的信息立即在界面上显示,实现代码如下:privatevoidflushtype(){con.ConDatabase();try{SqlDataAdapterda=newSqlDataAdapter("select*fromtb_type",con.conn);DataTabledt=newDataTable();da.Fill(dt);cboXing.DataSource=dt.DefaultView;cboXing.DisplayMember="type_names";cboXing.ValueMember="huose_typeID";}catch(Exceptioney){MessageBox.Show(ey.Message);}}7.4房源信息查询模块设计代码frmSelect窗体的load事件中,DataGridView控件进行数据绑定,以显示房源相关信息。实现代码如下:privatevoidfrmSelect_Load(objectsender,EventArgse){try{con.ConDatabase();SplDataAdapterda=newSplDataAdapter(“select*fromview_house”,con.conn);DataTabledt=newDataTable();da.Fill(dt);this.dataGridView1.DataSource=dt.DefaultView;}catch(Exceptioney){MessageBox.Show(ey.Message);}}单击“查询”按钮,对strMidle变量进行相关处理,动态生成SQL语句,代码如下:privatevoidbutton1_Click(objectsender,EventArgse){strSql.Append("select*fromview_housewhere");if(strMidle.IndexOf("house_companyName")!=-1){if(strWhere!=string.Empty){strWhere+="and"+"物业名称like'%"+this.txtName.Text.Trim().ToString()+"%'";}else{strWhere+="物业名称like'%"+this.txtName.Text.Trim().ToString()+"%'";}strMidle=strMidle.Replace("house_companyName","#");}if(strMidle.IndexOf("huose_typeID")!=-1){if(strWhere!=string.Empty){strWhere+="and"+"类型='"+this.cboXing.Text.ToString()+"'";}else{strWhere+="类型='"+this.cboXing.Text.ToString()+"'";}strMidle=strMidle.Replace("huose_typeID","#");}if(strMidle.IndexOf("house_seatID")!=-1){if(strWhere!=string.Empty){

温馨提示

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

评论

0/150

提交评论