




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录
任务利用SQLServer数据系统验证程序的准确性验证程序的准确性任务:利用SQL数据库系统验证程序的准确性准备知识课程设计的目的和意义系统分析与设计数据库设计与实现1.课程设计的目的和意义1.课程设计的目的和意义我国北方的大部分城市冬天都采取集中供暖制度,按照住房面积收缴取暖费。但是这种收费方式存在着很大的弊病,比如客厅和厨房晚上是没有人居住的,所以并不需要供暖。按照现在的供暖方式,客厅和厨房在晚上也是进行供暖的,这样就浪费了大量的热量。还有就是即使整个住房都没有人住,但是冬天也照样要按照住房面积交纳取暖费。致使许多居民对这种收费方式很不满意,也给供热公司的工作造成很大的麻烦。国家建设部2000年发布了《民用建筑节能管理规定》,从2000年10月起,所有利用集中供热的新建住宅,“推行温度调节和户用热量计量装置,实行供热计量收费”。小提示:2.系统分析与设计2.系统分析与设计目前已有许多城市的供暖收费制度已经改革为按使用热量收费,大家的节能意识都有很大提高。上班前关掉家里的供暖阀门,下班后再打开,晚上休息后关掉客厅和厨房的供暖阀门。不仅为国家节约大量的燃煤,居民也节省了不少的取暖费。因此为了适应新的供暖制度,一套新的供暖管理及收费软件也相应而生。这是一套相当庞大的系统,包括管理、控制、抄表、收费等等多个子系统,我们这里不可能全面的讲解。所以我们以收费子系统为例,简化的讲解一下实际的应用。2.系统分析与设计2.系统分析与设计(1)功能描述1)住户信息登记。包括住户的联系人姓名、电话、当前剩余热量、当前状态、住房信息、用户类型等。2)住户预购热量。即住户预缴纳一定的费用进行热量购买。3)住房信息登记。登记住户住房的信息,包括小区信息、楼号、单元号、门牌号、或其他地址、热量表编号等。4)热量收费标准设置。即定制每千卡热量的单价。可以根据用户类型的不同定制不同的收费标准。5)住户热量结算。每天跟据住户使用的热量和住户的剩余热量进行结算,即用住户昨天的剩余热量减去当天使用的热量等到今天的剩余热量,如果剩余热量为负数则置用户为欠费状态;如果剩余热量低于预定阀值,则置用户为预警用户等等。6)预警阀值设定。根据住户平均的天消耗热量设定预警阀值。7)小区信息登记。8)预警用户统计。对已经进入预警阀值的用户进行查询统计,然后进行预交费通知,避免用户由于未能及时交费造成热量表关闭阀门。2.系统分析与设计2.系统分析与设计(2)功能模块设计根据功能描述,热量收费系统可以分为3大模块,每个模块都提供了更具体的功能。热量收费系统的功能模块图如图所示。系统功能模块图3.数据库设计与实现3.数据库设计与实现(1)数据库需求设计根据系统功能模块图中的具体功能,我们对数据库需求进行设计。1)住户信息,住户编号、联系人姓名、联系人电话、联系人手机、用户类型、当前状态、剩余热量、住房编号、收费标准2)住房信息,小区编号、住房编号、楼号、单元号、门牌号、其他地址、热量表编号、当前读值、当前状态、是否更新3)热表抄表记录,热量表编号、当前读值、抄表时间4)预购热量信息,住户编号、收费标准、预购热量值、收费金额、优惠金额、交费日期5)结算记录,计算日期,住户编号、住房编号、热量表编号、上次读值、当前读值、结算值。6)热表更换记录,住房编号、拆除表编号、替换表编号7)收费标准,收费标准编号、收费标准、制定日期、当前状态、用户类型8)预警阀值信息,阀值编号、天平均消耗、阀值系数、制定日期、当前状态9)用户类型,住户类型编号、住户类型,比如一般住户、商业住户、五保住户等等,住户类型不同其收费标准也不相同。10)小区信息,小区编号、小区名称3.数据库设计与实现3.数据库设计与实现(2)数据库表的设计1)住户信息表(Customers)住户类型的不同,其收费标准也不同,具体的值可以设置,比如一般住户、商业住户、五保住户等等。当前状态表示当前住户处于的状态:正常、预警、欠费、注销。字段名称数据类型可否为空说明CustomerNointIdentity(1,1)NOTNULL住户编号LinkmanNameVarchar(20)NOTNULL联系人姓名PhoneNoVarchar(20)NULL电话MobileNoVarchaar(20)NULL手机CustomerTypeNoIntNOTNULL用户类型编号CustomerStateVarchar(10)NOTNULL当前状态SurplusIntNOTNULL剩余热量RoomNoIntNOTNULL住房编号ChargeNoIntNOTNULL收费标准住户信息表3.数据库设计与实现3.数据库设计与实现2)住房信息(Room)住房信息的楼号、单元号、门牌号为一组信息,其他地址为一组信息,这两组信息只能有一组为空,我们通过触发器来维护这两组数据的完整性。住房信息表字段名称数据类型可否为空说明RegionNoIntNOTNULL小区编号RoomNoIntIdentity(1,1)NOTNULL住房编号BuildingNoVarchar(10)NULL楼号CellNoVarchar(10)NULL单元号HouseNoVarchar(10)NULL门牌号OtherAddrVarchar(50)NULL其他地址HeaterNoIntNOTNULL热表编号CurrentNumberIntNOTNULL当前读值CurrentStateVarchar(10)NOTNULL当前状态ForUpdateVarchar(1)NOTNULL是否更新3.数据库设计与实现3.数据库设计与实现3)热表抄表记录(HeaterRecorder)热表抄表记录是每次抄表巡检系统依次读取网络中每一块热表当前的标值,实际应用中每天进行一次抄表,当然这个时间是可以设定的,抄表记录是住户结算的依据。热表抄表记录字段名称数据类型可否为空说明HeaterNoIntNOTNULL热表编号CurrentNumberIntNOTNULL当前读值RecordTimeDatetimeNOTNULL抄表时间3.数据库设计与实现3.数据库设计与实现4)预购热量信息(BuyHeat)预购热量信息字段名称数据类型可否为空说明CustomerNoIntNOTNULL住户编号CharegNoIntNOTNULL收费标准BuyHeatIntNOTNULL预购热量MoneyIntNOTNULL收费金额ReduceMoneyIntNOTNULL优惠金额PayTimeDatetimeNOTNULL交费日前3.数据库设计与实现3.数据库设计与实现5)结算记录(Reckoning)结算操作一般为每天晚上进行,在每天抄表完成之后进行计算。结算记录字段名称数据类型可否为空说明ReckoningTimeDatetimeNOTNULL结算时间CustomerNoIntNOTNULL住户编号RoomNoIntNOTNULL住房编号HeaterNoIntNOTNULL热表编号PreviousNumberIntNOTNULL上次读值CurrentNumberIntNOTNULL当前读值ReckoningNumberIntNOTNULL结算值3.数据库设计与实现3.数据库设计与实现6)热表更换记录(HeaterInstead)热表更换记录字段名称数据类型可否为空说明RoomNoIntNOTNULL住房编号UninstallHeaterNoIntNOTNULL拆除表编号InstallHeaterNoIntNOTNULL替换表编号CurrentNumberIntNOTNULL替换表读值3.数据库设计与实现3.数据库设计与实现7)收费标准(ChargeNo)收费标准是根据不同的住户类型决定的,不同的住户类型其收费标准是不一样的。当前状态表示该收费标准是否可用,不可用的收费标准在登记住户时是不出现的。收费标准字段名称数据类型可否为空说明ChargeNoIntIdentity(1,1)NOTNULL收费标准编号ChargeIntNOTNULL收费标准InsertTimeDatetimeNOTNULL制定日期InUseVarchar(1)NOTNULL当前状态CustomerTypeNoIntNOTNULL住户类型3.数据库设计与实现3.数据库设计与实现8)预警阀值信息(Forecast)预警阀值用于每天的结算操作,结算操作会根据每个住户的剩余热量和预警阀值设定住户是否属于预警住户,第二天操作员可以统计预警住户,使用电话通知系统或者短信平台对该住户进行通知。预警阀值信息字段名称数据类型可否为空说明ForecastNoIntIdentity(1,1)NOTNULL预警阀值编号DayAverageIntNOTNULL日平均消耗值QuotietyintNOTNULL系数InsertTimeDatetimeNOTNULL制定日期InUseVarchar(1)NOTNULL当前状态3.数据库设计与实现3.数据库设计与实现9)住户类型(CustomerType)住户类型字段名称数据类型可否为空说明CustomerTypeNoIntIdentity(1,1)NOTNULL住户类型编号CustomerTypeVarchar(20)NOTNULL住户类型3.数据库设计与实现3.数据库设计与实现10)小区信息(Region)小区信息字段名称数据类型可否为空说明RegionNoIntIdentity(1,1)NOTNULL小区编号RegionNameVarchar(20)NOTNULL小区名称3.数据库设计与实现3.数据库设计与实现(3)数据库表的实现创建以上数据表的SQL语句如下:--住户信息表表CREATETABLE[dbo].[Customers]( [CustomerNo][int]IDENTITY(1,1)NOTNULL, [LinkManName][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL, [PhoneNo][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [MobileNo][varchar](20)COLLATEChinese_PRC_CI_ASNULL, [CustomerTypeNo][int]NOTNULL, [CustomerState][varchar](10)COLLATEChinese_PRC_CI_ASNULLNOTNULL, [Surplus][int]NOTNULL, [RoomNo][int]NOTNULL, [ChargeNo][int]NOTNULL)3.数据库设计与实现3.数据库设计与实现--住房信息CREATETABLE[dbo].[Room]( [RegionNo][int]NOTNULL, [RoomNo][int]IDENTITY(1,1)NOTNULL, [BuildingNo][varchar](10)COLLATEChinese_PRC_CI_ASNULL, [CellNo][varchar](10)COLLATEChinese_PRC_CI_ASNULL, [HouseNo][varchar](10)COLLATEChinese_PRC_CI_ASNULL, [OtherAddr][varchar](50)COLLATEChinese_PRC_CI_ASNULL, [HeaterNo][int]NOTNULL, [CurrentNumber][int]NOTNULL, [CurrentState][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL, [ForUpdate][varchar](1)COLLATEChinese_PRC_CI_ASNOTNULL)3.数据库设计与实现3.数据库设计与实现--热表抄表记录CREATETABLE[dbo].[HeaterRecorder]( [HeaterNo][int]NOTNULL, [CurrentNumber][int]NOTNULL, [RecordTime][datetime]NOTNULL)3.数据库设计与实现3.数据库设计与实现--预购热量信息CREATETABLE[dbo].[BuyHeat]( [CustomerNo][int]NOTNULL, [CharegNo][int]NOTNULL, [BuyHeat][int]NOTNULL, [Money][int]NOTNULL, [ReduceMoney][int]NULL, [PayTime][datetime]NOTNULL)3.数据库设计与实现3.数据库设计与实现--结算记录CREATETABLE[dbo].[Reckoning]( [ReckoningTime][datetime]NOTNULL, [CustomerNo][int]NOTNULL, [RoomNo][int]NOTNULL, [HeaterNo][int]NOTNULL, [PreviousNumber][int]NOTNULL, [CurrentNumber][int]NOTNULL, [ReckoningNumber][int]NOTNULL)3.数据库设计与实现3.数据库设计与实现--热表更换记录CREATETABLE[dbo].[HeaterInstead]( [RoomNo][int]NOTNULL, [UninstallHeaterNo][int]NOTNULL, [InstallHeaterNo][int]NOTNULL, [CurrentNumber][int]NOTNULL)3.数据库设计与实现3.数据库设计与实现--收费标准CREATETABLE[dbo].[ChargeNo]( [CustomerTypeNo][int]NOTNULL, [ChargeNo][int]IDENTITY(1,1)NOTNULL, [Charge][int]NOTNULL, [InsertTime][datetime]NOTNULL, [InUse][varchar](1)COLLATEChinese_PRC_CI_ASNOTNULL)3.数据库设计与实现3.数据库设计与实现--预警阀值信息CREATETABLE[dbo].[Forecast]( [ForecastNo][int]IDENTITY(1,1)NOTNULL, [DayAverage][int]NOTNULL, [Quotiety][int]NOTNULL, [InsertTime][datetime]NOTNULL, [InUse][varchar](1)COLLATEChinese_PRC_CI_ASNOTNULL)3.数据库设计与实现3.数据库设计与实现--住户类型CREATETABLE[dbo].[CustomerType]( [CustomerTypeNo][int]IDENTITY(1,1)NOTNULL, [CustomerType][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL)3.数据库设计与实现3.数据库设计与实现--小区信息CREATETABLE[dbo].[Region]( [RegionNo][int]IDENTITY(1,1)NOTNULL, [RegionName][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL)运行查询分析器t,进入“连接到SQLserver登录”页面,有两种登陆模式,用户可以根据自己SQL安装时的情况,选择登陆登录成功后,在页面的编辑区域输入上述SQL语句,单击F5键,即可创建这些数据表。3.数据库设计与实现3.数据库设计与实现(4)数据库存储过程的实现登记住户信息存储过程完成住户信息的登记,包括住户姓名、联系电话、联系手机、住户类型、住房编号、收费标准。登记预购热量存储过程完成了住户预购热量记录,包括住户编号、收费标准、预购热量、应收金额、优惠金额、预购日期。3.数据库设计与实现3.数据库设计与实现(4)系统界面的实现完成系统分析后、做好数据库的设计和实现后,接下来就可以进行热量收费系统的界面设计和编码了。1)创建应用程序①主界面的设计运行Delphi,打开Delphi主页面后,会自动生成一个Form,我们就从这个页面开始我们的程序设计。要注意!电压跟随器是同相比例运算的特殊情况,输入电阻大,输出电阻小。在电路中作用与分立元件的射极输出器相同,但是电压跟随性能好。要注意!主页面共分为4部分。上部分是菜单和快捷键部分,包括住户管理、住房管理和系统设置。左边是住户查询区,分为按小区查询和详细查询两种查询方式。右边的上部分是查询住户的信息浏览框,通过左面的小区查询或者详细查询,将查询的住户信息在列表框中展示出来。左下部分是住户预购热量区,通过在左上选中某个住户可以在预购热量区进行热量预购。3.数据库设计与实现3.数据库设计与实现如图所示。程序主界面3.数据库设计与实现3.数据库设计与实现②菜单设计系统菜单一共分为3大项,分别为住户管理、住房管理和系统设置,每个菜单项下面又有各自的子菜单。下表列出了主菜单和各个子菜单的名称及其相应处理函数或过程。菜单设计主菜单项名称子菜单项名称函数或过程住户管理M_CustomersManager登记住户信息NNewCustomerNNewCustomerClick每天结算NRcekoningNRcekoningClick预警住户统计NForecastCustomersNForecastCustomersClick住房管理M_RoomManager住房信息登记NNewRoomNNewRoomClick更换热表NChangeHeaterNChangeHeaterClick住户类型设置M_SystemSetting住户类型设置NCustomerTypeNCustomerTypeClick收费标准制定NChargeStandardNChargeStandardClick预警阀值设置NForecastNForecastClick分片小区登记NRegionManagerNRegionManagerClick3.数据库设计与实现3.数据库设计与实现下图为设计效果图。菜单设计3.数据库设计与实现3.数据库设计与实现③查询部分的设计查询部分提供了两种查询方式:按小区查询和详细查询。我们在前面的数据库设计时已经提到,为了便于住户信息的管理和查询统计,将住户按小区进行分片。这里的小区查询就是以小区为关键字进行住户的查询统计,当然这种查询方法的查询结果面积比较大,不易于准确定位,但是便于浏览小区的所有住户情况。详细查询提供了准确定位的查询方法。小提示:可以按照小区、联系人姓名、联系人电话、联系人手机、住户类型、住户状态等信息进行精确的定位。3.数据库设计与实现3.数据库设计与实现下表列出了该部分的控件、控件类型、控件ID及相关函数或事件。控件类型ID函数或事件属性及说明TListViewLV_RegionLV_RegionSelectItem按小区名称进行住户查询TLabelTLabel1小区名称标签TLabelTLabel2联系人姓名标签TLabelTLabel3联系人电话标签TLabelTLabel4联系人手机标签TLabelTLabel5住户类型标签TLabelTLabel6住户状态标签TEditE_region小区名称编辑框TEditE_LinkMan联系人姓名编辑框TEditE_LinkPhone联系人电话编辑框TEditE_LinkMobile联系人手机编辑框TEditCB_CustomerType住户类型下拉列表TEditCB_CustomerState住户状态下拉列表TButtonBtn_searchBtn_searchClick按详细条件进行住户查找查询界面资源列表3.数据库设计与实现3.数据库设计与实现下面为两个查询页框的设计效果图。分区查询、详细查询界面3.数据库设计与实现3.数据库设计与实现④住户信息浏览及预购热量住户信息浏览框展示住户查询结果的信息,通过选择某个住户后,在下面的预购热量页框里进行热量预购操作。住户信息浏览及预购热量资源列表控件类型ID函数或事件属性及说明TListViewLV_customersLV_customersSelectItem选择住户进行交费TLabelLabel7预购热量标签TLabelLabel8应交金额标签TLabelLabel9优惠金额标签TEditE_buyHeat预购热量编辑框TEditE_money应交金额编辑框TEditE_ReduceMoney优惠金额编辑框TButtonB_ChargeB_ChargeClick进行交费3.数据库设计与实现3.数据库设计与实现下图为设计效果图。住户浏览及预购热量设计3.数据库设计与实现3.数据库设计与实现⑤部分代码//登记住户信息procedureTHeaterForm.NNewCustomerClick(Sender:TObject);beginForm_newcustomer.showmodal;end;//每天结算procedureTHeaterForm.NRcekoningClick(Sender:TObject);beginForm_reckoning.showmodal;end;3.数据库设计与实现3.数据库设计与实现//预警住户统计procedureTHeaterForm.NForecastCustomersClick(Sender:TObject);beginForm_Forecast.showmodal;end;//住房信息登记procedureTHeaterForm.NNewRoomClick(Sender:TObject);beginForm_NewRoom.showmodal;end;3.数据库设计与实现3.数据库设计与实现//更换热表procedureTHeaterForm.NChangeHeaterClick(Sender:TObject);beginForm_changeHeater.showmodal;end;//住户类型设置procedureTHeaterForm.NCustomerTypeClick(Sender:TObject);beginForm_CustomerType.showmodal;end;//收费标准设置procedureTHeaterForm.NChargeStandardClick(Sender:TObject);beginForm_ChargeStandard.showmodal;end;3.数据库设计与实现3.数据库设计与实现//预警阀值设置procedureTHeaterForm.NForecastClick(Sender:TObject);beginForm_forecastSetting.showmodal;end;//分片小区登记procedureTHeaterForm.NRegionManagerClick(Sender:TObject);beginForm_Region.showmodal;end;3.数据库设计与实现3.数据库设计与实现2)创建数据库连接在设计到数据库操作之前,我们要先设计相关的数据库操作。我们在系统中把所有关于数据的操作放到DataModule中。打开File菜单,选择New。DataModule对话框3.数据库设计与实现3.数据库设计与实现delphi会自动生成一个DataModule页面,我们选择用ADO连进行连接和操作SQLServer2019。DataModule设计3.数据库设计与实现3.数据库设计与实现我们在DataModule页面里面放置一个ADOConnection1用来连接数据,一个ADOTable1用来展示数据库表,一个ADOQuery1用来执行查询和修改,一个ADOStoredProc1用来执行数据库存储过程。DataModule资源列表控件类型ID变量或函数属性及说明TDataModuleTDataModule1DataModuleCreate初始化数据库连接TADOConnectionADOConnection1AfterDisconnectBeforeDisconnect数据连接完成后数据库连接断开前TADOTableADOTable1暂时不考虑TADOQueryADOQuery1暂时不考虑TADOStoredProcADOStoredProc1暂时不考虑3.数据库设计与实现3.数据库设计与实现
3)登记住户信息设计登记住户信息模块完成了对所有集中供暖住户信息的登记。在登记住户的同时要登记住户住房编号,住房编号是我们已经登记完成的住房的编号,所以在进行住户登记之前一定要先登记上住房信息。住户登记后,住户的状态为正常住户,但是这时住户的预购热量为0,所以住户在登记完自己的信息之后要进行预购热量。小提示:3.数据库设计与实现3.数据库设计与实现登记住户信息的界面的设计效果如图。登记住户信息3.数据库设计与实现3.数据库设计与实现其中使用的控件类型、ID、变量或函数、属性及说明如下所示。登记住户信息控件类型ID变量或函数属性及说明TFormForm_newcustomerFormShow主窗体TComboBoxComboBox3ComboBox3Change选择小区下拉列表TBevelBevel1无分隔线TGroupBoxGroupBox1无选择住房信息分组框TListViewListView1无住房信息列表TGroupBoxGroupBox2无登记住户信息分组框TLabelLabel1无住户姓名标签TLabelLabel2无联系电话标签3.数据库设计与实现3.数据库设计与实现住户登记资源列表TLabelLabel3无联系手机标签TLabelLabel4无住户类型标签TLabelLabel5无选择小区标签TLabelLabel6无收费标准标签TLabelLabel5无住房编号标签TEditEdit1无住户姓名编辑框TEditEdit2无联系电话编辑框TEditEdit3无联系手机编辑框TComboBoxComboBox1ComboBox1Change住户类型下拉列表TComboBoxComboBox2无收费标准下拉列表TButtonButton1Button1Click登记按钮TButtonButton2Button2Click退出按钮结算也不一定是每天都进行一次,可以每周或者每半个月等时间间隔来进行结算。小提示3.数据库设计与实现3.数据库设计与实现(5)每天结算每天结算完成住户热量结算功能。结算操作可以对系统中的所有住户进行结算,也可以安装输入的查询条件,先进行查询,然后对查询结果进行结算。每天结算界面设计3.数据库设计与实现3.数据库设计与实现进入该功能界面后,默认情况下全部结算复选框是被选中的,也就是说默认情况下是进行全部结算的。此时下面住户查询区的编辑框和按钮是不可用状态,当取消全部结算后,查询区的编辑框和按钮变为可用状态。其中使用的控件类型、ID、变量或函数、属性及说明如下表所示。每天结算资源列表控件类型ID变量或函数属性及说明TLabelLabel1小区名称标签TLabelLabel2住户姓名标签TLabelLabel3联系人电话标签TLabelLabel4联系人手机标签TLabelLabel5住户地址标签TEditEdit1小区名称编辑框TEditEdit2住户姓名编辑框TEditEdit3联系人电话编辑框TEditEdit4联系人手机编辑框TEditEdit5住户地址辑框TCheckBoxCheckBox1全部结算复选框TBevelBevel1分割线TButtonButton1结算按钮TButtonButton2查询按钮TListViewListView1查询住户列表框在结算功能中共有两种结算方式,第一种是把系统中所有的住户全部进行结算,第二种是对查询结果的住户进行结算。共调用了两种不同的结算过程。注:3.数据库设计与实现3.数据库设计与实现(6)预警住户统计预警住户统计模块可以按分片小区把即将欠费的用户统计出来。预警住户统计界面设计知识链接可以进行电话通知或者上门收费服务,避免住户在不知情的情况下造成欠费,影响住户的取暖。3.数据库设计与实现3.数据库设计与实现通过在小区名称下拉列表中选择要进行统计的小区名称,然后按查询按钮进行查询。小区中所有处于预警状态的住户全部在下面的住户列表框中显示出来。其中使用的控件类型、ID、变量或函数、属性及说明如下所示。预警住户资源列表控件类型ID变量或函数属性及说明TFormForm_ForecastFormShow主窗体TLabelLabel1小区名称标签TComboBoxComboBox1小区名称下拉列表TButtonButton1Button1Click查询按钮TBevelBevel1分割线TListViewListView1住户列表框3.数据库设计与实现3.数据库设计与实现(7)住房信息登记住房信息登记功能完成所有住房信息的登记入库。登记住房的同时也将该住房的热表信息登记入库,包括热表的编号和热表的当前读值。住房信息登记3.数据库设计与实现3.数据库设计与实现其中使用的控件类型、ID、变量或函数、属性及说明如下所示。住房登记资源列表控件类型ID变量或函数属性及说明TFormForm_NewRoomFormShow主窗体TLabelLabel1小区名称标签TLabelLabel2楼栋编号标签TLabelLabel3单元编号标签TLabelLabel4门牌编号标签TLabelLabel5热表编号标签TLabelLabel6当前读值标签TLabelLabel7其他地址标签TBevelBevel1分割线TComboBoxComboBox1ComboBox1Change小区名称下拉列表TEditEdit1楼栋编号编辑框TEditEdit2单元编号编辑框TEditEdit3门牌编号编辑框TEditEdit4热表编号编辑框TEditEdit5当前读值编辑框TEditEdit6其他地址编辑框TButtonButton1Button1Click登记按钮TGroupBoxGroupBox1分组框TListViewListView1住房信息列表在小区名称下拉列表中选择住房所在的小区的同时下面的小区住房信息列表框会查询出该小区的所有已有住房信息。小提示:3.数据库设计与实现3.数据库设计与实现(8)更换热表当住房内的热表发生故障时,我们要及时进行更换。一般来说热表的故障有自动关阀门、打不开阀门、自动开阀门、关不上阀门、不计量热量或在关闭阀门的情况下也进行热量累加等等。更换热表功能的界面设计效果图如下所示。图5-12更换热表界面设计3.数据库设计与实现3.数据库设计与实现其中使用的控件类型、ID、变量或函数、属性及说明如下所示。更换热表资源列表控件类型ID变量或函数属性及说明TFormForm_changeHeaterFormShow主窗体TLabelLabel1小区名称标签TLabelLabel2更换热表标签TLabelLabel3当前读值标签TBevelBevel1分割线TComboBoxComboBox1ComboBox1Change小区名称下拉列表TListViewListView1小区住房信息列表TEditEdit1更换热表编辑框TEditEdit2当前读值编辑框TButton1Button1Button1Click更换按钮热表更换操作调用数据库的存储过程InsertHeaterInstead来完成住房热表编号的更换,当前读值得修改,以及更换表的抄表记录的生成。小提示3.数据库设计与实现3.数据库设计与实现(9)住户类型设计不同的住户类型其收费标准是不一样的,比如军烈属用户、商用户、特殊照顾用户,就是类似五保用户等等。住户类型功能就是完成这些住户类型的登记。住户类型设置模块的界面设计效果图如下所示。住户类型设置界面设计3.数据库设计与实现3.数据库设计与实现其中使用的控件类型、ID、变量或函数、属性及说明如下所示。住户类型设置资源列表控件类型ID变量或函数属性及说明TFormForm_CustomerTypeFormShow主窗体TLabelLabel1住户类型名称标签TEditEdit1住户类型名称编辑框TButtonButton1Button1Click登记按钮TBevelBevel1分割线TListViewListView1住户类型列表框3.数据库设计与实现3.数据库设计与实现(10)收费标准设置收费标准设置根据不同的住户类型设置不同的收费标准。此模块中首先要选择住户类型,然后对该住户类型进行收费标准登记,在选择住户类型的同时,该住户类型的所有收费标准都会显示在收费列表中。收费标准设置界面设计3.数据库设计与实现3.数据库设计与实现其中使用的控件类型、ID、变量或函数、属性及说明如下所示。收费标准设置资源列表控件类型ID变量或函数属性及说明TFormForm_ChargeStandardFormShow主窗体TLabelLabel1住户类型标签TComboBoxComboBox1ComboBox1Change住户类型下拉列表TLabelLabel2收费标准标签TEditEdit1收费标准编辑框TLabelLabel3单位标签TButtonButton1Button1Click登
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论