1、引 言随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越来越显示出其独特的优势,步入数字时代。 而面对市场各公司的管理,高效的解决公司中管理问题在适应市场的发展中突显出尤为重要的作用。产品的销售管理在现代公司经营管理中占据着重要的地位,一个公司产品销售管理的水平几乎决定着公司的经济命脉。公司的所有功能、信息、组织管理方面都是一个集成整体的各个部分。管理信息系统(MIS)是公司CIMS工程中的一个分支,产品销售管理系统是公司MIS建设中重要的组成部分。计算机集成制造系统(CIMS :
2、Computer Integrated Manufacturing System)是在自动化技术、信息技术及制造技术的基础上,通过计算机及其软件,把公司所有生产活动所需的各种分散的自动化系统有机的集成起来,是适合于多品种、中小批量生产的总体高效益系统。MIS(管理信息系统)是CIMS中很重要的一个部分,是公司信息化的直接体现。管理信息系统(MIS)的概念起成熟于20世纪70年代。管理信息系统(MIS)就是借助以计算机、互联网等先进技术为代表的信息手段,将公司的经营及管理流程在线实现,并使公司管理层真正可以在线获得完整而明晰的“信息”,信息化是一项长期的事业,无论是跨国公司,还是国内的公司,都是
3、在过去几十年中的不同时间、不同切入点开始信息化建设的。我们可以想象,在公司中,使用人工的方式管理各项产品销售信息不仅效率低下,并且容易犯错,安全性也很差。并且在实际的操中数据的查找以及客户信息的保管等都不容易实现。这些不仅将导致管理费用的增长,服务质量也难以得到保证,从而影响公司的竞争力。本次毕业设计将完毕北京东洋贸易有限公司产品销售管理系统,本系统的研究目的在于:实现该公司产品信息、销售信息管理及信息检索;实现客户信息管理,从而提高公司的工作效率和质量。本文将在后面对本系统各个功能模块一一加以具体阐述。1.项目概述1.1项目背景通过20数年的时间,我国公司的信息化建设工作取得了长足进展,但由
4、于对公司信息化建设的途径缺少系统而科学的结识,以往许多公司的信息化建设工作走了不少弯路,出现了一些误区,其中表现最为明显的倾向是不顾本单位信息化建设的现实条件,盲目地追求业务解决的自动化、决策自动化等更高层次的信息化建设,而忽视了公司信息库的构建这一信息化建设的第一步基础性工作。这种倾向又有许多不同的形式,在产品销售管理方面具体表现为:(1) 不重实行,急于求成有的人认为将产品销售管理软件买来即可,对实行的重要性理解不够,有的甚至说只要提供说明书即可,尚有的急于求成,规定在短时间内见到成效,这些做法是不切实际的。(2) 公司与产品销售管理软件提供商配合不够公司在实行过程中配合不够,认为买产品销
5、售管理软件出了钱,其它的事情都是软件公司的,公司被动地等着使用。应当说公司通过反复考察和选型,一旦选定了软件,公司应当与产品销售管理软件提供商建立一种长期合作的关系,更准确地说应是建立合作伙伴关系,两者应密切配合,以使所购的产品销售管理软件在公司能充足用好,为公司解决实际问题,带来直接的经济效益。(3) 公司的标准太老或没有标准公司现有的标准太老,不太适合计算机解决。随着制造业信息化的发展,标准化落后于新技术的发展,满足不了公司需求的矛盾逐步显现。这些新技术不久就被运用为公司信息化管理平台,以及新的公司与客户、公司与公司、个人之间的沟通渠道。最为重要的是无沦信息来自哪项技术、哪个渠道,它都去更
6、改同一个数据库,而保证了不同渠道看到的信息是同步的。这涉及客户、供应链和其他各种公司信息。(4) 公司的需求超前公司提出一些超前或不切实际的功能规定,而产品销售管理软件暂时不能满足。有的公司认为越先进的功能越好,在选型过程中一味追求先进,而没有考虑是否实用、是否可靠、是否有局限性等等问题。(5) 公司推行的力度不够有人说:公司信息化的决心和态度,问题不在技术,关键在于公司领导人对信息化的参与和掌控。公司信息化事实上并不只是钱的问题,还涉及到公司的管理和运作是否可以配合改变。其实公司实行信息化不仅规定产品销售管理软件提供商有丰富的经验和完善的产品,并且需要公司产品销售管理者参与到整个产品销售管理
7、系统的设计和实行中去,否则管理思想就不能与产品销售管理软件技术相结合,从而功亏一篑,所以,公司信息化应当是“一把手”工程,公司决策者一定要坚定信心,贯彻到底,支持到底,这才是公司信息化成功的法宝。在公司信息化建设过程中涉及的各方面如产品销售管理系统的应用上与整个公司信息化的发展是同步前进的。1.2项目开发意义本课题的工作就是在公司CIMS和MIS建设中开发的一个产品销售信息管理软件-北京东洋贸易有限公司产品销售管理系统。北京东洋贸易有限公司产品销售管理系统是基于ASP.NET和SQL Server 数据库开发的应用系统。使用ASP.NET技术可以动态生成管理页面,可以使产品的销售和管理变得很轻
8、松。管理员登陆后只需添加或修改相应产品信息元素就可以了,系统将自动生成相应的信息。而使用SQL Server 数据库将减轻维护人员的工作量,使系统便于维护和管理。本系统的研究目的在于:实现该公司产品信息、销售信息管理及信息检索;实现客户信息管理,从而提高公司的工作效率和质量。1.3 软硬件需求本系统的软硬件需求如下:(1) 在Windows平台上运营(2) 后台数据库:SQL Server 2023 Express(3) 运营环境:Internet Explorer 、IIS 7.5(4) 个人计算机,AMD CPU,内存2项目需求分析 随着经济的不断发展和完善,公司的经营行为正迅速地由以生产
9、为中心转向以营销为中心,通过强化销售来指导生产,从而发明更多的利润。目前,许多公司在销售管理环节上存在着大量的问题,如产品结构不合理、产品库存积压严重等等,这些因素严重制约着公司的发展,影响公司的生存。为了解决这些问题,决定开发商品销售管理系统。 该系统从公司管理的实际需求出发,以市场为导向,通过对客户、商品库存、销售行为、销售过程等环节的记录、管理,建立弹性和灵活的销售业务流程及制度,从而使公司销售管理工作从经验走向科学。2.1系统的功能需求北京东洋贸易有限公司产品销售管理系统是一个实用的产品销售管理系统,可以实现该公司产品信息、销售信息管理及信息检索;实现客户信息管理,从而提高公司的工作效
10、率和质量。(1).客户信息管理实现客户信息的增删改查等功能,并且能查看客户的购买记录,有效提高公司对客户信息管理的力度和效率。(2).产品信息管理产品信息查询查看:以表格形式呈现数据库中的产品信息,并且允许查找功能。产品信息的增删改管理,以表格形式呈现产品信息,并且有增添新产品的链接,表格上有修改和删除选项直接导入修改页面修改产品信息,或者删除该行。进货入库管理:输入产品编号后可以快速添加该产品的库存数量。退货出库管理:输入产品编号后可以快速减少该产品的库存数量。(3).销售信息管理订单管理:可以显示订单状况,并且打上解决标志,表格方式呈现利于管理。显示销售年份信息:选择销售年份后,即可显示该
11、年份的月供销信息。修改销售年份信息,增长新的销售年份,或者修改原有销售年份中某个年份中的信息,将该年份以表格形式展示12个月份的信息,支持直接在表格上进行修改,查询记录功能:可以显示某年的年供销额,支持自动计算,支持显示图表。(4).库存管理库存记录:以表格形式呈现数据库中的产品库存情况,并且允许查找功能。库存预警:以表格形式呈现数据库中的产品库存情况,只显示库存局限性的产品。(5).保密信息管理模块修改当前用户的密码:允许用户修改当前用户的管理员登陆密码。(6).用户管理用户查询查看:允许总经理级别管理员查看所有后台管理员的账号,同样以表格方式呈现,显示出用户的姓名,地址,电话等信息。用户的
12、增删改:以表格形式呈现用户信息,并且有增添新用户的链接,表格上有修改和删除选项直接导入修改页面修改用户信息,或者删除该行。(7).数据维护该功能可实现对数据的备份和还原,保证数据的可恢复性和安全性。(8).退出系统:离开本系统。本系统功能图如下:登录权限管理验证登录信息并赋予相应权限历史购买记录信息客户订单信息退换货信息按指定方式搜索客户信息客户交易信息管理客户信息管理模、客户信息的增删改查北京东洋贸易有限公司产品销售管理系统按指定方式搜索产品信息产品具体信息的增删改查产品信息管理模、进货管理 退货管理显示销售年份信息添加、修改、删除销售年份信息订单管理查询记录功能销售报表管理查询销售情况销售
13、信息管理商品库存情况库存记录库存管理库存预警数据维护用户管理退出系统图2-1 销售管理系统功能图2.2数据流图分析数据流图是结构化分析方法中用于表达系统逻辑模型的一种工具。它以直观的图形清楚地描述了系统数据的流动和解决过程,图中没有任何具体的物理元素,重要强调的是数据流和解决过程。即使不是计算机专业技术人员也很容易理解,数据流图是软件开发人员和用户之间很好的通信工具。图2-2为本此毕业设计系统的数据流图顶层图,它体现了系统名称: F= f1客户信息+f2产品信息+f3销售信息+f4库存信息F1=f2产品信息+f3销售信息图2-2 商品销售管理系统数据流图顶层图数据流0层图体现了系统的重要功能框
14、架,本系统的0层图如图2-3所示:图2-3 商品销售管理系统数据流图0层图0层图中的每个逻辑功能都需要细化,直到足够简朴具体为止。图2-4对解决订单功能进行了细化:图2-4 商品销售管理系统数据流图-解决订单功能细化图2-5是对添加订单功能的细化,通过输入要添加的订单信息点击确认以后,即可把新的订单信息保存到数据库中:图2-5 商品销售管理系统数据流图-添加订单功能细化图2-6是对解决订单功能的细化,一方面也进行用户信息的匹配验证,进入系统后,点击修改按钮即可对订单信息进行修改操作,确认后系统进行信息保存: 图2-6 商品销售管理系统数据流图-修改订单功能细化3项目概要设计3.1设计原则为了使
15、本系统功能完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵守了如下原则:(1)合法性原则:依据产品核算系统的工作规定以及规定,参照核算实际的工作情况,进行诸如产品进货、销售等工作。(2)实用性原则:适合产品信息管理工作的实际需求,并可以解决一些特殊情况的规定,此外,尽也许预留空间,一边扩充功能。(3)易操作原则:规定设计的系统功能齐全,界面和谐,操纵方便,必要的地方进行提醒。(4)源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,尽也许做好代码注释工作。(5)安全性原则:可认为该系统的用户设立用户权限。3.2系统开发平台依开
16、题报告中的各种平台的对比分析,比较权衡后拟定开发平台为:表3-1 系统开发平台开发工具Microsoft Visual Studio 2023 Express使用语言C#.NET数据库SQL Server 2023 Express开发模式B/S开发环境Microsoft Visual Studio 2023 Express、SQL Server 2023 Express、Internet Explorer 、IIS 7.5根据销售管理系统的特性,从程序入口(登陆窗口)开始,以各个部门将项目分块进行设计,做到分类清楚,一目了然,在系统界面,以及物理文献的途径结构上都进行分类规划,有助于日后进行内
17、容的更新和扩充。由分块的性质,采用适宜的树状结构划分整个系统,依照系统的需求将系统分为:用户登陆,客户信息管理,产品信息管理,销售信息管理,库存信息管理,用户信息管理,保密信息管理(修改密码)几大类。并在各类下按照需求进行小类的划分。用户信息管理模块涉及登陆验证,用户类别检查两个功能模块。客户信息管理模块下涉及客户信息查询查看,客户交易信息管理,客户信息的增删改管理。产品信息管理涉及产品信息查询查看,产品信息的增删改管理,进货入库管理,退货出库管理。销售信息管理模块涉及订单管理,显示销售年份信息,修改销售年份信息,查询记录功能。库存管理涉及库存记录和库存预警模块,保密信息管理涉及修改当前用户的
18、密码。用户管理涉及用户查询查看,用户的增删改。以及系统的各种功能,例如退出系统。3.3系统架构设计-B/S模式 随着网络规模的日益扩大,应用程序的复杂限度不断提高,传统的数据库应用架构已经不能胜任。为了充足运用网络资源,越来越多的信息需要在 www(WoridWideWeb)上发布,实现信息最大限度的共享。Browser/Serve结构随着着Intemet的发展而不久地发展起来。Browser/Serve体系结构是一种三层结构,其三级结构组成如图1-2所示:图3-1 B/S结构示意图B/S系统体系结构的特点:(1).和谐、统一的图形用户界面在Browser/Server系统中,由于遵循了统一的
19、标准协议,并且使用浏览器作为统一的客户软件,用户无须再花费大量的时间与精力去学习和熟悉不同的系统的使用方法,用户可以把大部分的精力集中在系统的内容上,而不是去记住系统的使用说明书。(2).减少网络中的数据流量在Browser/server系统中,由于数据的解决工作是由服务器来执行的,因此在读取数据和保存数据时,这些数据只在几台服务器之间传输,不需要通过浏览器与服务器之间的网络。一般来说,浏览器与服务器之间的网络大都是距离较长并且速度较低的,而服务器与服务器之间的网络则是距离较短并且速度较高的,因此采用Browser/Server后,可以充足地运用服务器之间的高速连接通路,而减少在浏览器与服务器
20、之间的长距离低速网络中的数据流量。 (3).更好的开放性开放性是发挥分布式系统优势的基本保障,它为不同厂商生产的产品协同工作发明了条件,但是这些产品还应当遵循统一的标准。在Browser/server系统中,采用了一致的HTTP协议以及其他一些共同的规则,不同系统之间的冲突将会大大减少。 (4).平台无关性在Browser/Server系统中,程序的主体分布在Mid-Server上,客户机上只有一个标准的浏览器,它与服务器之间采用标准的TCP/IP及HTTP等协议进行通信,因此客户端的平台是相对独立的,它不依赖于服务器方所采用的软硬平台。用户可以自由地选择自己熟悉的平台进行工作。 (5).有效
21、地解决异种数据库联合使用的问题在Browser/Serve系统中,由于采用了 Browser/Mid-Server/Server的三层体系结构,只需在中间层服务器上安装数据库的驱动程序,或者使用专门的服务器用作与数据库连接的桥梁。由于程序的主体是运营在中间服务器上的,客户端只是一个浏览器,避免了在客户端反复安装数据库驱动程序的问题,从而可以有效地解决异种数据库联合使用的问题。(6).客户端的维护工作简朴Brower/Serve系统中,由于采用了通用的客户软件,维护工作重要集中在服务器端,而服务器是由专门的管理人员集中管理的,对系统的维护相对简朴得多。所以本系统采用B/S架构设计系统。3.4开发
22、工具简介3.4.1Microsoft SQL Server 2023 选择Microsoft SQL Server 2023开发工具是由于其自身的巨大优势,具体如下:(1).性能和可伸缩性 行业标准测试结果表白,SQL Server 可以承受世界上最强的负载。诸如Unilever, Citi, Barclays Capital, 以及Mediterranean Shipping 这些使用SQL Server 支持最关键应用程序的客户以及运营SQL Server 2023 的客户都体验到了可伸缩性的增强。最终,诸如Siemens 以及RedPrairie 这样的大型ISV 厂商也历史性的从推广O
23、racle 转变为推广SQL Server. (2).更加安全(漏洞更少)National Vulnerability Database (NIST) 报告显示了在过去四年时间里,Oracle 的数据库产品中有超过250 个致命的安全漏洞。而同一时期SQL Server 却一个漏洞都没有。微软所取得的成功来自于可靠性计算项目中的安全引擎进程,全方位的安全特性, 以及强大的更新系统,它们都可以减少安全风险并减少客户由于打补丁所导致的停机时间。专家表达在补丁管理方面的技术,Oracle 比微软要落后五年,并且只有三分之一的Oracle 数据库管理员会进行打补丁的操作。 (3).开发效率 SQL S
24、erver 可以同Visual Studio 团队协同工作,提供集成化的开发体验,并让开发人员在统一的环境中跨越客户端、中间层以及数据层进行开发。SQL Server 2023 在新的开发功能方面领先了一步。而反观Oracle 通过附加的方式提供较为混乱的工具集和SDK, 使得开发人员需要不断学习并跨越多个接口进行工作。事实上,IDC 的报告表白,微软在提供应用程序平台的厂商中排名首位。 (4).商业智能(BI) SQL Server 作为微软集成化BI 平台的组成部分,可以提供数据仓库、分析报表、绩效考核以及规划预算等功能。在Gartner的Magic Quadrant for BI 报告和
25、Magic Quadrant for Data Warehousing 报告中,SQL Server 都处在领先地位。SQL Server 2023在数据仓库和商务智能方面都有很多创新功能。 (5).与Office 的集成 SQL Server 通过与大家所熟知的Microsoft Office 用户界面紧密集成(例如Data Mining 结合 Excel 这样的免费管理单元),可以帮助客户实现更好的商业洞察力并快速做出商业决策。正因如此, IDC 认为微软是发展速度最快的BI 厂商。 (6).总体拥有成本(TCO) 和Oracle相比,SQL Server 最强的优势在于可以以很低的TCO
26、 来提供上述好处。其重要因素是:1)业界领先的自我调优及自动管理功能可以减少人力成本。2)高效、集成的环境可以加快解决方案制定的时间从而快速实现商业洞察力。3)与Oracle 有所不同,SQL Server 并不需要额外付费就可以使用很多重要的功能,例如压缩、加密以及获取产品更新和安全补丁。所以本系统采用Microsoft SQL Server 2023作为后台数据库的开发工具。3.4.2 ASP.NET ASP.NET是一种建立在通用语言上的程序构架。一个已编译的、基于.NET的环境,把基于通用语言的程序在服务器上运营。将程序在服务器端初次运营时进行编译,比ASP即时解释程序速度上要快很多。
27、微软公司发布了涉及Visual Basic.NET、C#.NET、Visual C+.NET等与.NET兼容的语言来创作应用程序。ASP.NET是在服务器上运营的编译好的公共语言运营库代码,它可运用初期绑定、实时编译、本机优化和盒外缓存服务。这相称于在编写代码行之前便显著提高了性能。(1)世界级的工具支持ASP.NET框架补充了Visual Studio集成开发环境中的大量工具箱和设计器。编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。(2)灵活性由于ASP.NET基于公共语言运营库,因此Web应用程序开发人员可以运用整个平台的威力和灵活性。Microsoft.NET框
28、架类库、消息解决和数据访问解决方案都可从Web无缝访问。ASP.NET也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。此外,公共语言运营库的交互性保证在迁移到ASP.NET时保存基于COM的开发中的现有投资。(3)简易性ASP.NET使执行常见任务变得容易,从简朴的窗体提交和客户端身份验证到部署和站点配置。例如,ASP.NET页框架使您可以生成将应用程序逻辑与表达代码清楚分开的用户界面,和在类似Visual Basic的简朴窗体解决模型中解决事件并不相同。此外,公共语言运营库运用托管代码服务(如自动引用计数和垃圾回收)简化了开发。(4)可管理性ASP.NET采用基于文
29、本的分层配置系统,简化了将设立应用于服务器环境和Web应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设立。此“零本地管理”哲学也扩展到了ASP.NET框架应用程序的部署。只需将必要的文献复制到服务器,即可将ASP.NET框架应用程序部署到服务器。不需要重新启动服务器,即使是在部署或替换运营的编译代码时。(5)可缩放性和可用性ASP.NET在设计时考虑了可缩放性,增长了专门用于在聚集环境和多解决器环境中提高性能的功能。此外,进程受到ASP.NET运营库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于解
30、决请求。(6)自定义性和扩展性ASP.NET随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。事实上,可以用自己编写的自定义组件扩展或替换ASP.NET运营库的任何子组件。(7)安全性借助内置的Windows身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。3.4.3ADO.NET对象模型ADO.NET对象模型中有五个重要的组件,分别是Connection对象、Command对象、DataAdapter、DataSet以及DataReader。这些组件中负责建立联机和数据操作的部分我们称为数据操作组件(Managed Providers)分别由Connection对
31、象、Command对象、DataAdapter对象以及DataReader对象所组成。数据操作组件最重要是当作DataSet对象以及数据源之间的桥梁,负责将数据源中的数据取出后植入DataSet对象中,以及将数据存回数据源的工作。图3-2 ADO.NET对象模型Connection组件Connection对象重要是启动程序和数据库之间的连结。没有运用连结对象将数据库打开,是无法从数据库中取得数据的。这个物件在ADO.NET的最底层,我们可以自己产生这个对象,或是由其它的对象自动产生。Command组件Command对象重要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除
32、数据等指令,以及呼喊存在数据库中的预存程序等。这个对象是架构在Connection对象上,也就是Command对象是透过连结到数据源的Connection对象来下命令的。所以Connection连结到哪个数据库,Command对象的命令就下到哪里。DataAdapter组件DataAdapter对象重要是在数据源以及DataSet之间执行数据传输的工作,它可以透过Command对象下达命令后,并将取得的数据放入DataSet对象中。这个对象是架构在Command对象上,并提供了许多配合DataSet使用的功能。DataSet组件DataSet这个对象可以视为一个暂存区(Cache),可以把从数
33、据库中所查询到的数据保存起来,甚至可以将整个数据库显示出来。DataSet的能力不只是可以储存多个Table而已,还可以透过DataAdapter对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联。DataSet对象可以说是ADO.NET中重量级的对象,这个对象架构在DataAdapter对象上,自身不具有和数据源沟通的能力,也就是说我们是将DataAdapter对象当做DataSet对象以及数据源间传输数据的桥梁。DataReader组件当我们只需要循序的读取数据而不需要其它操作时,可以使用DataReader对象。DataReader对象只是一次一笔向下循序的读取数据源中的数据,
34、并且这些数据是只读的,并不允许作其它的操作。由于DataReade在读取数据的时候限制了每次只读取一笔,并且只能只读,所以使用起来不仅节省资源并且效率很好。使用DataReader对象除了效率较好之外,由于不用把数据所有传回,故可以减少网络的负载。3.5 数据库结构设计3.5.1E-R图本系统的E-R图如图3-3所示:用户实体:记录登陆该系统的用户的相关信息。产品实体:记录产品的相关信息。销售年份实体:记录销售年份的相关信息。客户实体:记录客户的相关信息。订单实体:记录订单的相关信息。历史订单实体:记录历史订单的相关信息退还货信息实体:记录退换货的相关信息图3-3 系统的E-R图3.5.2数据
35、库结构设计数据库结构设计是整个系统中最重要的组成部分,用以实现用户的各种操作,以下分别进行介绍。北京东洋贸易有限公司产品销售管理系统数据库是由8张表组成。见表3-2表3-2 所有表ID数据表名称数据表用途1用户表保存登陆该系统的所有用户的信息2销售年份表保存销售年份的销售信息3销售年表保存销售年信息4退换货表保存退换货信息5历史订单表保存历史订单信息6客户表保存客户信息7订单表保存订单信息8产品表保存所有产品的相关信息1) 用户表结构、表3-3 用户表字段类型长度说明用户名varchar20用户名密码varchar20密码用户类型varchar20用户类型真实姓名varchar20真实姓名电话
36、varchar20电话地址varchar20地址2) 销售年份表结构表3-4 销售年份表字段类型长度说明年份nchar10年份月份int月份销售额float销售额销售利润float销售利润表3-5 销售年表字段类型长度说明年份nchar10年份3) 退换货表结构表3-6 退换货表字段类型长度说明姓名nchar10姓名产品名称nchar10产品名称退/换货nchar10退/换货数量int数量提交时间datetimer接受时间是否解决bit是否解决4) 历史订单表结构表3-7 历史订单字段类型长度说明姓名nvarchar10姓名产品名称nvarchar20产品名称购买时间datetime购买时间购
37、买数量int购买数量解决时间datetime解决时间5) 客户表结构表3-8客户表字段类型长度说明客户编号nvarchar10客户编号姓名nvarchar10姓名性别nchar1性别年龄int年龄电话nvarchar20电话地址nvarchar20地址6) 订单表结构表3-9 订单表字段类型长度说明订单编号nchar10订单编号姓名nchar10姓名产品名称nchar10产品名称购买数量int购买数量下单时间nchar10下单时间是否解决bit是否解决7) 产品表结构表3-10 产品表字段类型长度说明产品编号nvarchar10产品编号产品名称nvarchar20产品名称产品产地nvarcha
38、r20产品产地产品型号nvarchar20产品型号产品介绍nvarcharMAX产品介绍添加日期datetime添加日期数量int数量4 项目实现4.1 公用模块及相关技术说明4.1.1 母版页模块 图4-1 母版页模块母版页是 ASP.NET 2.0 的一项功能,其工作方式与 Windows SharePoint Services 3.0 和 Office SharePoint Server 2023 在 ASP.NET 2.0 中的工作方式相同。运用母版页,您可以创建单个网页模板并在应用程序中将该模板用作多个网页的基础,这样就无需从头创建所有新网页。为了在浏览器中呈现,母版页事实上规定两个
39、独立的部件,即母版页自身和内容网页。母版页定义公用布局和导航栏,以及附加到该母版页的所有内容网页的默认公用内容。内容网页是一个特有的网页。在浏览器中呈现网页时,母版页提供公用内容,而内容网页则提供该网页所特有的内容。以下代码是母版页中的内容位置,将会被其他页面替代。 同时在母版页加入了一个ScriptManager,作为服务器端的控件,ScriptManager 回应 ASP.NET 页面生命周期中的事件,运用这些事件协调 ASP.NET AJAX 使用的所有控件、选项和代码的活动。ScriptManager 将关联某一特定事件,当事件发生时获得告知,并根据环境配置多个设立;此过程将通过 AS
40、P.NET 页面的呈现循环多次反复进行。同时在母版页上设计了一个时间指示的文本标签,该Label能自动获取当前时间并进行显示,重要是由后台的代码实现,在这里说明一下Page_Load函数,这是一个后台由系统自动调用的函数,在页面读入或者回发的时候均会触发这个函数,执行里面的函数体,在这边对Label进行赋值,其内容由系统内置的类DateTime来自动获取当前时间,并由ToString按照M月d日 H时m分的格式转换成字符串,完毕显示。protected void Page_Load(object sender, EventArgs e) Label1.Text = DateTime.Now.T
41、oString( M月d日 H时m分, DateTimeFormatInfo.InvariantInfo); 4.1.2 GridView在有表格呈现的地方采用GridView控件来实现,GridView控件显示表格的参数繁多,功能强大,以Cus_View.aspx来说明,一方面放入一个GridView控件并且调整其外观参数,GridView的外观参数非常多,这里用到了间隔行不同的外观设定,即可得到如下图所示的间隔效果。图4-2 GridView控件实现表格显示数据外观设定完毕后,对不同的列,根据数据库中的列名,依次进行设立,HeaderText设立该列第一行表头的文字,DataField设立
42、数据库中的列名,绑定的时候将显示其在数据库中的数据部分。列又分为BoundField,CheckBoxField,HyperLinkField,ImageField,ButtonField,CommandField,TemplateField。本系统将使用其中的5种,BoundField是文字区域,普通数据则使用BoundField,假如当前列是可以点击的超链接,则使用HyperLinkField,HyperLinkField的设立里有导航地址,可以设立如”/abc.aspx?id=0”的格式,由0表达该行的值,这样的格式将使每一行导向不同的页面。单选框Field的Value设立由True或F
43、alse控制,而最重要的CommandField则提供了删除,更新的操作,与其他控件相同,设立了OnRowDeleting和OnRowUpdating后在后台设立其执行函数。执行函数采用SQL语句,DELETE,UPDATE来操作数据库,具体实现可以从源代码中查看,关于GridView的数据绑定,同样也要用到SQL的Select语句,由实例化的BaseClass1中的ReadTable获取某个数据表内的数据,然后用DataBind方法来绑定数据。关于GridView的分页,采用了两种方法实现,其一是内部提供的方法,控件提供下面的页码索引和上一页、下一页等按钮,只需给响应事件的函数GridVie
44、w1_PageIndexChanging添加改变页码和重新绑定的C#代码即可。另一种则用到了新的类PagedDataSource,由该类来为数据表分页,并且需要自己编写函数实现翻页功能,其优点是有更大的灵活性,可以自由安排翻页控制的显示方式,例如还可以显示总页数,当前页码等额外信息。由于很多情况下页面没有办法填充整个PageSize,而控件自身也不提供自动填充的功能。所以本系统使用了GridView1_DataBound响应函数,在其中计算该页欠缺的行数,然后进行填充,生成足够多的新行,并且给每行的所有单元格附上一个空格。4.1.3 StyleSheet.css和web.config图4-3 StyleSheet.css和web.configStyleSheet.css是外部链接样式表文献,在该文献内部定义好css样式后,链接该文献如下,即可使用 id=”xxx” 来引用StyleSheet.css中定义的样式。link href=/StyleSheet.css rel=stylesheet type=tex
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100