已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆航天职业技术学院 毕业设计说明书(论文)摘 要本系统依据开发要求主要应用于市场管理系统,完成对日常的管理工作中VIP客户的数字化管理。开发本系统可使商场管理者减轻工作压力,比较系统地对市场的日常工作和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,使各项管理更加规范化。现在,商场工作繁杂、资料重多,虽然各类管理信息系统已进入市场,但还未完全完善,而对于消费者信息管理来说,目前还没有一套完整的、统一的系统。加之各市场都在不同程度上改变着,越来越多的消费者信息将入住商场的管理系统中。因此,开发一套适和大众的、兼容性好的系统是很有必要的。本系统在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家商业机构。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。本论文主要从系统分析、系统设计、系统实施与使用等几个方面进行介绍。关键词:系统分析 系统基本功能 投入使用 目 录摘 要1目 录2前 言4第一章 绪 论51.1问题的提出51.2现有系统存在问题的分析61.3系统开发目标与意义61.3.1系统开发目标61.3.2意义71.4可行性分析71.4.1 经济上可行性71.4.2技术上可行性71.4.3运行上可行性8第二章 认识ASP.NET和SQL Server 2005开发工具92.1 ASP.NET的发展史92.2 ASP.NET的特点92.3 ASP.NET中使用的编程语言及运行环境102.4 使用ADO访问数据库112.5 SQL Server 2005开发工具介绍12第三章 系统分析133.1数据需求分析133.2系统功能分析13第四章 系统设计154.1数据库设计154.1.1数据库概念结构设计154.1.2数据库逻辑结构设计174.2界面设计194.2.1 VIP卡类型管理194.2.2添加会员194.2.3编辑会员信息194.2.4查询会员信息204.2.5商品销售204.2.6商品积分20第五章 系统实现215.1系统文件结构设计215.2公共数据库访问类215.3 实体类模块255.4实体类对数据库的访问265.5实现卡类型管理界面30第六章 系统测试34结 论(总结)36致 谢38参考文献39附 录40前 言ASP.NET是Microsoft公司推出的新一代Web应用程序开发平台,它已经成为网络应用的主流。近年来,随着信息技术在管理上越来越深入而广泛的应用,信息管理系统的实施在技术上已逐步成熟。当前系统采用的是B/S结构,借助网络平台,以ASP.NET+SQL Server2005作为开发工具。以实现商场VIP积分管理系统的高效化和网络化。ASP.NET是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.NET提供许多比现在的Web开发模式强大的的优势。1、执行效率的大幅提高ASP.NET是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。2、简单性和易学性ASP.NET是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。3、高效可管理性ASP.NET使用一种字符基础的,分级的配置系统,使服务器环境和应用程序的设置更加简单。一个ASP.NET的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。4、多处理器环境的可靠性ASP.NET已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.NET应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。ASP.NET语言作为一种面向对象的编程语言,通过系统学习,人们就可以使用它开发出功能齐全,满足特殊要求的应用程序。ASP.NET语言易学易用,对学习者掌握技能,开拓思维都有很大的帮助。我作为一名学生,在系统学习了它之后,经常用它开发一些小程序。本次设计,我就想用学过的ASP.NET语言中的各种技术综合起来,编写一个积分系统,即对自己学过的技能进上步检测,也能系统地将学过的知识复习巩固。第一章 绪 论本毕业论文是以商场管理系统建设中的商场VIP积分管理系统的开发为背景,论述了管理VIP积分系统的概念、结构及系统开发的基本原理和方法,全文共分为绪论、开发工具、系统分析、概要设计、详细设计、总结、致谢、参考文献等。1.1问题的提出随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改观。网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作更高效地进行。数据库始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越来越大的作用。而互联网技术的出现,更是进一步丰富的人类生活,数字化生存已经一步步走进我们的生活与工作。互联网技术与数据库技术的结合为计算的在人类生活中的应用带来了巨大的影响。产业信息化,管理现代化,科学化已经成为行业发展的重要课题,这不仅是企业提高自身竞争力,甚至是国家提高综合国力,走向国民富强的重要手段。在我国,企业是一个影响着国富民强的重要行业,随着改革开放和市场经济的发展根据中国特有的国情发展,企业发展得到了国家的大力扶持与社会各界的高度重视,从而使企业向规范性与现代化的方向高速发展,但是同发达国家相比,我国的从商行业的信息技术的应用程度还很低,只有在大城市中发展较早、规模较大的院校中才使用计算机进行大规模操作,从各方面提高工作效率,取得良好的社会和经济效益,而一些新兴的、规模较小的商业机构还没有全部具备这种功能。因此可见,随着我国企业的迅速发展,信息技术在其上的应用会更加地广泛和深入。 1.2现有系统存在问题的分析在我国,各大中小企业的各类信息管理系统并非一个新的课题,但也有的商家根本就没有信息任何管理系统,所有的工作几乎还是手工操作来完成。计算机技术在日新月异的发展,但是有的很多学校,特别是在西部贫困地区,企业的种类管理都依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极异出错。随着社会的发展,信息化是社会进程的必然趋势,企业管理只有只有快,准,精才能发挥其价值。所以机器代替人力是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改为计算机的自动化系统。人工操作必将被计算机代替。有些企业虽使用了计算机,甚至管理系统,但是仍然存在很多问题,问题一日不解决,效率就一日提不上去。还有,有的系统很不完善到处是漏洞,可以说是千疮百孔,这样极不完善的系统对管理来说是没有任何保障的。1.3系统开发目标与意义1.3.1系统开发目标本系统是将现代化的计算机技术和传统的管理、商务工作相结合,按照企业的工作流程设计完成的。为了使系统在企业的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:1.系统应具有实用性、可靠性和适用性,同时注意到先进性。2.对各个数据库进行动态管理,防止混乱。3.能够按照用户选择的不同的条件进行简单查询和复合查询。4.能够对查询结果进行分类汇总,实现报表打印。5.注意数据的安全性,具有数据备份和恢复的功能。6.方便用户的操作,尽量减少用户的操作。1.3.2意义在各大中小企业,用计算机管理商场的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了商场资料的安全性。提高了商场的管理能力,为此,用计算机来管理商场的信息,是非常必要的。1.4可行性分析 可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。1.4.1 经济上可行性现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率;第四,本系统可以使敏感文档更加安全,等等。所以,本系统在经济上是可行的。1.4.2技术上可行性本系统的开发利用Microsoft SQL Server2005作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。商场网络的建设也为新系统服务器/客户端的结构提供了硬件的支持。使用ASP.NET作为系统开发的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。1.4.3运行上可行性本系统为一个小型的商场VIP积分管理系统,所耗费的资源非常的小,商场的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。第二章 认识ASP.NET和SQL Server 2005开发工具2.1 ASP.NET的发展史ASP.NET是微软公司于2000年推出的一种Internet编程技术,是.NET框架的组成部分。它采用效率较高、面向对象的方法来创建动态Web应用程序。在1996年,ASP1.0诞生,它的诞生给Web开发界带来了福音。它作为IIS的附属品免费发送。并且不久就在Windows平台上广泛使用。早期的Web开发是十分繁琐的,以至于要制作一个简单的动态页面都需要编写大量的代码才能完成,而ASP却允许使用VBScript这样简单的脚本语言,执行嵌在HTML网页中的代码。在进行程序设计时可以使用它的内部组件来实现一些高级的功能。1998年,微软发布了ASP2.0。与ASP1.0的主要区别在于它的外部组件是可以初始化的。这样,在ASP程序内部的所有组件都有了自己的独立内存空间,并可以进行事务处理。2000年,随着Windows2000的发行,它内带的ASP3.0也开始流行,它使用了COM+,并且效率提高,版本稳定。同年7月,ASP.NET发行。它不是ASP的简单升级,而是微软推出的新一代Active Server Pages。ASP.NET是微软发展的新的体系结构.NET的一部分,其中全新的技术架构会让工作人员的编程生活变得更为简单,Web应用程序的开发人员使用这个开发环境可以实现更加模块化、功能更强大的应用程序。ASP.NET具有高效率、开发更简单快速、更简便管理、全新的语言支持以及清晰的程序结构等特点。2.2 ASP.NET的特点ASP.NET具有以下特点:1使用Vbscript、Jscript等简单易懂的脚本语言,结合HTML代码,即可快速地创建网站的应用程序。2只要使用一般的文书编辑程序,如Windows记事本,即可进行编辑。3无须Compile编译,容易编写,可在服务器端直接执行。4通吃各家浏览由于ASP.NET程序是在网络服务器端中执行,执行结果所产生的HTML文件适用于不同的浏览器。5语言相容性高,ASP.NET与所有的ActiveX Script语言都相容,除了可结合HTML,VBScript、Java Script、Active X服务器组件来设计外,并可经由“plug-In(外挂组件模组)的方式,使用其他厂商(Third Party)所提供的语言。6隐密安全性高,如果我们在浏览器中直接查看网页的原始代码,就只能看到HTML文件,原始的ASP.NET程序代码是看不到的!这是因杰ASP.NET程序先于网站服务(eb Server)端执行后,将结果转换成标准HTML文件,再传送到客户端(Client)的浏览器上,因此,我们所辛苦撰写的ASP.NET程序并不会轻易地被看见进而被盗用。2.3 ASP.NET中使用的编程语言及运行环境在最新版本的ASP.NET框架中,微软公司推出了4种语言来实现程序代码的编写。它们分别是Visual Basic.NET,C#.NET,J#.NET和C+.NET语言。随着ASP.NET越来越流行,它支持的语言也将越来越多。运行ASP.NET应用程序,需要配置合适的运行环境,ASP.NET运行环境包括硬件和软件要求,其中硬件要求主要包括CPU、内存、硬盘、显示器和光驱等,软件要求主要包括操作系统、浏览器、Internet信息服务器和.NET Framework等。要浏览ASP.NET文件必须经过服务器解析才能够浏览得到。如果是将asp.NET文件上传到支持asp.NET的服务器,那就能够直接浏览。但是如果是在本机上面,那就必须将自己的电脑设置成为服务器。单机并不需要设置成为局域网,只需要设置成为单机服务器就可以。ASP.NET运行所需的环境如下:1Microsoft Internet Information Server version 3.0/4.0 on Windows NT Server2Microsoft Peer Web Services Version 3.0 on Windows NT Workstation3Microsoft Personal Web Server on Windows 95/98也就是说我们经常所使用的window95/98/2000/XP都可以运行asp.NET,只需要将其设置为单机服务器就行了。归结一点:window95/98,需要安装PWS;window2000/XP,需要安装IIS。才能发挥其asp的作用。可以说,WIN95/98的PWS和WIN2000/XP/2003的IIS就是ASP.NET的运行环境。2.4 使用ADO访问数据库ActiveX Data Objects (ADO) 是一项容易使用并且可扩展的将数据库访问添加到 Web 页的技术。可以使用 ADO 去编写紧凑简明的脚本以便连接到 Open Database Connectivity (ODBC) 兼容的数据库和 OLE DB 兼容的数据源。如果您是一个对数据库连接有一定了解的脚本编写人员,那么您将发现 ADO 命令语句并不复杂而且容易掌握。同样地,如果您是一个经验丰富的数据库编程人员,您将会正确认识 ADO 的先进的与语言无关性和查询处理功能。1创建 ODBC DSN 文件在创建数据库脚本之前,必须提供一条使 ADO 定位、标识和与数据库通讯的途径。数据库驱动程序使用 Data Source Name (DSN) 定位和标识特定的 ODBC 兼容数据库,将信息从 Web 应用程序传递给数据库。典型情况下,DSN 包含数据库配置、用户安全性和定位信息,且可以获取 Windows NT 注册表项中或文本文件的表格。通过在 Windows 的“开始”菜单打开“控制面板”,您可以创建基于 DSN 的文件。双击“ODBC”图标,然后选择“文件 DSN”属性页,单击“添加”,选择数据库驱动程序,然后单击“下一步”。按照后面的指示配置适用于您的数据库软件的 DSN。2配置 Microsoft SQL Server 2005 数据库的文件 DSN在“创建新数据源”对话框中,从列表框选择“Microsoft SQL Server 2005”,然后单击“下一步”。键入您的 DSN 文件名,然后单击“下一步”。单击“完成”创建数据源。在“ODBC Microsoft SQL Server 2005安装程序”对话框中,单击“选择”。选择 Microsoft SQL Server 2005数据库文件 (*.mdb),然后单击“确定”。2.5 SQL Server 2005开发工具介绍SQL Server 2005是一个全面数据库平台,使用集成的商业智能工具提供了企业级的数据管理,SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2005数据引擎是该企业数据管理解决方案的核心。此外SQL Server 2005结合了分析、报表、集成和通知功能。与Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 Microsoft SQL Server 2005 与众不同。无论您是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以为您提供创新的解决方案,帮助您从数据中更多地获益。SQL Server 2005 提供了5个不同版本:SQL Server 2005 Enterprise Edition(32 位和 64 位)企业版SQL Server 2005 Standard Edition(32 位和 64 位)标准版SQL Server 2005 Workgroup Edition(仅适用于 32 位)工作组版SQL Server 2005 Developer Edition(32 位和 64 位)开发版SQL Server 2005 Express Edition(仅适用于 32 位)学习版第三章 系统分析3.1数据需求分析进入了本世纪以来,随着我国经济长期保持高速、稳定的发展,各个大、中型一线城市商场的发展同样进入了繁荣期。由此产生了激烈的市场竞争。为了争夺更多的市场份额,大多数的商场都采取了消费者成为会员,积分优惠消费的消费模式。本设计就是一个处理商场积分卡的管理系统,其中重点介绍的是ASP.NET配置工具在项目中的使用。本系统主要面对二类用户:系统设置管理员和普通用户,即使用本系统的商场售货人员。系统设置管理员主要负责对系统的设置。1. 管理员通过登录界面,输入账号和密码后,进入网站。2. 负责对积分卡类型进行管理,包括添加和修改积分卡类型、修改积分卡积分规定以及获得积分规定的操作。3. 负责对商品积分规定的管理,包括添加和删除商品的积分规定。对于普通用户可对本系统进行如下的操作:(1)首先在本网站进行注册,填写用户名、密码和相关必须的个人信息。(2)在登录页面,输入注册时填写的用户名和密码,通过验证后进入 操作界面。(3)可以进行会员资料的管理,包括查询、添加和修改会员资料。(4)负责对商品进行销售和退货的操作。(5)对在销售和退货的过程中产生的积分增减情况进行处理。包括查 询历史积分和处理积分的操作。3.2系统功能分析本系统采用ASP.NET语言开发,SQL Server2005作为数据库服务器, Visual Studio 2008开发环境进行系统开发。本系统主要是面对两类用户:系统设置管理员和普通用户。管理员通过登录界面,输入账号和密码后,进入网站,负责VIP卡类型和商品积分规定的管理。而普通用户可以通过注册账号进入网站,管理会员资料、负责对商品进行销售、对产生的积分培养进行处理等。下面是系统功能结构图,如图3-1所示。系统功能图3-1 第四章 系统设计4.1数据库设计数据库是本系统的核心,系统中所有的信息都存储在数据库中,在所有ASP.NET页面中通过与数据库连接,操作数据库中的数据,从而实现所有需要的功能。本系统采用SQL Server 2005作为数据库开发工具。数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。一个良好的数据库开发过程一般是先进行系统分析,再逻辑设计,然后物理实现。系统分析中分析数据库用户需求。逻辑设计中根据系统分析设计出关系模型。物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。数据库设计一般包括如下几个步骤。数据库需求分析。数据库概念结构设计。数据库逻辑结构设计。4.1.1数据库概念结构设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及实体之间的关系,为后面的数据库逻辑结构设计打基础。这些实体包含各种具体信息,通过相互之间的作用形成数据流动。本实例根据上面的设计规划出的实体有:VIP卡类别实体、积分历史实体、积分规则实体、会员信息实体、商品信息实体。VIP卡类别实体的E-R 图如图4-1所示。图4-1 VIP卡类别图积分历史记录实体的E-R图如图4-2所示。 图4-2 积分历史记录图积分规则实体的E-R图如图4-3所示。 图4-3 积分规则图会员信息实体的E-R图如图4-4所示。 图4-4 会员信息图商品信息实体的E-R图如图4-5所示。图4-5 商品信息图4.1.2数据库逻辑结构设计数据库概念结构设计完后,现在可以将数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库逻辑结构。VIP积分系统数据库中各个表的设计结果如表4-1至表4-5所示。每个表格表示在数据库中的一个表,VIP卡类别表,用来记录各种VIP卡的类别信息,如表4-1所示。表4-1 Card表的结构Field中文描述TypeNullKeyID类型编号intNULLPRIIntegralRule积分规则intNULLTyepName类型名称Nvarchar(20)NULL积分历史表,用来管理会员积分的历史记录信息,表的结构如表4-2所示。表4-2 History表的结构Field中文描述TypeNullKeyID记录编号intNULLPRINumberVIP卡号Nvarchar(20)NULLFKMode积分类型intNULLIntegralBorder积分数Numeric(18,0)NULLBDate发生日期datetimeNULL积分规则表,用来记录VIP卡积分的规则信息,表的结构如表4-3所示。表4-3 IntegralRule 表的结构Field中文描述TypeNullKeyID规则编号intNULLPRIMerchandiseID商品编号Nvarchar(20)NULLFKIntegrla转换积分数Numeric(18,0)NULL会员信息表,用于记录商场会员的详细信息,表的结构如表4-4所示。表4-4 MemberInfo 表的结构Field中文描述TypeNullKeyID会员编号intNULLPRICardIDVIP卡类型编号intNULLFKCardNumberVIP卡编号Nvarchar(20)NULLPRIName会员姓名Nvarchar(20)NULLIC会员身份证号Nvarchar(20)NULLPhone会员电话Nvarchar(20)Address会员地址Nvarchar(100)BDate加入日期datetimeNULL商品信息表,用于记录商品信息,表的结构如表4-5所示。表4-5 Merchandise 表的结构Field中文描述TypeNullKeyID商品编号Nvarchar(20)NULLPRIName商品名称Nvarchar(50)NULLPrice商品价格FloatNULLMerchandiseIntegrla商品积分intNULL4.2界面设计4.2.1 VIP卡类型管理图4-6 卡类型 CardReset.aspx文件实现了VIP卡类型管理界面的设计。该文件通过使用用户控CardReset.ascx来完成界面的布局。用户控件中使用各种控件一起组成了三种卡类型的操作的界面,分别是:添加卡类型、修改卡类型和获取卡类型 。卡类型操作图如图4-6所示4.2.2添加会员 实现添加会员界面的页面是AddUserMember.aspx文件。该文件中使用了用户控件AddUserMember.ascx进行布局设计。 用户控件中通过图片控件、多个文本框控件以及各种验证控件组成一个添加会员信息的表格 。会员管理图如图4-7。图4-7 会员管理4.2.3编辑会员信息图4-8 编辑会员MemberEdit.aspx 文件设计了编辑会员信息的界面。该文件中使用用户控件EditMemberInfo.ascx布局界面。EditMemberInfo.ascx文件中主要使用了列表控件GridView1和SqlDataSource1数据源控件一起配合完成编辑会员信息的界面。编辑会员图如图4-8所示。4.2.4查询会员信息图4-9 查询会员MemberInfoSelect.aspx文件设计了查询会员信息的界面。该文件中使用用户控件MemberInfoSelect.ascx布局界面,用户控件中主要使用列表控件GridView1和ObjectDataSource1数据源控件一起配合完成查询会员信息的界面 。查询会员操作如图4-9。4.2.5商品销售图4-10 商品销售实现商品销售界面的页面是MerchandiseSale.aspx文件。该文件中使用了用户控件MerchandiseSale.ascx进行布局设计 ,用户控件中主要使用列表控件GridView1和ObjectDataSource1数据源控件一起配合显示商品销售的界面 。4.2.6商品积分图4-11 商品积分实现商品积分界面的页面是IntegralMerchandise.aspx文件。该文件中使用了用户控件IntegralMerchandise.ascx进行布局设计 ,用户控件中使用列表控件GridView1和SqlDataSource1数据源控件一起完成显示商品积分信息的界面 。第五章 系统实现5.1系统文件结构设计新建一个项目,这个项目的名字可能随意命名,在这个项目的下面分别建立以下几个文件夹,由它们来管理相应的模块。 图5-1 项目文件图5.2公共数据库访问类本系统的公共数据库访问类文件为SqlHelper.cs文件。该文件设计了访问数据库的基本属性,如连接数据库、关闭数据库和对数据库的公共操作。SqlHelper.cs类中的关键内容如下:public abstract class SqlHelperpublic static readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStringsDBConfig.ConnectionString;private static Hashtable paramterCache = Hashtable.Synchronized(new Hashtable();public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter Parameters) SqlCommand cmd = new SqlCommand();using (SqlConnection con = new SqlConnection(connectionString) PrepareCommand(cmd, con, null, cmdType, cmdText, Parameters); int val = cmd.ExecuteNonQuery();cmd.Parameters.Clear(); return val; public static int ExecuteNonQuery(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter Parameters) SqlCommand cmd = new SqlCommand();PrepareCommand(cmd, connection, null, cmdType, cmdText, Parameters); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter Parameters) SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, Parameters); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; 代码说明:第1行定义抽象类SqlHelper,用于对数据库的公共访问。第2行定义静态的只读属性ConnectionStringLocalTransaction,获得数据库连接字符串。第3行定义静态的哈希表对象ParamterCache,用于缓存参数。第4行定义静态的方法ExecuteNonQuery,用于执行查询语句,获得数据库中影响的行数。第13行定义ExecuteScalar静态方法,获得查询结果集中第一行第一列的数据对象。public static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params SqlParameter Parameters) SqlCommand cmd = new SqlCommand(); SqlConnection con = new SqlConnection(connectionString);try PrepareCommand(cmd, con, null, cmdType, cmdText, Parameters);SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); cmd.Parameters.Clear(); return dr; catch con.Close(); throw; public static object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText, params SqlParameter Parameters) SqlCommand cmd = new SqlCommand();using (SqlConnection connection = new SqlConnection(connectionString) PrepareCommand(cmd, connection, null, cmdType, cmdText, Parameters); object val = cmd.ExecuteScalar(); cmd.Parameters.Clear(); return val; public static SqlParameter GetParametersFromCache(string Key) SqlParameter cacheParameters = (SqlParameter)paramterCacheKey; if (cacheParameters = null) return null;SqlParameter clonedParms = new SqlParametercacheParameters.Length; for (int i = 0, j = cacheParameters.Length; i j; i+) clonedParmsi = (SqlParameter)(ICloneable)cacheParametersi).Clone();return clonedParms; private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter cmdParms) if (conn.State != ConnectionState.Open) conn.Open(); cmd.Connection = conn; cmd.CommandText = cmdText; if (trans != null) cmd.Transaction = trans; cmd.CommandType = cmdType; if (cmdParms != null) foreach (SqlParameter parmeter in cmdParms) cmd.Parameters.Add(parmeter); 代码说明:第1行定义静态的ExecuteReader方法,用于获取并返回查询到的结果集。第5行调用本类的PrepareCommand方法为各个对象赋值。第6行获得查询结果集。第15行定义了PrepareCommand方法,为执行SQL命令做好准备工作,并进行对象属性的赋值。5.3 实体类模块完成数据库的设计之后,开始进入实体类的创建,根据实际需要,这里将实体类归纳为三类:VIP卡实体类CardInfo、会员实体类MemberInfo和商品信息实体类MerchandiseInfo。这里以会员信息类例进行说明。MemberInfo的代码public class MemberInfo /定义实体类 private string M_CardNumber = ; private int M_CardID = 0; private string M_Name = ; private string M_IC = ; private string M_Phone = ; private string M_Address = ; private DateTime M_CreateDate = System.DateTime.Now;public MemberInfo() /定义无参的构造函数 public MemberInfo(string cNumber,string Name,string IC,string Phone,string Address,DateTime CreateDate,int cTypeId) /定义带参的构造函数 this.M_CardNumber = cNumber; this.M_Name = Name; this.M_IC = IC; this.M_Phone = Phone; this.M_Address = Address; this.M_CreateDate = CreateDate; this.M_CardID = cTypeId; public string CardNumber /声明VIP卡编号 get return M_CardNumber; set M_CardNumber = value; public int CardID /声明VIP卡类型编号 get return M_CardID; set M_CardID = value; public string Name /声明会员名 get return M_Name; set M_Name = value; public string IC /声明会员身份证号 get return M_IC; set M_IC = value; public string Phone /声明会员电话 get return M_Phone; set M_Phone = value; public string Address /声明会员地址 get return M_Address; set M_Address = value; 5.4实体类对数据库的访问数据库访问层建立在数据库之上,为页面显示提供数据服务,应用程序通过该访问层访问数据库。数据访问层一般封装数据库的查询、添加、更新和删除等操作,同时还为业务逻辑层提供访问数据库的接口。对应于每个实体类,都有一个相应的类来完成数据库访问。MemberInfoManager类是为会员实体类建立的数据库访问类,它封装了对会员信息的常用数据库操作。 获得会员信息的代码1private const string INSERT_MEMBERINFO = INSERT INTO memberinfo VALUES(ID, CardNumber, name, IC, phone, address,createdate);/定义添加会员的查询语句private const string UPDATE_MEMBERINFO = update memberinfo set Name=name,Phone=phone,Address=address;/定义修改会员的查询 private const string PARAMETER_CARD_ID = ID; private const string PARAMETER_PHONE = phone; private const string PARAMETER_CARD_NUMBER = CardNumber; private const string PARAMETER_ADD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论