CATV用户收费查询系统 精品.doc_第1页
CATV用户收费查询系统 精品.doc_第2页
CATV用户收费查询系统 精品.doc_第3页
CATV用户收费查询系统 精品.doc_第4页
CATV用户收费查询系统 精品.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

CATV用户收费查询系统1.1 开发背景及设计目的当今世界已进入了在计算机信息管理领域中激烈竞争的时代,应用计算机已经变得十分普遍了。我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能够在各种竞争中立于不败之地。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。越来越多的管理人员意识到信息管理的重要性。而21世纪是信息化的社会。作为信息重要载体和传播途径的网络(局域网、广域网和网间网)必将在社会的信息化和信息化的社会中发挥不可替代的作用。“要想富,先修路”的认识在走向信息化的过程中依然是金玉良言。民要富,国要强,我们同样要修网路,修网络高速路,修起信息高速路。不管最终CATV网成为信息高速路的主干,还是支流,抑或技术发展过程中的一段过渡,它都将为网路的提速做出重要的贡献。然而,这样贡献离不开有效、便捷的查询系统。1.2 研究内容CATV用户收费查询系统主要完成需求分析,一步一步地给出了系统需求说明书、ER图、系统关系模式。功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序,实现了数据库表的浏览,记录的添加、删除和修改,报表的生成,实现了多数据库表的连接操作,实现了多条件查询,并灵活实现了对不可更新查询结果集的更新操作最后,系统还可以导入数据库以对任意同结构的数据库进行操作。系统运行结果证明,本文所设计的CATV管理系统可以满足用户、收费工作人员和高级管理员三方面的需要。1.3 程序开发工具简介1.3.1 Visual Basic6.0简介Visual Basic是Microsoft公司在原BASIC(Beginners All-Purpose Symbolic Instruction Code)语言的基础上开发出的新一代面向对象程序设计语言。它继承了BASIC语言易学易用的特点,以结构化BASIC语言为基础,以事件驱动为运行机制。它的诞生标志着软件设计和开发的一个新时代的开始。在以后的几年里,Visual Basic经历了1.0版、2.0版6.0版的几次版本升级,它的功能更加强大,也更加完善,最新版本为VB.Net。Visual Basic是基于BASIC的可视化的程序设计语言。它既继承了其先辈BASIC所具有的简单易用的特点,同时其编程系统又采用了面向对象、事件驱动的编程机制。它用一种巧妙的方法把Windows的编程复杂性封装起来,同时又提供了一种所见即所得的可视化界面设计环境。1.3.2 Visual Basic6.0的特点1.可视化编程在用传统程序设计语言来设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中去修改。用的时候,这种编程编译修改的操作可能要反复多次,大大影响了软件开发的效率。Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来。开发人员不必为界面设计编写大连程序代码,只需要按设计要求的屏幕布局,用系统提过的工具,在屏幕上画出各种“部件”并设置这些图形对象的属性, Visual Basic就会自动产生界面设计代码。由于程序设计人员只需要编写实现程序功能的那部分代码,因此可以大大提高程序设计的效率。32.面向对象程序设计在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序化设计方法(OOP),把程序和数据封装起来作为一个对象,并且每个对象赋予应有的属性,使对象成为实在的东西.在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上, Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。3.结构化程序设计Visual Basic是在BASIC和Quick BASIC 语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式,其语句简单易懂。Visual Basic的编译器支持彩色代码,可自动进行语法错误检查。此外, Visual Basic还具有功能强且使用灵活的调试器和编译器。4.事件驱动编程机制Visual Basic通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个单击(Click)事件;而在产生该事件时将执行一段程序,用来实现指定的操作。5.访问数据库Visual Basic系统具有很强的数据库管理功能。利用数据控件和数据库管理窗口,可以直接建立或者处理Microsoft Access 格式的数据库,并提供强大的数据存储和检索功能。同时, Visual Basic 还能直接编辑和访问其他外部数据库,这些数据库格式都可以用Visual Basic编辑和处理。2 可行性研究2.1 可行性研究目的可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以进行可执行性的分析是非常必要的,也是很重要的。2.2 经济可行性对员工的传统笔记式管理浪费了大量的人力、时间和金钱资源,而且由于人为的疏忽造成的信息错误,因此,需要开发CATC用户收费查询系统,以求得在速度、质量、效率和性能等方面的特性得到巨大提高,其经济效益是很可观的,不仅节约了大量的人力、物力和时间,还使得以前较为复杂的管理操作方式变得简单、方便。因此,在经济上是可行的。2.3 技术可行性技术方面的可行性就是根据现有的技术条件,能否实现系统的各项要求。设备:该系统对所需的硬件设备,如pc机、打印机配件等的性能要求一般,现有设备的性能完全能够满足系统功能的要求。软件上,本系统属于数据库应用程序,本系统需要一个数据库服务器及其运行的操作系统平台,而前台开发工具采用VB6.0,利用其可视化的开发环境、丰富的控件资源,能快速开发出应用程序。这些软件在中小型MIS开发中已被大量应用,技术上都比较成熟,因此技术上是可行的8。2.4 运行可行性系统的界面简单易懂,各个按键布局清晰明了,很方便操作者的使用。在没有操作经验的情况下,也可以顺畅的使用。所以,系统在操作性方面可行。2.5 法律可行性本系统的开发,不会在社会或政治上引起侵权、破坏或其他责任问题。没有违反国家的相关法律和法规,因此在法律上是可行的。本系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品,也不存在盗版侵权的问题,本系统的内容符合国家法律,因此该系统具有社会可行性。3 需求分析3.1 系统功能分析CATV用户收费查询系统主要是以开户,收费,查询,统计为主要功能的管理信息系统,其主要的功能有:1.系统管理功能:系统管理员信息的添加、修改和删除,及统计等。2.用户管理功能:客户信息的查询、统计。其信息包括查看用户信息、查看收视费查看用户管理等。3. 收视费管理功能:对收费信息的查询来完成用户的交费。4. 统计信息管理:对用户管理日报表、用户管理月报表、收视费管理日报表、收视费管理月报表进行当天、当月的统计。5. 系统具有备份、帮助和说明功能。根据业务的需要,该系统还应具备可扩充的功能。3.2 系统安全性需求Access 2000自身提供了对数据的安全保护措施,数据进行集中管理同时避免了数据的不一致和冗余,在Access的版本中,只有管理中心数据库服务器的成员持有对数据访问的权限,本系统的用户、密码能保证安全。对任务、成员的管理,数据库同时提供了备份和恢复的功能,在数据库服务器出现问题的时候,能进行数据的快速恢复。注:用户不能删除数据库对应的物理文件,否则数据将丢失。系统在开发完毕以后,只实现了目前用户需求的功能,在后续服务中,可在本框架基础上,采用VB中面向对象的特点来增加功能模块,满足用户的后续需求。3.3 系统运行要求硬件平台:CPU:奔腾 733MHZ以上CPU。内存:512MB以上。软件平台:1.操作系统:Windows XP。2.数据库:Access数据库。3.前台工具:Visual Basic 6.0。4.语言:VB、SQL。3.4 数据流图(DFD)数据流图简称DFD(Data Flow Diagram)图,其主要功能是用来描述信息在系统中的流动和处理的情况,是极好的理解工具。它能精确的描述系统的逻辑模型,描述数据由输入经过存储、加工、处理到最后输出的全过程。数据流图是软件系统逻辑模型的一种图形表示。任何系统从根本上说,都是对数据进行加工或者变换的工具。下面将采用“由顶向下,逐步细化”的方法,画出系统的分层DFD图。根据调查研究的结果,分析系统的功能,对系统数据的分析得到系统模块的各层DFD图。1.系统顶层DFD图如图3.1所示:图3.1 系统顶层DFD图2.系统二层DFD图如图3.2所示:图3.2 系统第二层DFD图3.5 数据字典数据词典的作用是给数据流图上每个成分以定义和说明。换句话说,数据流图上所有成分的定义和解释和文字的结合就是数据字典。数据词典描述的主要内容有:数据流、数据元素、数据存储、加工、外部项,其中数据元素是组成数据流的基本成分。在系统分析中,数据词典起着重要作用。编写数据词典的基本要求是:1.对数据流图上的各种成分的定义必须明确、易理解、唯一。2.命名、编号与数据流图一致,必要时(如计算机辅助编写数据的作用。它包含关于系统的详细信息。词典时)可增加编码,方便查询检索、维护和统计报表。3.符合一致性和完整性的要求,对数据流图上的成分定义与说明无遗漏项。数据词典中无内容重复或内容相互矛盾的条目。数据流图中同类成分的数据词典条目中,无同名异义或异名同义者。4.格式规范、风格统一、文字精炼,数字与符号正确。本系统的数据字典包括:数据流“用户信息”的字典条目如表3.1所示表3.1 数据流“用户信息”的字典条目数据流名:用户信息组 成:用户信息用户姓名区域委街道巷楼室电话数据流“安装信息”的字典条目如表3.2所示。表3.2 数据流“安装信息”的字典条目数据流名: 安装信息组 成: 安装信息用户编号用户类型终端数安装人员用户状态登记日期备注 数据流“收视费信息”的字典条目如表3.3所示。表3.3 数据流“收视费信息”的字典条目数据流名: 收视费信息组 成: 收视费信息交费日期起止时间收费金额交纳安装人员收视费状态找零月租 数据流“查询用户信息”的字典条目如表3.4所示。表3.4 数据流“查询用户信息”的字典条目数据流名: 查询用户信息组 成: 查询用户信息有线编号用户类型用户名终端数区域电话委安装人员街道用户状态巷楼室数据流“系统管理员信息”的字典条目如表3.5 所示。表3.5 数据流“系统管理员信息”的字典条目数据流名:系统管理员信息组 成:系统管理员信息管理员账号管理员密码4 系统概要设计在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有完备、高效的功能。如图4.1显示了数据库系统的主要组件。数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。用户用户用户应用系统应用开发工具数据库管理系统操作系统数据库数据库管理员图4.1 数据库系统的主要组件4.1 数据库总体设计根据前面分析,设计出满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。在E-R图中用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆表示实体的属性,并用直线把实体与其属性连接起来。根据上面的设计规划出以下实体:用户信息实体、安装人员信息实体、费用信息实体。如图4.2所示。图4.2 系统ER图4.2 数据库组件介绍用VB6.0开发数据库应用,重点是和ADO组件打交道。 ADO组件VB 6.0包含了可以用来访问Microsoft公司的ActiveX Data Objects(ADO)格式数据库的组件。ADO是Microsoft公司关于各种类型数据的高等界面,后来逐渐演变成满足所有数据访问需要的完整解决办法。ADO的对象模型是所有数据访问接口对象模型中最简单的一种。Microsoft公司用来访问ADO数据的应用程序界面技术是OLE DB。OLE DB是一种底层编程接口,用来访问许多不同类型的数据源,其中包括消息、文件系统以及其他一些非传统的数据源。OLE DB是一个由ponent Object Model()接口组成的集合,用来隐藏创建数据访问服务过程中的细节。OLEDB提供了访问任何数据资源的方法,包括相互关联的数据库和相互不关联的数据库、Email和文件系统、文本和图形以及用户定义的数据对象。ADO实际上是OLE DB的应用层接口,这种结构也为一致性的数据访问接口提供了很好的扩展性,而不再局限于特定的数据源,因此,ADO可以处理各种OLE DB支持的数据源。图4.3是ADO的对象模型图。图4.3 ADO对象模型在ADO模型中,主体对象只有3个:Connection、mand 和Recordset,其他4个集合对象Errors、Properties、Parameters 和Fields分别对应Error、Property、Parameter 和Field对象,整个ADO对象模型由这些对象组成。一个典型的ADO应用使用Connection 对象建立与数据源的连接,然后用一个mand 对象给出对数据库操作的命令,比如查询或者更新数据等,而Recordset 用于对结果集数据进行维护或者浏览等操作。mand 命令所使用的命令语言与底层所对应的OLE DB数据源有关,不同的数据源可以使用不同的命令语言,对于关系型数据库,通常使用SQL 作为命令语言。在Connection、mand 和Recordset 3个对象中,mand对象是个可选对象,它是否有效取决于OLE DB数据提供者是否实现了mand接口。由于OLE DB可提供关系型数据源也可以提供非关系型数据源,所以在非关系型数据源上使用传统的SQL 命令查询数据有可能无效,甚至mand 命令对象也不能使用。4.3 系统数据库设计数据库的设计主要是数据库的规范化问题。数据库建立的规范会减少数据的重复和冗余,但会给编程带来很大的工作量并一定程度上降低了数据库的性能;相反,数据库建立的很简单编程任务会相对轻松,但这样增加了大量数据重复和冗余,为数据库的维护增加了难度。一个设计合理的数据库应有助于系统功能的实现,简化程序,提高效率.在现实的系统设计中,我们就是要寻找一个维护简单和性能降低的之间的平衡点,使设计的数据库既能满足速度上的要求,能相对的减少编程的工作量,降低成本, 又能易于维护和管理。这需要在设计过程中根据所遇实际问题做出相应的修改,尽量使数据库的设计接近第三范式。所采用的方法是通过VB自带的外接程序来创建与VB连接的数据库。之所以要选择在VB提供的外接程序来建立数据库,主要是因为这样建立出来的数据库在直接打开时不能对数据库中表的列进行修改,只能对表中的数据进行修改,如果想修改表只有通过VB的外接程序来打开数据库才能进行修改。建立数据表:由上面的分析我们建立六个表:登录信息表managepower、安装人员信息表setperson、收视费信息表ssfinf、用户信息表userinf、用户类型信息表usertypef、收费类型表chargetype。具体的实现步骤如下(以创建userinf为例):1.首先单击外接程序(在菜单栏的倒数第三个按钮),在弹出的下拉菜单中选择可视化数据管理器,如图4.4所示。图4.4 外接程序单击可视化数据管理器后出现一个VisData窗体,在这个窗体中,选择文件,然后新建一个Microsoft Access数据库,在这里选择提供的最高版本Version 7.0,如图4.5所示。图4.5 选择数据库版本选择后系统会要求输入新的数据库的名,从这一步开始,进入了正式的数据库的设计阶段。首先,建立一个数据库起名为userinf,保存到相应的地址中去,单击“确定”。在Properties上单击鼠标右键,选择“新建表”,表起名为userinf,并且在字段列表中添加字段名:yhbh、yhm、yhlx、zd、dh、djrq、azry、bz、czy、qy、wei、jd、xiang、lou、shi、yhzt、sflx。分配相应的类型、大小。此表如图4.6所示。图4.6 用户信息表结构2.通过以上的过程,建立其余五个表。下面分别对各个表进行详细说明。4.3.1 登录信息表managepower功能:存储基本信息,主要在登录时使用。详细设计:包括用户姓名yhm、登录密码mm、权限qx、备注bz。如图4.7所示。图4.7 登录信息表结构4.3.2 安装人员信息表setperson功能:存储安装人员的基本信息详细设计:此表的字段包括安装人员azry、备注bz、年龄nl、电话dh。如图4.8所示。图4.8 安装人员信息表4.3.3 收视费信息表ssfinf功能:操作人员记录用户编号、收费金额、交费日期等重要的相关信息。详细设计:用户编号yhbh、收费金额sfje、备注bz、起始日期qsrq、截至日期jzrq、交费日期jfrq、操作员czy、收视费状态ssfzt。如图4.9所示。图4.9 收视费信息表4.3.4 用户类型信息表usertype 功能:用于存储安装时的必要信息 详细设计:用户编号yhbh、安装金额azje、备注bz。如图4.10所示。图4.10 用户类型信息表4.3.5 收费类型表chargetype 功能:用于存储用户的收费类型 详细设计:收费类型sflx、收费金额sfje、备注bz。如图4.11所示。图4.11 收费类型表4.3.6收费类型表chargetype功能:用于存储用户的收费类型详细设计:收费类型sflx、收费金额sfje、备注bz。如图4.12所示。图4.12 收费类型表4.4系统数据表及数据关联图表4.1 登录信息表managepower字段类型长度关键字yhmmmqxbzTextTextTextText1010220YNNN表4.2 安装人员信息表setperson字段类型长度关键字azrybznldhTextTextIntegerText1020212YNNN表4.3 收视费信息表ssfinf字段类型长度关键字yhbhsfjebzqsryjzrqjfrqgdhyzczyssfztTextCurrencyTextDate/TimeDate/TimeDate/TimeCurrencyTextCurrency108208888108YNNNNNNNN表4.4 用户信息表userinf字段类型长度关键字yhbhyhmyhlxzddhdjrqazrybzczyqyweijdxiangloushiyhztTextTextTextTextTextDate/TimeTextTextTextTextTextTextTextTextTextText1040104128102010202020201688YNNNNNNNNNNNNNNN表4.5 用户类型信息表usertype字段类型长度关键字yhlxazjeyzbzyhbhTextIntegerTextTextText10222010YNNNN表4.6 收视费类型表chargetype字段类型长度关键字sflxsfjebzTextIntegerText10220YNN图4.13 数据库关联图5 系统详细设计与实现5.1 引言CATV用户收费查询系统需要满足来自三方面的需求,这三个方面分别是用户、CATV操作人员和CATV管理人员。用户的需求是查询有线电视方面的各种信息;CATV操作人员对用户开户信息、安装人员信息、收费信息进行操作,同时形成报表给用户查看确认;CATV管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对有线电视信息、用户信息、总体收费情况信息的管理和统计、工作人员和管理人员信息查看及维护。CATV管理员可以浏览、查询、添加、删除、修改、统计的用户基本信息,并且还应具有生成催还费用报表,并打印输出的功能。在本系统中由于没有打印机设备供实验,所以预先把报表打印改成报表预览。CATV用户收费查询系统模块如图5.1所示。图5.1 用户收费查询系统模块5.2 系统的实现前台的实现:在有关数据库结构的所有工作已经完成以后,我们将进入前台的设计阶段。CATV管理系统设置资料管理基本业务信息查询统计帮助根据需要我们将系统主要划分为六个模块:系统模块、资料模块、基本业务、查询信息模块、统计模块、帮助模块。如图5.2所示:图5.2 系统模块图创建工程项目启动Visual Basic后,单击文件/新建工程菜单,在工程模版中选择Standard .EXE,Visual Basic将自动产生一个Form窗体,属性都是缺省设置。删除这个窗体,单击文件/保存工程菜单,将这个工程的项目命名为tv。创建系统的窗体项目使用多文档界面,单击工具栏中的添加MDI窗体按钮,产生一个窗体。在窗体上添加所需的控件,窗体和控件的属性设置如表5.1。表5.1 窗体属性表 控件 属性 属性取值MDIFrmMainNamefrmMainCaptiontvStartUpPosition0手动WindowState2Maximized创建公用模块:在Visual Basic中可以用公用模块来存放工程项目中的公用函数、过程和全局变量等。可以极大地提高代码的效率。在项目资源管理器中为项目添加一个Moudule,保存为Module1.bas.由于系统在登录时需要频繁使用数据库,因此需要一个公共的函数,在系统登陆时,我们需要连接上我们前面所建的数据库,所以写一个连接数据库的函数,而且让工程每次启动的时候都先连接数据库,模块代码如下:/连接Userinf数据库的函数Public Function getRS(SQLString As String) As ADODB.Recordset Dim rsc As New ADODB.Recordset strsql = SQLString rsc.ActiveConnection = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & Userinf.mdb;Persist Security Info=False rsc.CursorLocation = adUseClient rsc.CursorType = adOpenKeyset rsc.LockType = adLockOptimistic rsc.Source = strsql rsc.Open Set getRS = rscEnd Function在上面的代码中,最主要的是连接数据库的那条语句,通过ADO控件与数据库相连的,其中Microsoft.Jet.OLEDB.4.0来支持所创建的Access数据库,其中Data Source= & App.Path & Userinf.mdb是说所连接的数据库的名称的Userinf,用& App.Path &来自动匹配数据库的路径。Persist Security Info=False是说明数据库是否需要密码,如果需要密码等号后面的是True,反之则是False。5.3 用户登录窗体的实现启动画面是为了给用户一个良好的印象,加深软件的亲和力,在登录窗体中加入了mand Button、bo Box、Label组件。本窗体是为三种不同的用户(一般用户,操作员,系统管理员)提供选择,通过用户名和密码的验证进入CATV前台界面,以进入不同的模块,满足不同用户的需求。如图5.3所示。图5.3 登录窗体代码如下:Private Sub cmdOK_Click()If Mebo1.Text = Or Me.txtPassword.Text = Then MsgBox 请输入用户名和密码!, 64, 系统提示! Mebo1.SetFocusElse Dim rs As New ADODB.Recordset Set rs = getRS(select mm,qx,yhm from managepower where yhm = & Trim$(bo1.Text) & ) If Me.txtPassword.Text = rs.Fields(mm) Then Me.OK = True qx = rs.Fields(qx) czy = rs.Fields(yhm) Set rs = Nothing Me.Hide frmMain.Show Else MsgBox “该用户无权访问或密码错误!”, vbExclamation + vbInformation Exit Sub End IfEnd IfEnd Sub其中Set rs = getRS(select mm,qx,yhm from managepower where yhm = & Trim$(bo1.Text) & )是打开数据库中的managepower表,在表中选择所有的数据。当用户名和密码与后台数据库表中的数据相匹配时,将进入到系统的前台界面,否则系统将会提示密码错误,光标返回到bo1上。5.4创建菜单在实际应用中.菜单分为两种基本类型,即下拉式菜单和弹出式菜单。CATV管理系统使用的就是下拉式菜单。所建的菜单如图5.4所示。图5.4 系统菜单界面创建该系统菜单的步骤如下:(1)执行“工具”菜单中的“菜单编辑器”命令,打开“菜单编辑器”窗口。(2)在“标题”栏目中分别键入“系统”在菜单项显示区中出现同样的标题名称。(3)按Tab键(或用鼠标)把输入光标移到“名称”栏。(4)在名称栏目中分别键入mnuFile、zlgl此时菜单项显示区没有变化。(5)单击编辑区中的“下一个”按钮,菜单项显示区中的条形光标下移,同时数据区的“标题”栏及“名称”栏被清为空白,光标回到“标题”栏。(6)在“标题”栏中依次分别键入“资料管理”该信息同时在菜单项显示区中显示出来。(7)按Tab键(或用鼠标)把输入光标移到“名称”栏,键入“zlgl”。(8)通过重复(5)(6)(7)分别在“标题”和“名称”栏中键入“基本业务”、 “查询”、“统计”。和“yhjbxigl”、“cx”、“tj”。(9)如果想建立子菜单,可以单击编辑区的右箭头(-),同时其左侧出现一个内缩符号(.),表明是下一级菜单。5.5 系统模块的实现系统下拉菜单包括以下内容:数据备份、导入导出、更换口令、操作员权限设置、退出系统。如图5.5所示。图5.5 系统下拉菜单1.数据备份:在数据库打开的状态下, 为了确保服务器系统及关键业务数据数据库数据的安全及完整性,操作员和系统管理员需要对它们进行定期备份。备份要求在不中断数据库应用的前提下实施。所需控件:DriveListBox、DirListBox、TextBox、mandButton、Label。控件布局:创建一个数据备份窗体,起名为frmBF。在该窗体中根据设计的要求布置各个控件的位置。如图5.6所图5.6 数据备份界面代码实现:首先,在Form_Load中声明各个控件的层次递进关系,并输入需要备份的默认路径。 Me.Drive1.Drive = C: Me.Dir1.Path = Me.Drive1.Drive Me.Text1.Text = Me.Dir1.Path其次,通过语句Me.Text1.Text Then FileCopy apppath & userinf.mdb, spath & backup.mdb,当路径不为空时,把想要备份的数据存储到相应的数据库表中,达到数据存储与安全的目的。2.导入导出: 有许多的原因需要导出数据,一个重要的原因是用于备份数据库。数据的造价常常是昂贵的,需要谨慎处理它们。经常地备份可以帮助防止宝贵数据地丢失;另外一个原因是,也许您希望导出数据来共享,在这个信息技术不断成长的世界中,共享数据变得越来越常见。所需控件:ProgressBar、Frame 、DriveListBox、DirListBox、TextBox、mandButton、Label。技术:选择数据出、入数据库中的表,以及进度条走动的代码设置。 首先定义两个记录集rss和rsd、一个变量i。在选择好路径的情况下,当记录集数不大于零时,把记录集数的最大值赋给进度条的最大值,并把进度条的最小值和初始值都设为1,编写如下语句: Do Until rsd.EOF i = i + 1 rsd.Delete rsd.Update rsd.MoveNext Me.ProgressBar1.value = i Loop使进度条随着记录条数的增加而不断增长,直到把所需要导入、导出的数据完成。3.更换口令: 当操作员或者系统管理员意识到自己的密码被别人窃取或发现时,可以通过此项更改密码以达到安全保密的工作。所需控件:TextBox、mandButton、Label。代码如下:Dim rs As ADODB.Recordset If Me.Text2.Text Me.Text3.Text Then MsgBox 新口令和确认口令不同! Exit Sub End If Set rs = getRS(Select * from managepower where yhm = & czy & and mm = & Me.Text1.Text & ) If rs.RecordCount 0 Then rs.MoveFirst rs.Fields(mm) = Me.Text2.Text rs.Update MsgBox 密码修改成功! Else MsgBox 旧密码错误! Me.Text1.SetFocus Exit Sub End If Set rs = Nothing代码分析:首先声明Dim rs As ADODB.Recordset,然后编写连接后台数据库managepower表中的数据语句。如果输入的旧密码在该数据库中存在,继续输入新密码和新密码的再次输入以便完成确认工作,否则系统将“提示旧密码错误!”。要求两次输入的新密码必须一致,否则系统也将提示“新口令和确认口令不同!”。当发生错误时,光标会自动返回到Text1上。4.操作员权限设置: 由于使用此产品的操作员不是计算机专业,所以不能期望操作员用什么数据库语句往里写数据,那么就应该找到一种方法能让操作人员简单轻松的把数据写到数据库中。这样可以用语句控制数据输入,操作员只要把数据写到相应的位置上,然后点击确定按钮即可实现数据的输入工作。需要做的步骤如下:在窗体载入事件中,需要打开相应的数据库:strsql = select yhm,mm,qx,bz from managepower where yhm= & Trim(Me.Text1.Text) & Set rs = getRS(strsql)然后控制往数据库里写信息的语句,在已经打开数据库的同时,可以调用rs对象的AddNew属性,它的作用是添加新的信息。在确定要添加的信息后,我们还需要调用update属性来对数据库中的数据进行更新。添加完数据后,应该将数据库关闭,在这步需要调用close属性来关闭数据库。5.退出系统:所有工作完成后,可以单击此选项或者快捷图标退出该系统,并提示操作人员是否提出系统,为没有保存的用户数据提供了一定的信息。5.6 资料管理模块的实现功能:菜单完成安装人员、用户类型、收费类型的添加、删除、修改。需要控件:ListBox 、Frame、mandButton、TextBox、Label。实现:通过frmazry.Show显示窗体调用nullCheck(Me.Text1.Text)、lengthCheck(Me.Text1.Text, 5)、lengthCheck(Me.Text2.Text, 10)对输入内容的限制。将添加的安装人员信息保存到数据库setperson表中,如果添加的信息在该表中已经存在,系统将提示操作员安装人员已经存在!。其余的删除、修改几乎与添加类似。技术实现:在通用里面声明一个函数addItemtoList(),首先完成对List中的清理(例如:Me.List1.Clear),其次通过AddItem方法把所加入的用户部分信息存储到表中相应的字段中去(例如:Me.List1.AddItem (rs.Fields(sflx))。用户类型和收费类型的添加、删除、修改与安装人员几乎一样。5.7 基本业务模块的实现通过“用户开户”实现用户各种信息资料数据的录入功能。“用户管理”和“收视费业务”通过“用户编号”和“用户名”完成用户信息的查询。信息录入如图5.7所示。需要控件:Frame、mandButton、TextBox、Label。图5.7 用户开户界面部分代码如下: Dim rs As ADODB.RecordsetMe.Enabled = FalseSet rs = getRS(select * from userinf where yhbh = & Trim(Me.txtyhbh.Text) & )If rs.RecordCount 0 ThenMsgBox 用户编号为: & Trim(Me.txtyhbh.Text) & 的用户已经存在!, vbOKOnly, 系统提示!Set rs = Nothing Me.Enabled = TrueMe.txtyhbh.SetFocus Exit Sub End If rs.AddNewrs.Update Set rs = NothingMsgBox 添加成功!, vbExclamation + vbInformation, 系统提示!功能实现:在通用中,建立checkInput()函数,此函数用来验证各个mandButton、TextBox中的内容是否填写或者超出自定义的范围,如未填写或超出范围,将会通过信息框的形式反映给操作员。通过Set rs = getRS(select * from userinf where yhbh = & Trim(Me.txtyhbh.Text) & )连接后台数据库,当输入的所有信息与表中的字段相匹配时,单击“确认登记”按钮,将把该信息录入到userinf表中,如果该用户在数据库的表中已经存在,系统将会提示“用户已经存在”。接着,通过AddNew和Update方法对表进行添加和更新。在添加是用with方法使前台输入的信息与后台数据库表中的各个字段相对应。存储如图5.8所示。图5.8 用户存储界面5.8 查询模块的实现查询数据库可人为的给定查询的条件,在这个模块中给定了用户管理记录和收视费管理记录为限定的查询条件,因为在userinf表中yhbh字段是唯一的,用这个条件查询能查到相应的记录,如果没有相匹配的记录,则查询显示窗体中没有任何数据。在这个查询窗体中,设计了两个单选框。为了实现这个功能,在单选框选定一个的时候,未被选中的那个的文本框的Visible属性变为False,同时将其中的内容清空。如图5.9所示。图5.9 查询对话框界面在查询条件匹配后,会出现一个相应的窗体,上面有用户所要查找的资料,如图5.10所示。图5.10 查询用户管理界面查询用户信息结果如图5.11所示:图5.11 查询用户信息结果由于实现的查询功能有多种,如按用户编号、用户名称等字段进行查找和部分查找,还有按多个条件进行逻辑与或是逻辑或的多条件查找,其中实现的功能差不多。但是有的查询窗体里面添加了一些便于查询的按钮,例如“列表项”和“打印查询结果”为用户得到具体的信息并打印创造了方便的条件。收视费查询如图5.12 5.13 所示。图5.12 选择查询条件 图5.13 收视费查询结果5.9 统计模块的实现选项通过与Excel表格的关联,实现“用户管理日报表” 、“用户管理月报表” 、“收视费管理日报表” 、“收视费管理月报表” 。具体实现:在CATV管理系统的目录下建立Excel表格,名字分别为yhglrbb、yhglybb、ssfrbb、ssfybb。通过Call调用yhglrbb和ssfrbb,而对yhglybb和ssfybb的调用,分别建立两个窗体,名字为frmyhglybbcxtj和frmssfybbcxtj。两个窗体需要的控件有:DTPicker,mandButton,Frame,Label部

温馨提示

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

评论

0/150

提交评论