




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录目录2摘要3一 绪论4(1)课题背景4(2)课题意义4二 开发背景5(一)Visual Studio 20085(二)SQL SERVER 20055(三)ASP.NET8(四)ADO.NET8(五)C/S9三 系统设计10(一)系统需求分析10(二)系统结构分析11四 数据库设计13(一)E-R图设计13(二)数据库表格设计15五 关键性的代码18致谢25参考文献26摘要物流管理操作系统是利用ASP.NET 2.0 +SQL Server 2000来开发一个对物流信息的进行发布和管理的操作平台。根据物流信息管理平台的特点,可将其分为前台和后台两个部分设计。前台主要时实现的功能为浏览信息(浏览信息包括货源信息、车源信息、找平信息、企业信息、转下美女信息、仓储信息)、发布信息(个人用户发布信息、企业用户发布信息)、查询功能、注册功能(个人用户注册、企业用户注册)。后台主要实现功能为物流新闻管理(发布新闻、管理新闻)、信息管理(车源信息管理、货源信息管理、专线信息管理、招聘信息管理、仓储信息管理)、用户管理(个人用户管理、企业用户管理)。关键词:ASP;.NET;物流管理系统 一 绪论(1)课题背景随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济水平的显著提高,企业的发展也越来越快。与此同时,为了管理大量的物品,企业仓库也大量的涌起,仓库的管理问题也就提上了日程。随着仓库物品的大量增加,其管理难度也越来越大,如何优化仓库的日常管理也就成为了一个大众化的课题。在计算机飞速发展的今天,将计算机这一信息处理利器应用于仓库的日常管理已是势必所然,而且这也将为物流管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业的飞速发展提供无限潜力。采用计算机管理信息系统已成为物流管理科学化和现代化的重要标志,它给企业管理带来了明显的经济效益和社会效益。主要体现在:极大提高了仓库工作人员的工作效率,大大减少了以往入出存流程繁琐,杂乱,周期长的弊端。基于物流管理的全面自动化,可以减少入库管理、出库管理及库存管理中的漏洞,可以节约不少管理开支,增加企业收入。仓库的管理的操作自动化和信息的电子化,全面提高了仓库的管理水平。随着我国改革开放的不断深入,经济飞速的发展,企业要想生存、发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,物流管理的全面自动化、信息化则是其中极其重要的部分。为了加快物流管理自动化的步伐,提高仓库的管理业务处理效率,建立物流管理系统已变得十分心要。入库、库存、出库还是现在企业物流管理的常规基本模式,虽然,最近又出现了很多新的管理模式,如:基于零库存思想的沃尔玛特管理方式,但这些新的思想在中国大部分企业的管理中还是难以实现的。所以如何设计好物流管理系统,尽可能地减少物流管理的重复性和低效性就成为当前最为重要的问题。(2)课题意义本系统可以使物流管理的方便,使得管理工作规范化、系统化、程序化,提高信息处理的速度和准确性,对于减轻工作人员的劳动量、提高劳动热情和服务质量,具有重要的现实意义。二 开发背景 本系统是在Visual Studio 2008的环境下,利用了SQL Server 2005 、Photo Shop、Windows XP professional等软件,基于C/S的模式应用开发的。(一)Visual Studio 2008Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代开发工具,代号“Orcas”,是对Visual Studio 2005一次及时、全面的升级。VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用Visual Studio 2008可以高效开发Windows应用。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。Visual Studio 2008可以高效开发Web应用,集成了AJAX 1.0,包含AJAX项目模板,它还可以高效开发Office应用和Mobile应用。(二)SQL SERVER 2005SQL SERVER 2005 基于SQL SERVER 2000 的强大功能之上,提供了一个完整的数据管理和分析解决方案,并提供了许多全新的特性来满足用户的需求。1 企业级数据管理在当今的互联网世界中,数据和管理数据的系统必须满足用(1)易管理SQL SERVER 2005 能够更为简单地部署、管理和优化企业数据和分析户使用要求,且能够确保安全。SQL SERVER 2005 包括了很多新的和改进的功能来帮助企业的IT团队更有效率地工作,包括如下几个在企业级数据管理中增强的功能。应用程序。SQL SERVER 2005 提供了一个惟一的管理控制平台,使得数据管理人员能够在组织内的任何地方监视、管理和调整企业中所有的数据库和相关的服务。 SQL SERVER 2005通过提供一个集成的管理控制平台来管理和监视SQL SERVER 关系型数据库、集成服务、分析服务、报表服务、通知服务以及分布式服务和数据库上的SQL Mobile,从而大大简化了管理的复杂度。数据库管理员可以同时执行如下任务:编写和执行查询,查看服务器对象,管理对象,监视系统活动,查看在线帮助。 (2)可用性 在高可用技术、额外的备份和恢复功能,以及增强复制功能上的投资使企业能够构建和部署可用的应用系统。SQL SERVER 2005在高可用上的创新有:数据镜像,故障转移集群,数据库快照和增强的联机操作,这有助于最小化宕机时间和确保企业的关键系统可用。(3)可收缩性提供了诸如表分区、快照隔离、64位支持等方面的高级可伸缩性功能,使用户能够使用SQL SERVER 2005构建和部署最关键的应用。表和索引的分区功能显著地增强了对大型数据库的查询性能。表和索引分区把数据库分成更小、更易管理的块、从而简化了大型数据库的管理。(4)安全性 SQL SERVER 2005在数据库平台的安全模式上有了显著地增强,由于提供了更为精确和灵活的控制,数据安全更为严格。为了给企业数据提供更高级别的安全,微软做了相当多的投资,实现了很多特性:u 在认证空间里强制SQL Server Login 密码策略u 在认证空间里可根据不同范围上指定的权限来提供更细的粒度。u 在安全管理中允许分离所有者和模式2 开发者的能力 SQL Server 2005 包含了多个能显著提高开发者能力的新技术。从支持.NET Framework到与Visual Studio 的紧密集成,这些新特性使开发人员能够以更低的成本,更容易地创建安全、强大的数据库应用程序。SQL Server 2005提供了一个端到端的数据库开发环境,使开发人员能够更有效地利用其已有的开发技能。本机XML功能也使开发人员能够创建运行在不同平台或设备上的应用程序。开发人员能力的增强包括:(1)扩展的语言支持 因为通用语言运行时被集成在数据库引擎中,所以开发人员现在可以利用多种他们熟悉的语言来开发数据库应用程序,包括:Transact-SQL 、Microsoft Visual Basic .NET 和Microsoft Visual C# .NET等。(2)改进的开发工具 开发人员能够用开发工具Transact-SQL、XML 、Multidimensional Expressions(MDX) 和XML for Analysis (XML/A)应用。与Visual Studio开发环境的集成也为关键业务应用和商业智能应用提供了更有效的开发和调试环境。(3)可扩展性 SQL Server 2005 中的用户自定义类型并非对象的关系型扩展机制,它们是系统扩展数据标量类型的一种方法。(4)改进的数据访问,与Web服务共存 在SQL Server 2005 中,可以开发数据库层的XML Web 服务,把SQL Server作为一个HTTP listener。这对那些以Web 服务为中心的应用程序提供了新型的数据访问功能。3 查询通知SQL Server 2005引进了对SQL Server 查询的通知支持,可以使用这一切功能来发送一个命令到SQL Server ,并且要求当其后运行的同样命令产生不同的结果时,SQL Server 生成一个通知。这一功能是通过从属对象检测到基础数据的改变来实现。4 多活动结果集多活动结果集(MARS)允许每个连接有超过一个的挂起请求,特别是允许每个连接有超过一个的,打开的默认结果集。5 依据镜像的透明故障转移 SQL Server 2005 可通过数据库镜像来支持热备份功能。如果一个SQL Server 实例失效,工作可以被自动地转移到备份服务器上。6 商务智能 SQL Server 2005 通过在可伸缩性、数据集成、开发工具和强大数据分析等方面的革新更好地确立了微软在BI(商务智能)领域的领导地位。SQL Server 2005 能够把关键的信息及时传递到组织内员工的手中,从而实现了可伸缩的商务智能。 SQL Server 2005 商务智能增强体现在一下几个方面: 端到端的集成商务通知平台。u 集成服务。u 分析服务。u 报表服务。u 与Microsoft Office System 的集成。(三)ASP.NET 2002年Microsoft公司发布了.NET Framework 1.0 ,其中的ASP版本为ASP.NET 1.0;2003年又发布了.NET Framework 1.1 ,其中的ASP版本为ASP.NET 1.1,开发平台为Visual Studio 2003;2005年推出了.NET Framework 2.0版本,其中的ASP版本为ASP.NET 2.0,开发的平台为Visual Studio 2005;2008年推出了最新的.NET Framework 3.5版,其中的ASP版本为ASP.NET 3.5,开发的平台为Visual Studio 2008。ASP.NET目前主要支持的语言有C#和Visual Basic 。C#语言是Microsoft公司专门为.NET量身定做的编程语言,它与.NET有着密不可分的联系。与早期的ASP相比,ASP.NET有本质的变化,不能将ASP.NET看成是ASP的简单升级,ASP.NET的主要优点有以下几个方面:可以使用.NET提供的所有类库,全面支持面向对象的程序设计,能够实现以往ASP所不能实现的许多功能。u 引入了服务器端控件的概念,这样使开发交互式网站更加方便。u 引入了ADO.NET数据访问接口,大大提高了数据库访问效率。u 使用Visual Studio 开发平台,可以在可视化环境中创建ASP.NET应用程序,进一步提高了编程效率。u 由于ASP.NET应用程序的核心部分,在发布到IIS网站时已被编译成.dll文件,所以执行速度更快。但ASP.NET目前只能运行在Windows操作系统的IIS环境下,可移植性较差。(四)ADO.NET ADO.NET 是美国微软公司推出的,由ADO(Microsoft ActiveX Data Objects)演变而来的数据访问技术。作为.NET框架的一部分,ADO.NET绝不仅仅是前一版本的简单升级。ADO.NET提供了一组功能强大的.NET类,这些类不仅有助于实现对各种数据源进行高校访问,使用户能够对数据进行复杂的操作,而且形成一个重要的框架,在这个框架中可以实现应用程序之间的通信和XML Web服务。ADO.NET是对ADO的一个跨时代的改进,它们之间有很大的差别。最主要表现在ADO.NET可通过DateSet对象在“断开连接模式”下访问数据库,即用户访问数据库中的数据时,首先要建立与数据库的连接,从数据库中下载需要的数据到本地缓冲区,之后断开与数据库的连接。此时用户对数据库的操作(查询、添加、修改、删除)都是在本地进行的,只有需要更新数据库中的数据时,才再次与数据库连接,在发送修改后的数据到数据库后关闭连接。这样大大减少了因连接过多(访问量较大时)对数据库服务器资源的大量占用。 ADO.NET也支持在连接的模式下的数据访问方法,该方法主要通过DataReader对象实现。该对象表示一个向前的、只读的数据集合,其访问速度非常快,效率极高,但功能有限。此外,由于ADO.NET传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以使用ADO.NETj进行数据处理。事实上,接收数据的组件不一定是ADO.NET组件,它可以是一个基于Microsoft Visual Stidio的解决方案,也可以是任何运行在其他平台上的任何应用程序。(五)C/S 目前在应用程序开发领域,主要有两大变成体系:一是基于操作系统平台的客户机/服务器(Client/Server,C/S)架构,另一种是基于WWW服务的B/S架构。 在2000年以前C/S架构占据着开发领域的主流地位。通常程序员将开发完成的软件安装在计算机(客户机)中,将数据库安装在专用的服务器(数据服务器)中,用户通过安装在客户机中的软件和网络进行各种数据库操作。这种架构要求客户机中必须安装客户端程序,否则无法工作。再有,在C/S架构中主要的数据分析处理工作需要在客户机中完成,这就要求客户机有较高的硬件配置,以保证能高速除了你由服务器端发送过来的大量原始数据。常用的聊天工具如QQ、MSN,以及一些网络游戏都属于C/S架构的应用程序。 三 系统设计(一)系统需求分析在经过前一阶段的分析之后,我确定了我的开发课题为仓库物流管理系统。现在所要做的是要准确定义系统必须做什么以及系统必须具备的功能。软件需求分析中我采用结构化分析方法(StructuredAnalysis,简称SA),SA是面向数据流进行需求分析的方法,像所有的软件分析方法(如面向对象分析方法、IDEF方法等等)一样,SA也是一种建模活动,它使用简单易读的符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘满足功能要求的软件模型。在系统中我采用数据流图(DFD)这种半形式化的描述方式表达需求。它是一种功能模型,以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能。它有四种基本图形符号:箭头,表示数据流;:圆或椭圆,表示加工;:双杠,表示数据存储;:方框,表示数据的源点或终点。为了表达较为复杂问题的数据处理过程,用一张数据流图是不够的,要按照问题的层次结构进行逐步分解,并以一套分层的数据流图反映这种结构关系。在这里我一共使用了三层数据流图,即顶层图,0层图和1层图(也是底层图)。在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统,它的输入流是该系统的输入数据了,输出流是该系统的输出数据;底层流图是指其加工不需要再做分解的数据流图,中间层流图表示对其上层父图的细化,它的每一步加工可能继续细化成子图。经过对系统的分析首先得到系统的顶层DFD,如图3-1:物流管理员工作人员工作人员物品入库、物品出库、物品报损、物品查询、物品汇总、物品报表等操作仓库物流管理系统物流管理员物品查询、物品汇总、物品报表等信息 图3-1物流管理系统顶层图进一步细化得到系统的0层DFD,如图3-2:工作人员管理物流管理员工作人员工作人员物品登记与物流处理管理物流情况查询物流情况汇总物品类别管理数据维护管理物流管理员人员信息表物品类别信息表物品登记信息表物品流通信息表图3-2物流管理系统的0层图再进一步细化每一个数据加工功能,得到系统的1层DFD图(略)。在这里只给出有关顶层和0层数据流图,它们体现出了系统的功能部分,而1层DFD图暂略,后面具体说明其内容。通过以上对数据流图的分析之后,我们已大体地了解了系统的功能和目标,接下来所要做的就是系统功能模块的划分和数据库的设计,也就是系统的概要设计。(二)系统结构分析系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。在系统的概要设计中我采用结构化设计(StructureDesign,简称SD),SD以需求分析阶段产生的数据流图DFD为基础,按一定的步骤映射成软件结构。我首先将整个系统化分为几个小问题,小模块,在系统中,我设计了工作人员管理,物品类别管理,数据维护管理,物品登记与物流处理管理,物流情况查询和物流情况汇总6个模块。然后,进一步细分模块,添加细节。比如,工作人员管理我又将其分为工作人员注册、工作人员注销、授权、密码修改、增加照片等;物品登记与物流处理管理分为物品登记、进库、出库、报损等。以下就是系统功能模块图,如图3-3: 图3-3 系统功能模块图四 数据库设计(一) E-R图设计在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(E-R模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。E-R模型直接从现实世界抽象出实体类型及实体间联系,然后用E-R图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但E-R模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。ER图是直观表示概念模型的工具,它有四个基本成分:矩形框,表示实体类型(考虑问题的对象)。菱形框,表示联系类型(实体间的联系)。椭圆形框,表示实体类型和联系类型的属性。对于关键码的属性,在属性名下划一横线。直线,联系类型与其涉及的实体类型之间以直线连接。本系统为仓库物流管理,主要管理物品的登记、流通以及种类和工作人员等事项。仓库根据需要可以查询物品的信息,同时还需要了解在库存流通中员工的参与情况。依据物流管理的实际情况,考虑了多方面的因素以后,确定系统的E-R图如下:停用说明密码工作人员职员ID姓名照片联系电话操作权限日期图4-1工作人员表E-R图物品登记照片说明单价类别ID名称物品ID图4-2物品登记表E-R图物品流通物流ID物品ID物流类型经手人日期说明数量图4-3物品流通表E-R图物品种类类别ID说明图4-4物品种类表E-R图图4-5 数据库表关系图在该数据库中,本系统中的物品流通是核心,也是基本,没有了物品流通其它的也就没有什么意义了。经手人的添加是考虑到责任问题,也就是说,在物流管理的实际运用中,出现了责任不清的现象,特别是由于仓库的进出物品数量都比较大时产生了一系列问题,所以在设计数据库时,我特别考虑到这一点,在物品流通表中加入了经手人。(二)数据库表格设计在完成系统的E-R图之后,需要将E-R模型转化为关系模型,也就是说,要设计出数据库所需要的表格。在这里,我选用的是关系数据库。因为关系数据库中的二维表格可以很清楚地描述数据之间的联系。根据系统E-R图,针对本系统的特点,在对所搜集的数据进行规范化之后,定义了如下四张表格,分别是工作人员信息表,物品流通信息表,物品登记信息表和物品种类信息表。通过对这四张表格的操作可以较好地完成系统设计的各项功能,四张表格之间有着不同程度的联系。工作人员信息表(图4-6):图4-6 工作人员信息表图工作人员信息表主要用于记录物流管理人员的详细信息,包括职员ID、姓名、密码、操作权限、停用、联系电话、说明、照片和日期类型等有关工作人员的各类信息。在该表中职员ID是主键,它是工作人员的值是登记时自行填写的,它会和经手人相对应的,体现出物品是经谁的手出入库的。姓名和密码的值也是登记时自行填写的,但必须要记住。它们是在用户登陆时用来确定用户和密码的正确性,以防止非法用户登陆。操作权限则是工作人员在操作系统的时所授权的范围,分为物品登记、物流处理、物流查询和物流汇总。停用则是指该注册工作人员是否可以操作本系统。联系电话、说明和照片则是介绍个人情况的。日期则是系统当时默认时间的,是不可以修改的。物品流通信息表(图4-7):图4-7物品流通信息表图物品流通信息表主要用于记录各物品经仓库和物流管理人员的详细信息,包括物流ID、物品ID、物流类型、数量、经手人、日期、说明和记录特征类型等各类信息。该信息表是数据库的主表,是不可缺少的。在该表中物流ID是主键,它是记录每一次物品流动时的唯一编号,不会有重复,而且是计算机自动编号。物品ID则是记录每一件物品本身的编号,它跟物流ID是有区别的。数量则是每次流通数量的多少。而经手人前面已经说过,这里就不在叙述了。日期则是记录当时物流的时间,是当时的默认时间,是系统给定的。说明是指记录物品当时的情况或物品的特征的。记录特征就很好理解了,就是该操作是否被记录。物流类型则是记录物品流通的一种形式,包括:进库 Or 出库 Or 报损。值得提出的一点是入库记录和出库记录的添加不仅仅是单表操作,由于它们都与库存记录相联系,所以,无论您是添中入库记录还是添加出库记录,都必须同时修改库存记录,以保持数据的一致性,否则将引发系统出错而这些我都让其在系统中自动完成。无论您是添加入库记录,还是添加出库记录,系统都将自动修改库存中物品的数量,而且,在您出库的数量大于库存数量时,系统还会自动提示错误,这样就可以防止一定错误的发生。物品登记信息表(图4-8):图4-8物品登记信息表图物品登记信息表主要用于记录仓库中各各物品的详细信息,包括物品ID、名称、类别ID、单价、说明和照片类型等有关物品的各类信息。在该表中物品ID作为主键,它是管理员每增加一件物品时,物品ID就会自动为其编上一个号码。类别ID则是说明该物品属于某一物品种类的。而名称、单价、说明和照片是介绍物品本身的信息。物品种类信息表(图4-9):图4-9物品种类信息表图物品种类信息表主要用于记录仓库中物品种类的信息,包括类别ID和说明两个类型的信息。类别ID是指创建一类物品的种类的称呼。而说明则是对类别ID进行描述。通过以上设计已经完成了系统的概要设计,当我们有了系统的功能模块图和数据库之后,就需要着手去实现每一个模块,为每一个功能设计程序流程图,这也就是系统的详细设计。五 关键性的代码 这个类主要完成对数据表读取增删查改等操作。 class SQLhelper static string connstr = System.Configuration.ConfigurationSettings.AppSettingsconnstr; / / 制定查询sql语句或者存储过程,返回一个dataTable表 / / sql语句 / 制定sql语句还是存储过程 / 制定完成sql语句需要传入的参数 / 返回一个dataTable表 这个函数主要用于获取数据库中的数据 public static DataTable GetTable(string Sql, CommandType type, params SqlParameter pms) try SqlConnection conn = new SqlConnection(); conn.ConnectionString = connstr; SqlCommand cmd = new SqlCommand(); cmd.CommandText = Sql; cmd.Connection = conn; /类型是否为存储过程 if (type = CommandType.StoredProcedure) cmd.CommandType = CommandType.StoredProcedure; /如果有参数那么将参数传到cmd执行对象上面去 if (pms != null) foreach (SqlParameter pm in pms) if (pm != null) cmd.Parameters.Add(pm); /采集数据 SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = cmd; DataTable dt = new DataTable(); /将数据填充到表上 adapter.Fill(dt); /返回一张表 return dt; catch (SqlException ex) throw ex; / / 传入有参数的sql语句,得到一个表 / / sql语句 / 参数 / public static DataTable GetTable(string sql, params SqlParameter pms) return GetTable(sql, CommandType.Text, pms); / / 执行sql语句,得到一个表 / / 定义的sql语句 / public static DataTable GetTable(string sql) return GetTable(sql, CommandType.Text, null); / / 执行sql语句或存储过程返回的影响行数 / / 执行的sql语句 / 执行的存储过程 / 传入的参数 / 这个函数主要用于数据的增删查改操作 public static int Executeno(string sql, CommandType type, params SqlParameter pms) try SqlConnection conn = new SqlConnection(); conn.ConnectionString = connstr; conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); if (type = CommandType.StoredProcedure) cmd.CommandType = CommandType.StoredProcedure; if (pms != null) foreach (SqlParameter pm in pms) if (pm != null) cmd.Parameters.Add(pm); int i = (int)cmd.ExecuteNonQuery(); conn.Close(); return i; catch (SqlException ex) throw ex; / / 执行sql语句,返回得到一个Read对象 / / / / / public static SqlDataReader Reader(string sql, CommandType type, params SqlParameter pms) try SqlConnection conn = new SqlConnection(); conn.ConnectionString = connstr; conn.Open(); SqlCommand cmd = new SqlCommand(sql, conn); if (type = CommandType.StoredProcedure) cmd.CommandType = CommandType.StoredProcedure; if (pms != null) foreach (SqlParameter pm in pms) if (pm != null) cmd.Parameters.Add(pm); /读取完毕之后告诉datareader对象连接关闭 SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); return sdr; catch (SqlException ex) throw ex; / / 事务的操作 / / 要执行的sql语句 / public static bool GetTran(List sqls,params SqlParameter pms) try SqlConnection conn = new SqlConnection(); conn.ConnectionString = connstr; conn.Open(); SqlCommand cmd = new SqlCommand(); if (pms != null) foreach (SqlParameter pm in pms) if (pm != null) cmd.Parameters.Add(pm); SqlTransaction tran = conn.BeginTransaction();/开始食务 cmd.Transaction = tran;/将事务给执行对像,让它去执行 cmd.Connection = conn; /开始执行 try foreach (string sql in sqls) cmd.CommandText = sql; cmd.ExecuteNonQuery(); tran.Commit(); return true; catch tran.Rollback(); return false; finally conn.Close(); catch (SqlException ex) throw ex; 删除记录CREATE Procedure ShoppingCartRemoveItem( CartID nvarchar(50), ProductID int)ASDELETE FROM ShoppingCartWHERE CartID=CartID ANDproductId=productId更新购物车得记录,循环语句Void UpdateShoppingCartDatabase() BLL.ShoppingCart cart=new BLL.ShoppingCart();/获得用户的cartIDString carID=cart.GetShoppingCartid();/遍历DataGrid的每一行for(int i=0;iMyLIst.Items.Count;i+)Textbox quantit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工程项目的整体策划与实施试题及答案
- 公文格式与结构分析试题及答案
- 施工用电安全规范知识试题及答案
- 2025年湖南省房地产中介服务合同
- 工程创新设计试题及答案
- 2025药店销售合同模板
- 2025年标准租赁合同模板
- 市政学应试技巧分析试题及答案
- 行政管理心理学综合试题及答案
- 2025年管理学的评价标准试题及答案
- 安徽省1号卷A10联盟2025届高三5月最后一卷化学试题及答案
- 2022《农产品质量安全法》全文解读与学习
- 工程总承包的试题及答案
- 《电磁感应原理解析》课件
- 成都输液剂项目可行性研究报告参考范文
- 2025年二级注册建筑师资格考试《建筑结构、建筑物理与设备》真题卷(附答案)
- 锂电池基础知识培训课件
- 【部编版】六年级语文下册《语文园地五》精美课件
- 登革热防控知识培训
- 2025年新能源汽车实训基地建设方案范文
- 糖尿病患者血脂管理中国专家共识(2024版)解读
评论
0/150
提交评论