版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEI/NUMPAGES62毕业设计(论文)基于asp销售管理系统的设计与实现摘要随着科学技术的飞速发展和激烈的市场竞争,销售系统在企业结构中已占据主导地位,有一个完善的销售管理系统十分必要,所以销售管理系统在各方需要下应运而生。销售管理系统是触及到企业销售管理的先进理念,它需要一个新的以销售管理为中心的管理模式,并集成了前台和后台办公系统的一整套应用系统支持。因此,销售管理系统应有高度的灵活性和良好的交互性,适用于非结构化支持。一个现代化的企业,对于资源的关注,已经成为决定企业长久发展的基础。销售管理系统将整个企业的各种销售和进货、退货信息统一管理,并且及时更新各种销售信息,以便及时预览,作出相应的销售决策。有了良好的数据管理基础,即使销售信息变动,样本丢失,电脑数据资料也能够完整保存,而且更新数据及其方便,摆脱以往手工作业的不完善性。本系统提供了商品信息管理,公司信息管理,销售等信息管理。实现了销售管理,对销售进行查询、汇总、统计、输出合同明细表等功能。本管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端程序的开发两个方面。对于前者要求建立起数据一致性和完整性强,数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过如此情况,系统采用SQLServer2000来设计数据库,使用Microsoft公司的VisualStudio2005开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。关键词:销售管理;数据库;VisualStudio2005目录摘要 I目录 II引言 1第一章涉及技术及简介 21.1数据库管理系统简介 21.2开发工具VisualC#、ASP.NET和SQLServer2000 21.2.1VisualC# 21.2.2ASP.NET 41.2.3SQLServer2000 4第二章系统需求分析 62.1需求分析的目的 62.2项目背景 62.3需求分析 62.3.1问题定义及可行性研究 62.3.2销售管理系统具体任务要求和运行过程 72.3.3销售管理现状分析 82.3.4功能需求 82.3.5性能需求 82.3.6人员分析 92.3.7经济方面的可行性分析 92.4结论 9第三章系统设计 103.1系统设计目标 103.2开发设计思想 103.3系统架构 103.4系统设计 113.5数据库设计 123.6数据采集 153.7应用程序设计 15第四章功能界面的设计 174.1开发环境配置 174.2应用程序主界面的实现 184.2.1创建样式表文件 184.2.2配置Web.config文件 194.2.3创建类文件 194.3页面设计 224.3.1创建Main页面(系统主页面) 224.3.2编辑登录(login.aspx)页面 234.3.3添加用户模块 254.3.4用户管理模块: 284.3.5基本信息模块 304.3.6进货管理模块设计 354.3.7销售管理模块 384.3.8查询统计模块 394.3.9往来管理 41结论 44致谢 45参考文献 46引言在现代化企业中,信息管理工作将发挥越来越重要的作用。企业信息管理工作已经渗透到企业日常工作的许多方面,无论是其自身还是所发挥的作用,都为企业的创新、发展以及经济效益,做出了显著的贡献。因此,企业必须加强自身的信息基础设施建设,通过企业基础数据的信息化、企业基本业务流程和事务处理的信息化、企业内部控制及实施控制过程的信息化、人的行为规范管理等企业基础管理信息化工程,确保企业在规模不断扩大和业务迅速发展的过程中保持坚实的管理基础和繁殖内核,促进企业的可持续发展。企业的销售管理是企业发展的关键环节,一个好的销售管理体制将给企业带来很可观的经济效益。无论是一个销售公司还是一个销售商店,都有很多的销售数据需要管理。手工管理这些纷繁复杂数据的方式已经不适应时代的潮流,实现数据规范化、自动化的电脑管理,是一个管理规范、动作高效的企业单位的必然要求。本系统是为中小型企业的销售管理系统,专为中小型企业的销售管理系统的需求而开发。系统具有交易管理、进货及销售统计、预览数据表等功能,界面友好、操作简便。开发此项目,能够将所学的理论知识与实际应用相结合,并尝试应用最新流行的开发工具,以达到掌握新技术、进一步提高程序开发能力的目的。第一章涉及技术及简介1.1数据库管理系统简介数据管理指的是如何对数据进行分类、组织、存储、检索及维护。要注意,这里所说的数据,不仅是指数字,还包括文字、图形、图像、声音等。凡是计算机中用来描述事物的记灵,统称为数据。数据库技术是计算机应用领域中非常重要的技术,随着计算机应用的不断深入,数据库的重要性日益被人们所认识,它已成为信息管理、办公自动、计算机辅助设计等方面的重要手段。对一个特定的数据库来说,它是集中、统一地保存、管理着某一个单位或某一领域内所有有用信息的系统,这个系统根据数据间的自然联系结构而成,数据较少冗余,且具有较高的数据独立性,能为多种应用服务。因此可以看出,数据库系统是管理数据且为不同应用服务的工具。它所管理的数据是大量的有关某一方面的信息,需要较长时间的保存;它所提供的数据应该是正确的、可靠的、高效率的。数据库管理系统简称DBMS(databasemanagementsystem)是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。DBMS不仅具有最基本的数据管理功能,还能保证数据的完整性、安全性,提供多用户的并发控制,当数据库出现故障时对系统进行恢复。1.2开发工具VisualC#、ASP.NET和SQLServer20001.2.1VisualC#C#语言是一种现代、面向对象的语言,它简化了C++语言在类、命名空间、方法重载和异常处理等方面的操作,它摒弃了C++的复杂性,更易使用,更少出错。它使用组件编程,和VB一样容易使用。C#语法和C++和JAVA语法非常相似,如果读者用过C++和JAVA,学习C#语言应是比较轻松的。用C#语言编写的源程序,必须用C#语言编译器将C#源程序编译为中间语言(MicroSoftIntermediateLanguage,MSIL)代码,形成扩展名为exe或dll文件。中间语言代码不是CPU可执行的机器码,在程序运行时,必须由通用语言运行环境(CommonLanguageRuntime,CLR)中的既时编译器(JUSTINTime,JIT)将中间语言代码翻译为CPU可执行的机器码,由CPU执行。CLR为C#语言中间语言代码运行提供了一种运行时环境,C#语言的CLR和JAVA语言的虚拟机类似。这种执行方法使运行速度变慢,但带来其它一些好处,主要有:1.通用语言规范(CommonLanguageSpecification,CLS):.NET系统包括如下语言:C#、C++、VB、J#,他们都遵守通用语言规范。任何遵守通用语言规范的语言源程序,都可编译为相同的中间语言代码,由CLR负责执行。只要为其它操作系统编制相应的CLR,中间语言代码也可在其它系统中运行。2.自动内存管理:CLR内建垃圾收集器,当变量实例的生命周期结束时,垃圾收集器负责收回不被使用的实例占用的内存空间。不必象C和C++语言,用语句在堆中建立的实例,必须用语句释放实例占用的内存空间。也就是说,CLR具有自动内存管理功能。3.交叉语言处理:由于任何遵守通用语言规范的语言源程序,都可编译为相同的中间语言代码,不同语言设计的组件,可以互相通用,可以从其它语言定义的类派生出本语言的新类。由于中间语言代码由CLR负责执行,因此异常处理方法是一致的,这在调试一种语言调用另一种语言的子程序时,显得特别方便。4.增加安全:C#语言不支持指针,一切对内存的访问都必须通过对象的引用变量来实现,只允许访问内存中允许访问的部分,这就防止病毒程序使用非法指针访问私有成员。也避免指针的误操作产生的错误。CLR执行中间语言代码前,要对中间语言代码的安全性,完整性进行验证,防止病毒对中间语言代码的修改。5.版本支持:系统中的组件或动态联接库可能要升级,由于这些组件或动态联接库都要在注册表中注册,由此可能带来一系列问题,例如,安装新程序时自动安装新组件替换旧组件,有可能使某些必须使用旧组件才可以运行的程序,使用新组件运行不了。在.NET中这些组件或动态联接库不必在注册表中注册,每个程序都可以使用自带的组件或动态联接库,只要把这些组件或动态联接库放到运行程序所在文件夹的子文件夹bin中,运行程序就自动使用在bin文件夹中的组件或动态联接库。由于不需要在注册表中注册,软件的安装也变得容易了,一般将运行程序及库文件拷贝到指定文件夹中就可以了。6.完全面向对象:不象C++语言,即支持面向过程程序设计,又支持面向对象程序设计,C#语言是完全面向对象的,在C#中不再存在全局函数、全区变量,所有的函数、变量和常量都必须定义在类中,避免了命名冲突。C#语言不支持多重继承。1.2.2ASP.NETASP.net不仅仅是ActiveServerPage(ASP)的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式强大的优势。ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。ASP.net构架是可以用Microsoft(R)公司最新的产品VisualS开发环境进行开发,WYSIWYG(WhatYouSeeIsWhatYouGet所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows2000/2003Server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。1.2.3SQLServer2000SQLServer是一个关系数据库管理系统,它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了。Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本;Sybase则较专注于SQLServer在UNIX操作系统上的应用。在本书中介绍的是MicrosoftSQLServer以后简称为SQLServer或MSSQLServer。(4)SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的一个版本。该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。(6)SQLServer2000的特性Microsoft®SQLServer?2000的特性包括:1.Internet集成。SQLServer2000数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQLServer2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。2.可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindows®98的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器服务器。SQLServer2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。3.企业级数据库功能。SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQLServer2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。4.易于安装、部署和使用。SQLServer2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。SQLServer2000是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。SQLServer2000数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。(10)SQLServer2000数据引擎是本企业数据管理解决方案的核心。此外SQLServer2000结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的BI解决方案,帮助您的团队通过记分卡、Dashboard、Webservices和移动设备将数据应用推向业务的各个领域第二章系统需求分析需求分析的任务是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。因此,必须用行之有效的方法对软件需求进行严格的审查验证。2.1需求分析的目的尽早地对软件项目的可行性做出细致而谨慎的评估,以避免在项目开发过程中浪费大量的人力、物力、财力。2.2项目背景随着社会高科技,商品经济化突飞猛进的发展,计算机的应用已经普及到经济和社会生活的各个领域。为了适应现代社会人们高度强烈的时间观念,产品生产-销售-客户订单管理系统软件为企业,公司等的销售管理带来了极大的方便。产品生产-销售-客户订单管理系统能够为用户提供可靠的信息储存和快捷的信息处理手段。长期以来人们使用传统人工的方式管理销售信息,这种管理方式存在着许多缺点。随着科学技术的不断提高,计算机日趋成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对企业、公司的产品销售信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大的提高一个企业、公司销售管理的效率。因此,开发这样一套管理软机成为很有必要的事情,它能够具体化、合理化的管理单位的销售信息情况,用结构化的思维方式去了解计算机的工作原理。2.3需求分析2.3.1问题定义及可行性研究在讨论具体的需求分析之前,我想先对两个问题给予简单的说明。这两个问题虽然简单,但却是软件开发周期中不可缺少的两个阶段。1、问题定义问题定义阶段必须回答的关键问题是“要解决的问题是什么?”。显然,这个问题解决整个软件开发周期中起着指导性作用。软件开发应该有这样一条鲜明的线索贯穿始终,否则我们的所有工作都是盲目的。现在我们应该明确问题定义阶段的主要任务:我们要建立一个销售管理系统,以解决企业销售事务的基本情况,来摆脱传统的手工记账,实现管理自动化,从而提高工作效率。同时该系统应不可避免的涉及到库存商品基本信息、供应商信息、公司信息的维护和处理及进货统计、销售统计等统计及查询处理。2、可行性研究这个阶段要解决的关键问题是“对上一阶段所确定的问题有无行得通的解决办法”。从而导出系统的逻辑模型,然后从系统逻辑模块出发探索若干种可供选择的系统实现方案。由于实际条件的制约,对可行性研究我们不再多说,但我们必须明确,现在我们所讨论的问题从各方面来说都行得通。在明确了这两个简单问题之后,我们的问题应该步入正题了。需求分析阶段是软件定义时期的是后一个阶段,这一阶段的中心任务是准确的回答“系统必须做什么?”这个问题。其结束的标准是通过需求分析应该得出有数据流程图、ER图、数据字典等描绘的精确的系统逻辑模型。(2)下面我们就紧紧围绕需求分析阶段的中心任务和目标展开计论。2.3.2销售管理系统具体任务要求和运行过程系统的功能要求即用户对目标系统数据处理功能所提出的要求,主要考虑以下销售管理需求:1.添加公司、商品基本信息,以便对公司、商品信息进行查询。2.添加公司、商品信息管理页面,以便对公司、商品信息进行修改、删除等操作处理。3.进货信息管理。进货管理主要实现进货添加、进货退货添加、以及进货信息和进货退货信息的详细信息。4.销售信息管理。销售管理主要实现销售信息添加、销售退货信息添加、以及销售信息和销售退货信息的详细信息。5.查询统计功能。能够随时查询销售管理的各种信心。比如商品进货信息、进货退货信息、销售信息、销售退货信息、库存信息、销售排行信息。6.除了以上一些基本需求外,还有添加一些各商品之间的往来管理,结账信息。对各种商品的结账情况添加以及查询。7.最后添加一个后台管理,对用户的添加、删除以及密码修改和退出系统。2.3.3销售管理现状分析销售管理系统主要是为企业销售部门的管理活动提供信息服务。企业的销售管理是企业发展的关键环节,一个好的销售管理体制将给企业带来很可观的经济效益。无论是一个销售公司还是一个销售商店,都有很多的销售数据需要管理。手工管理这些纷繁复杂数据的方式已经不适应时代的潮流,实现数据规范化、自动化的电脑管理,是一个管理规范、动作高效的企业单位的必然要求。业务需求销售管理系统由销售部门和生产部门合作完成。其中,生产部门将现有库存生产计划等信息录入到基本数据库中;有订单时销售人员可以通过查询以最短时间了解库存情况方便订货,另外一些辅助信息通过信息员录入方便销售统计时查看。本系统主要用于各大企业销售管理部门。2.3.4功能需求这是一个企业销售管理系统,设计者的目标是满足公司运营和日常管理的需要,具有对产品,,客户管理的功能。销售员可以对销售的产品进行登记,并将销售情况反馈给数据库。企业可以查看销售情况,为管理的方便性和信息传递的快速性提供了一个很好的平台。系统开发的总体任务是实现信息查询及销售登记自动化。总之,企业销售管理系统要实现登陆验证、商品和公司基本信息、商品销售管理、商品进货管理、查询统计、往来管理六大部分。2.3.5性能需求一般的性能需求是包括信息处理的及时性和准确性,系统的开放性和可扩充性,系统的稳定可靠性,系统的易用和易维护性。系统的标准性及安全性。本系统是个销售管理系统,要考虑到系统的易用和易维护性。该系统直接面对使用人员的,而使用人员往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。另外要考虑的性能需求就应该是系统安全性问题了。在考察系统的每个阶段,均需要考虑彼此间的认证与授权。尤其要注意认证,简单地说就是确定谁是特定用户,并针对安全源验证该用户的身份。在处理完识别用户的方法之后,必须利用一种方法以向用户授权,从而能够使用系统的特定功能。也就是说,需要一种方法来决定允许特定用户进行什么样的操作。而这些都是在进行系统设计时需要考虑的性能方面内容。ASP提供了六个内建对象,供用户直接调用:Application对象、Session对象、Request对象、Response对象、Server对象、ObjectContext对象5.ASP的主要内置组件:AdRotator组件、BrowserCapabilities组件、DatabaseAccess组件、FileAccess组件、ContentLinking组件。此外,还可安装Myinfo、Counters、ContentRotator、PageCount等组件,用户也可自行编制Actiive组件,以提高系统的实用性。2.3.6人员分析此系统操作简单,使用人员无需具有专业的计算机操作基础,因此对工作人员来说应用此系统是不成问题的。2.3.7经济方面的可行性分析本系统开发经费并不是很多。对于规模不很大,经费有限的单位在经济上是可以接受的,并且本系统实施后可以显著提高效率,很快就可以体现经济效益。投入:除软件开发成本,一台中等电脑,现价4000元左右,完全可以良好的运行系统,完成硬件平台的要求,而且经济实用。2.4结论综上所述,无论是从技术方面还是经济方面看开发此系统均是可行的。第三章系统设计系统设计又称系统物理设计。它根据系统分析报告中的系统逻辑模型综合考虑各种约束,利用一切可利用的技术手段和方法进行具体设计,确定新系统的实施方案,解决系统怎么做的问题。该系统的总体任务是实现销售管理信息,基本信息的系统化,规范化和自动化。在系统调研的基础上,对新系统的功能进行细致的分析,并建立一个新系统的逻辑模型。3.1系统设计目标需求分析之后,就项目内容的要求设计出系统目标包括:题目内容要求的用户登陆和验证、初始化数据库、基本信息的录入(用户登录、信息修改、删除)、销售管理(销售进货、销售退货)、基本信息的查询等功能。用户界面友好、性能稳定,报表等系统维护策略。优化数据的逻辑模型设计和物理模型设计,以便提高运行速度、降低存储空间,且能满足数据一致性要求。充分考虑行为的合理划分,提高软件使用的便利性。3.2开发设计思想销售管理程序实际上是基于录入输出的管理系统,程序采用Visual2005语言编辑,结合SQLServer2000数据库,搭配局域网络形成一个完善的销售管理系统。程序实现过程是先将商品和公司信息的字段通过程序录入到数据库当中,形成一个内容完整的数据库。然后按要求添加、修改和删除一些相关信息,以方便企业对商品信息和销售情况进行查询,完成设计内容。3.3系统架构系统总体的功能是实现销售管理的系统化、规范化和自动化,是使用者便于操作,更容易进行管理。企业销售管理系统要实现登陆验证、商品和公司基本信息、商品销售管理、商品进货管理、查询统计、往来管理六大模块。再从这六大模块中具体划分小的模块,具体实现销售管理系统的使用。系统总体框图如下:销售管理销售管理基本信息进货管理销售管理查询统计往来管理用户管理添加商品信息公司信息管理添加公司信息商品信息管理添加进货信息添加进货退货添加销售信息添加销售退货商品进货查询商品退货查询商品库存查询商品销售排行商品进货结账商品退货结账添加用户修改用户密码删除用户图3-1系统总体架构图3.4系统设计销售管理系统不简单的是一个软件,它覆盖了企业销售管理的职能,是企业管理事务中关键环节。是一个将销售管理思想以及当今最新计算机技术完美统一起来,实现科学化、自动化管理的集成应用系统。.在功能方面,系统面向企业各个层次用户的需求,即企业领导和管理人员以及保障系统运行的系统管理员。为企业销售管理提供全面、及时、准确的信息和可靠的依据。.在通用性设计方面,以标准化为基础,通过信息流程和管理过程的合理模型化、管理对象的模型化,使得系统具有一定的通用性和规范性。.在系统开放性方面,按照软件工程开发规范实现系统的开放性,既便于扩充又便于升级,以适应今后企业管理发展及销售体系改革的需求。.在系统和数据的安全性方面,系统采用数据库级用户权限和应用程序级运行权限的双重控制机构,提供了统一的基于角色的用户管理手段,通过数据库系统的数据安全机制,具有完善的系统和数据安全的保障体系。.在操作性方面,采用图形用户界面技术,使系统能够以多得图形窗口和丰富便利的操作界面,通过鼠标或键盘的操作,为用户提供最简洁的使用方法。3.5数据库设计上面提到的各种功能的实现都离不开数据库的支持,因此数据库设计作为本系统设计的一部分不可缺少。数据库设计在整个程序设计过程中占据非常重要的地位,也是整个程序设计的基础。把数据库从整个程序中分离出来,单独进行,有很大的好处,即使程序设计分工明确,也方便程序员在详细设计师不必考虑数据库的结构,只需知道数据名及表名和表中的字段名就能进行编码设计,体现面向对象设计的思想。其实在需求分析阶段,我们的很大一部分讨论始终都没离开用户所要求的数据。如果把前面的讨论看成是数据库的逻辑设计,下面的问题将是数据库的具体物理实现。我们使用的数据库系统是SQLServer2000。从上面的功能分析看出本系统需要建立以下几个数据表:商品信息(tb-Commmodity)表、公司信息(tb-Commpany)表、查询信息(tb-Reckoning表)及进货退货信息(tb-Stock)表和使用用户表(tb-User表)。tb-Commmodity表(商品信息)中包括商品ID、商品名称、商品简称、商品产地、商品单位、商品规格、商品批号、批准文号、供应商、备注、操作员、添加时间、数量等字段。具体设置如表3.1所示。字段名称字段代码数据类型是否为空商品IDIdInt(4)否商品名称ComdityNameVarchar(100)是商品简称ShortNameVarchar(50)是商品产地ProductPlaceVarchar(100)是商品单位UnitVarchar(20是商品规格SpecsVarchar(50)是商品批号PassNumberVarchar(50)是批准文号PassListVarchar(50)是供应商CompanyIdInt(4)否备注RemarkVarchar(500)是操作员UsernameVarchar(50)是添加时间AddTimeVarchar(50)是数量totalInt(4)是表3.1tb-Commmodity(商品信息)表一个tb-Commpany表(公司信息)中所包含的数据字段如下表所示:包括公司ID、公司名称、所属类型、公司简称、公司地址、邮政编码、联系电话、传真、联系人、E-mail、开户银行、操作员、添加时间等,具体设置如表3.2所示:字段名称字段代码数据类型是否为空公司IDIdInt(4)否公司名称CompanyNameVarchar(50)是所属类型CompanyTypevarchar(50)是公司简称CompanyShortvarchar(50)是公司地址CompanyAddressvarchar(50)是邮政编码Postalcodevarchar(50)是联系电话Telvarchar(50)是传真Faxvarchar(50)是联系人Linkmanvarchar(50)是E-mailEmailvarchar(50)是开户银行Bankvarchar(50)是银行帐号BandAccountsvarchar(50)是操作员Usernamevarchar(50)是添加时间AddTimevarchar(50)是表3.2tb-Commpany(公司信息)表一个tb-Reckoning表(查询信息)中所包括的信息有ID、商品ID、结算、经手人、日期、操作员、添加时间等字段,具体设置如表3.3所示:字段名称字段代码数据类型是否为空IDIdInt(4)否商品IDCommodityIdint(4)是结算Settlementint(4)是经手人ManageManVarchar(50)是日期datetimeDatetime(8)是操作员usernameVarchar(50)是添加时间Addtimevarchar(50)是表3.3tb-Reckoning(查询信息)表一个tb-Stock表(销售信息)中包括ID、商品ID、公司ID、数量、单价、进货日期、结算日期、应付金额、实付金额、未付金额、经手人、操作员、添加时间、客户ID、类型等字段,具体设置如图3.4所示:字段名称字段代码数据类型是否为空IDidInt(4)否商品IDCommodityIdint(4)是公司IDCompanyIdint(4)是数量Numberint(4)是单价Pirceint(4)是进货日期StockDateDatetime(8)是结算方式SettlementTypeVarchar(50)是应付金额Paymentint(4)是实付金额FactPaymentint(4)是未付金额NotPaymentint(4)是经手人ManageManVarchar(20)是操作员UsernameVarchar(50)是添加时间AddTimeVarchar(20)是客户IDClientIdint(4)是类型TypeVarchar(10)是表3.4tb-Stock(销售信息)表一个tb-User表(用户信息)中所包含的数据字段应该有ID、用户名、用户密码、添加时间等,具体设置如表3.5所示:字段名称字段代码数据类型是否为空用户IDIdInt否用户名UsernameVarchar(50)是用户密码PassWordVarchar(50)是添加时间AddTimeDatetime(8)是表3.5tb-User(用户信息)表执行以上操作后,SQLServer2005生成相应的表如下图所示:图3-2数据库生成样式表3.6数据采集通过一些特征符合条件的测试数据,录入到数据库中,并在编码调试阶段测试各个功能模块的实现。3.7应用程序设计本系统总体的功能是实现公司销售管理的系统化、规模化和自动化,具体包括如下功能模块:(1)系统登录:包括用户登录、修改密码、添加新用户、退出系统等。(2)基本信息管理:包括添加公司信息、添加商品信息、公司信息管理、商品信息管理等。(3)进货管理:主要是更新进货信息和进货退货信息。其中每次进行进货统计都是按进货厂商和进货金额顺序排列的。使用一个表格显示所选时间段的全部进货数据,包括商品名称、生产厂商、产品型号、单价、数量、总金额、进货日期、结算方式、应收金额、实收金额、未收金额、经手人、操作员等。(4)销售管理:主要是更新销售信息和销售退货信息。其中每次进行进货统计都是按进货厂商和进货金额顺序排列的。使用一个表格显示所选时间段的全部进货数据,包括商品名称、生产厂商、产品型号、单价、数量、总金额、进货日期、结算方式、应收金额、实收金额、未收金额、经手人、操作员等。(5)查询统计:实现各种商品的进货信息、进货退货信息、销售信息、销售退货信息、库存信息以及销售排行信息查询。用商品名称、进货日期、经手人、和供应商等字段对进货管理和销售管理进行查询。(6)往来管理:实现各种进货、进货退货、销售、销售退货等得的结账情况管理。对企业各种结账有一个全面的统计。具体设置效果图如下图3-3所示:图3-3界面设计图第四章功能界面的设计4.1开发环境配置配置支持ASP技术的IIS服务器IIS是InternetInformationServer的缩写,是微软公司提供的Internet服务器软件,包括Web,FTP,Mail等服务器。本文以Window2000服务器操作系统为例,介绍Web服务器的安装和设置方法。[9]目前运行的IIS的最理想的平台是Window2000服务器版和高级服务器版。Window9x/Me里也有IIS,但只是PWS(个人Web服务器),功能很有限,只支持1个连接。WindowXP里的IIS也只支持10个连接。IIS是Windows操作系统自带的组件。如果在安装操作系统时没有安装IIS,则应手动安装。安装的步骤如下:打开“控制面版”窗口,双击“添加或删除程序”图标,运行“添加或删除程序”窗口。选择“添加或删除程序”窗口内“添加/删除Windows组件”选项,弹出“Windows组件向导”对话框。选中“Internet服务器(IIS)”复选框,单击“下一步”按钮,执行操作。IIS安装完毕。接下来,就是要对系统进行新建虚拟目录的操作:打开“控制面版”窗口,双击“管理工具”图标,进入“管理工具”窗口。双击“Internet服务器(IIS)”图标,进入“Internet服务器(IIS)”窗口。单击“操作”目录,选择下拉菜单“新建”|“虚拟目录”命令.弹出“欢迎”窗口,单击“下一步”按钮。在“别名”文本框中输入映射后的名字,如renli,单击“下一步”按钮。在“目录”文本框中输入要映射的目录,如d:\site\renli,单击“下一步”按钮,进入设置访问权限窗口.在这里选择正确的访问权限,再单击“下一步”按钮,即完成设置。删除映射的方法:打开“Internet服务器(IIS)”窗口,在虚拟目录别名上单击鼠标右键,选择“删除”命令即可。4.2应用程序主界面的实现首先建立一个.NET的Web开发项目打开VisualStudio2005创建一个“销售管理系统”网站,语言选择VisualC#,保存到相应位置。系统自动生成一个Default.aspx页面文件。4.2.1创建样式表文件在项目目录下创建一个images文件夹,存放该项目中所需要用到的图片。建立一个适用于本系统项目整个风格的样式表文件。每个网站都有自己独特的风格,如果要调整网站每一个页面的风格,工作量比较大且比较容易出错,这是就可以通过预定义一些固定的样式来设置网页中相关部分的风格。这里的样式类似Word中的样式(2)。右键单击解决方案,新建文件夹,命名为CSS,在CSS文件夹上右键单击添加新项,添加CSS样式表。如下图所示:图4-1添加CSS文件(5)2.然后在空白的样式表文件中右键单击选择“添加样式规则”菜单项,在弹出的“添加样式规则”对话框中选中“元素”单击按钮,从其下拉列表中选择“A:link”元素,“>”按钮,将“A:link”添加到“样式规则层次结构”列表中,单击“确定”按钮,系统自动生成相应的样式元素代码框架。3.使用同样的方法添加A:visited、A:active、A:hover元素。系统自动生成代码框架。4.然后为各元素添加相应的代码设置。.css{font-size:12px;}.white{color:#FFFFFF;}a:link{color:#000000;text-decoration:none;}a:visited{text-decoration:none;color:#000000;}a:hover{text-decoration:none;color:#000000;}a:active{text-decoration:none;}4.2.2配置Web.config文件通过对Web.config文件的设置,可指定网站运行相关的属性及调用的相关参数(3)。1.新建Web配置文件Web.config.2.设置与应用相关的参数在<configuration>节中添加如下代码:<appSettings><addkey="strcon"value="server=.;database=db_Sell;uid=sa;pwd=sa;"></add></appSettings>(1)设置debug值为true设置compilationdebug=“true”,将调试符号插入已编译的页面中。但由于这一操作将影响性能,因此只在开发过程中将此值设为true.(2)设置自定义错误信息<customErrorsmode="RemoteOnly"defaultRedirect="GenericErrorPage.htm"><errorstatusCode="403"redirect="NoAccess.htm"/><errorstatusCode="404"redirect="FileNotFound.htm"/></customErrors>4.2.3创建类文件创建stockClass类文件创建系统应用类文件:进货销售信息类文件,该文件用于保存进货销售相关得一些方法、属性等,在相关的程序中可以进行调用。1.添加一个类文件夹App_Code,把项目需要类文件都放在里面。创建一个stockClass.cs文件,用于保存为项目编写的基本类文件。鼠标右键单击“解决方案管理器”中的App_Code文件夹,选择“添加新项”菜单项并在模板中选择“类”,将默认类名改为“stockClass.cs”。如下图所示:图4-2添加类文件2.添加新的命名空间usingSystem.Data.SqlClient;3.声明一个SqlCommandscdc对象和一个SqlConnectionstrcon对象SqlCommand类用于执行SQL语句或存储过程,而SqlConnection类用于数据库的链接,它的一个实例表示一个已建立的链接。为stockClass类声明一个方法stock,其代码如下:publicintstock(intcid){//计算进货数量intstockNumber,returnNumber;SqlConnectionstrcon=newSqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);strcon.Open();SqlCommandscdc=newSqlCommand();scdc.Connection=strcon;scdc.CommandText="selectsum(Number)fromtb_StockwhereCommodityId="+cid+"andType='进货信息'";if(scdc.ExecuteScalar()isDBNull){stockNumber=0;}else4.{stockNumber=Convert.ToInt32(scdc.ExecuteScalar());//商品进货数量}scdc.CommandText="selectsum(Number)fromtb_StockwhereCommodityId="+cid+"andType='进货退货'";if(scdc.ExecuteScalar()isDBNull){returnNumber=0;}else{returnNumber=Convert.ToInt32(scdc.ExecuteScalar());//进货退货数量}returnConvert.ToInt32(stockNumber-returnNumber);}为stockClass类声明一个方法sell,其代码如下:publicintsell(intcid){//计算进货数量intstockNumber,returnNumber;SqlConnectionstrcon=newSqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);strcon.Open();SqlCommandscdc=newSqlCommand();scdc.Connection=strcon;scdc.CommandText="selectsum(Number)fromtb_StockwhereCommodityId="+cid+"andType='销售信息'";if(scdc.ExecuteScalar()isDBNull){stockNumber=0;}else{stockNumber=Convert.ToInt32(scdc.ExecuteScalar());}scdc.CommandText="selectsum(Number)fromtb_StockwhereCommodityId="+cid+"andType='销售退货'";if(scdc.ExecuteScalar()isDBNull){returnNumber=0;}else{returnNumber=Convert.ToInt32(scdc.ExecuteScalar());}returnConvert.ToInt32(stockNumber-returnNumber);}为结帐行为添加一个方法,用于结帐信息publicintnot(stringid){intpayment;SqlConnectionstrcon=newSqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);strcon.Open();SqlCommandscd=newSqlCommand("selectNotPaymentfromReckoningwhereid="+id,strcon);intnotpayment=Convert.ToInt32(scd.ExecuteScalar());scd.CommandText="selectsum(Settlement)aspaymentfromtb_ReckoningwhereCommodityId="+id;if(scd.ExecuteScalar()isDBNull){payment=0;}else{payment=Convert.ToInt32(scd.ExecuteScalar());}intnot=notpayment-payment;returnnot;}4.3页面设计4.3.1创建Main页面(系统主页面)Main页面主要是背景图片的植入,在系统各页面中有main页面做底衬。简单的在源视图中加入图片代码即可。其操作如下所示:<bodystyle="background-image:url(images/main.jpg)"><formid="form1"runat="server"><divstyle="background-image:url(images/main.jpg)"></div></form></body>编辑Default文件1.引用样式表文件。在Default.aspx中引用stockClass.css文件。2.插入表格。向Default.aspx中插入一个三行两列的表格进行布局。3.将第一行单元格合并,属性值设为宽度770px高度为148px.第二行单元格宽度770px高度为20px第三行单元格宽度为770px.高度为652px图4-3添加节点示意图4.在第一行单元格中插入图片default_1.jpg.5.第二行中的单元格中插入两个标签,分别来显示操作员和当前日期。6.在第三行中第一个单元格的属性值为183px,第二个单元格为587px.在第一个单元格中插入导航中的TreeView控件。编辑节点单击添加根节点为“基本信息”在基本信息中点击添加子节点为“添加公司信息”、“添加商品信息”“公司信息管理”“商品信息管理”等子节点。一次步骤依次添加进货管理、销售管理、查询统计、往来管理、系统设置等根节点以及其子节点。如上图所示:7.编辑Default.aspx的后台程序。Default.aspx.cs页面中,添加如下代码:protectedvoidPage_Load(objectsender,EventArgse){if(Convert.ToString(Session["username"])==""){Response.Write("<scriptlanguage=javascript>alert('请登录');location='login.aspx'</script>");}this.Label1.Text=Convert.ToString(Session["username"]);this.Label2.Text=Convert.ToString(DateTime.Today.ToShortDateString());}4.3.2编辑登录(login.aspx)页面系统登录模块主要用于验证用户登录系统时输入的用户名、密码和验证码是否正确,只有合法的用户才可以进入系统,否则将不能进入此系统,系统登录页面如图所示:图4-4登陆页面设计图页面的整体布局如图所示,其后台代码如下(1):if(!IsPostBack){RandomvalidateN=newRandom();this.Label1.Text=validateN.Next(9).ToString()+validateN.Next(9).ToString()+validateN.Next(9).ToString()+validateN.Next(9).ToString();}当页面首次加载时,标签上所显示的是由数字随机构成的验证码。当输入用户名、密码和验证码后,用户登录验证程序。双击ImageButton1按钮,打开login.aspx.cs代码页,在ImageButton1_Click事件中添加如下代码:protectedvoidImageButton1_Click(objectsender,ImageClickEventArgse){stringusername=Request["username"];stringuserpwd=Request["userpwd"];stockClasssc=newstockClass();if(sc.validate(username)){Response.Write("<script>alert('用户名中不能含有非法字符');history.back()</script>");return;}if(sc.validate(userpwd)){Response.Write("<script>alert('密码中不能含有非法字符');history.back()</script>");return;}if(this.ValidateNumber.Text!=this.Label1.Text){Response.Write("<script>alert('验证码错误');history.back()</script>");return;}SqlConnectionstrcon=newSqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);strcon.Open();SqlCommandscd=newSqlCommand("selectcount(*)asfffromtb_userwhereusername='"+username+"'anduserpwd='"+userpwd+"'",strcon);intcount=Convert.ToInt32(scd.ExecuteScalar());if(count>0){Session["username"]=username;Response.Redirect("default.aspx");}else{Response.Write("<script>alert('用户名或者密码错误,请重新输入!');history.back()</script>");return;}}双击取消则清空用户名和密码中的内容。双击ImageButton2按钮,打开login.aspx.cs代码页,在ImageButton2_Click事件中添加如下代码:protectedvoidImageButton2_Click(objectsender,EventArgse){UserName.Text="";Session["username"]="";Session["userpwd"]="";}4.3.3添加用户模块在功能导航区中单击“添加用户”按钮,在操作区中会显示添加用户页面。添加用户页面主要是添加管理用户,使系统可以实现多用户管理。在用户名及密码处填写用户名及密码,然后单击“添加”按钮,完成添加操作。1.新建一个Web窗体,命名为user_add.aspx,在其中插入一个4行2列的表格,高度为219px,宽度为412px.对齐方式为居中。2.按照如下图所示编辑文字,插入的控件分别为:两个Text,分别名为username,userpwd;两个Button,分别名为Button1,Reset1.图4-5添加用户设计样式图3.编辑后台代码,双击Button1按钮,打开user_add.aspx.cs代码页,在Button1_Click事件中添加如下代码:protectedvoidButton1_Click(objectsender,EventArgse){stringusername=Request["username"];stringuserpwd=Request["userpwd"];DateTimeAddTime=DateTime.Now;stockClasssc=newstockClass();if(sc.validate(username)){Response.Write("<script>alert('用户名中不能含有非法字符');history.back()</script>");return;}if(sc.validate(userpwd)){Response.Write("<script>alert('密码中不能含有非法字符');history.back()</script>");return;}SqlConnectionstrcon=newSqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);strcon.Open();SqlCommandscd=newSqlCommand("selectcount(*)asfffromtb_userwhereusername='"+username+"'",strcon);intcount=Convert.ToInt32(scd.ExecuteScalar());if(count>0){Response.Write("<script>alert('用户已经存在,请重新输入!');history.back()</script>");return;}try{scd.CommandText="insertintotb_user(username,userpwd,addtime)values(@username,@userpwd,@addtime)";SqlParameterpara=newSqlParameter("@username",SqlDbType.VarChar,20);para.Value=username;scd.Parameters.Add(para);para=newSqlParameter("@userpwd",SqlDbType.VarChar,20);para.Value=userpwd;scd.Parameters.Add(para);para=newSqlParameter("@AddTime",SqlDbType.DateTime);para.Value=AddTime;scd.Parameters.Add(para);scd.ExecuteNonQuery();Response.Write("<script>alert('用户添加成功');location='user_add.aspx'</script>");}catch{Response.Write("<script>alert('操作失败');location='user_add.aspx'</script>");}strcon.Close();}}在功能导航区中单击“修改密码”按钮,在操作区中会显示修改密码页面此页面只可以修改当前操作用户的密码,在密码处添加要修改的密码,然后单击“修改”按钮,完成修改操作。根据用户添加页面编辑用户密码修改页面(user_edit.aspx)页面,其后台代码如下所示:其Page_load事件的代码如下所示:protectedvoidPage_Load(objectsender,EventArgse){if(Convert.ToString(Session["username"])==""){Response.Write("<scriptlanguage=javascript>alert('请登录');location='../login.aspx'</script>");}if(!IsPostBack){this.username.Text=Session["username"].ToString();}}4.编辑后台代码,双击Button1按钮,打开user_edit.aspx.cs代码页,在Button1_Click事件中添加如下代码:protectedvoidButton1_Click(objectsender,EventArgse){stockClasssc=newstockClass();if(sc.validate(Request["userpwd"].ToString())){Response.Write("<script>alert('密码中不能含有非法字符');history.back()</script>");Response.End();}SqlConnectionstrcon=newSqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);strcon.Open();SqlCommandscd=newSqlCommand("updatetb_usersetuserpwd='"+Request["userpwd"]+"',addtime='"+DateTime.Now+"'whereusername='"+Convert.ToString(Session["username"])+"'",strcon);scd.ExecuteNonQuery();strcon.Close();Response.Write("<script>alert('密码修改成功');location='user_edit.aspx'</script>");}4.3.4用户管理模块:在功能导航区中单击“用户管理”按钮,在操作区中会显示用户管理页面,如下图所示。此页面主要实现修改及删除等功能。图4-6用户管理设计用户管理页面的操作方法如下:(1)修改。单击“修改”按钮,进入“用户修改密码”页面。此修改主要用于修改密码。(2)删除。单击“删除”按钮,完成删除操作。其页面编辑步骤如下:图4-7数据库配置选项图新建一个web窗体,命名为user_manage.aspx,并在页面中插入一个GridView控件。GridView中新建一个数据源SqlDataSource1,然后为数据源添加链接,在链接中添加列,如下图所示:完成后,再为GridView添加新的列,添加两个HyperLinkField字段用来链接到修改页面对每个用户资料修改、删除,一个设置其表头文字为“修改”,显示文字为“修改”,另一个一个设置其表头文字为“删除”,显示文字为“删除”。并在编辑列下面选中启用排序、分页等。其后台代码如下所示;publicpartialclassBedrock_Commodity_manage:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(Convert.ToString(Session["username"])==""){Response.Write("<scriptlanguage=javascript>alert('请登录');location='../login.aspx'</script>");return;}if(!IsPostBack){this.bind();}}publicvoidbind(){SqlConnectionstrcon=newSqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);strcon.Open();SqlDataAdaptersda=newSqlDataAdapter("select*fromtb_Userorderbyiddesc",strcon);DataSetds=newDataSet();sda.Fill(ds,"tb_User");GridView1.DataSource=ds.Tables["tb_User"];GridView1.DataKeyNames=newstring[]{"id"};GridView1.DataBind();}protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse){GridView1.PageIndex=e.NewPageIndex;this.bind();}protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse){SqlConnectionstrcon=newSqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);strcon.Open();stringid=GridView1.DataKeys[e.RowIndex].Value.ToString();SqlCommandscd=newSqlCommand("delet
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广元中核职业技术学院高职单招职业适应性考试备考题库有答案解析
- 2026年河南职业技术学院高职单招职业适应性测试参考题库带答案解析
- 2026年巴音郭楞职业技术学院单招职业技能考试备考题库带答案解析
- 2026年巴中职业技术学院单招综合素质笔试备考题库带答案解析
- 2026年广西培贤国际职业学院单招综合素质考试参考题库带答案解析
- 碳中和认证代理协议(企业)2025年年度计划
- 2026年深圳职业技术学院单招综合素质笔试备考题库附答案详解
- 2026年白银矿冶职业技术学院单招综合素质考试参考题库带答案解析
- 2026年河北司法警官职业学院单招综合素质笔试模拟试题带答案解析
- 2026年广西体育高等专科学校高职单招职业适应性测试备考题库有答案解析
- 肠炎宁营销方案
- GB/T 9869.3-2025橡胶用硫化仪测定硫化特性第3部分:无转子硫化仪
- 食品安全风险隐患内部报告奖励制度(供参考)
- 烫伤的应急预案及处理流程
- 腹部X片读片课件
- 平天越数易学课件
- 2025年11月中国质量协会质量专业能力考试QC小组活动专业能力复习题库及答案
- 养老院9防培训课件
- 浙江军转考试试题及答案
- 2025海康威视内容安全管控系统使用手册
- 生物安全培训试题(含答案)
评论
0/150
提交评论