订单提交设计
鲜花销售系统详细设计

软件综合课程设计<网上花店销售系统>详细设计报告姓名学号:班级:1.1-1.4:邓杰080606102 080606班2.0-3.2:井淼淼080606126 080606班3.2-3.7:李建080606110 080606班3.8-3.12:吴旖铮080606129 080606班4.0-4.2:孙锐080606116 080606班详细设计报告 01 引言 (2)1.1 编写目的 (2)1.2 背景 (2)1.3 定义 (2)1.4 参考资料 (3)2 程序系统的结构 (3)3 程序(标识符)设计说明 (4)3.1 程序描述 (4)3.2 功能 (5)3.2.1系统功能介绍 (5)3.2.2业务流程图 (9)3.2.3数据流程图 (10)3.3数据库设计与实现 (10)3.3.1E-R图设计 (10)3.3.2数据库关系模型设计 (13)3.3.3数据库逻辑结构设计 (13)3.8 流程逻辑 (14)3.9 存储分配 (15)3.11 限制条件 (16)3.12 测试计划 (16)4 项目测试 (17)4.1 测试项目说明 (17)4.2测试过程 (17)1 引言1.1 编写目的(1)本说明的编写目的在于研究网上花店鲜花销售方面的具体需求,指出实现网络销售鲜花的方法与途径。
考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述。
(2)本说明书的用途为为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。
表达工具可以由开发单位或设计人员自由选择,但它必须具有描述过程细节的能力,进而可在编码阶段能够直接将它翻译为用程序设计语言书写的源程序。
(3)本系统的预期受众是利用网络平台购买鲜花的人群,通过本系统,他们可以选择自己喜欢的花束,并及时的定购。
1.2 背景(1)本项目的名称为明年今日网上花店系统。
(2)本项目的提出者是花店店主或者花店经销商,通过使用本系统,能够达到宣传鲜花产品的目的,有效提高花店的知名度和在网上的点击率。
c产品订单课程设计

c产品订单课程设计一、课程目标知识目标:1. 学生能够理解并掌握C产品订单的基本概念,包括订单的结构、关键要素及订单处理流程。
2. 学生能够运用所学知识,正确识别和填写C产品订单中的各项信息,如产品编码、数量、规格等。
3. 学生能够了解C产品订单在商业交易中的作用,及其对企业运营的影响。
技能目标:1. 学生能够独立完成C产品订单的填写与核对,提高实际操作能力。
2. 学生能够通过小组合作,模拟C产品订单处理过程,提升沟通与协作能力。
3. 学生能够运用信息技术工具,对C产品订单进行数据整理和分析,培养数据处理能力。
情感态度价值观目标:1. 学生能够认识到C产品订单在实际生活中的重要性,激发学习兴趣,树立正确的职业观念。
2. 学生能够在学习过程中,养成认真负责、细致严谨的工作态度,增强责任感和团队意识。
3. 学生能够通过课程学习,体会诚信为本的原则,培养诚实守信、公平竞争的价值观。
课程性质:本课程为实践性较强的学科课程,结合学生年级特点,注重理论知识与实践操作的结合,培养学生的实际应用能力。
学生特点:学生具备一定的计算机操作和信息处理能力,对商业交易有初步了解,但实际操作经验不足。
教学要求:教师应结合课程特点,采用任务驱动、案例教学等方法,引导学生主动参与课堂,提高学生的实践能力和综合素质。
同时,注重评估学生的学习成果,确保课程目标的实现。
二、教学内容1. C产品订单概述- 订单的定义与作用- 订单的结构与关键要素2. C产品订单处理流程- 订单的创建与提交- 订单的审核与确认- 订单的执行与跟踪3. C产品订单填写与核对- 订单信息的识别与填写- 订单核对的方法与技巧4. C产品订单数据分析- 数据整理与分析方法- 数据可视化与报告撰写5. 小组合作与沟通协作- 小组分工与协作流程- 沟通技巧与团队建设教学内容安排与进度:第一课时:C产品订单概述,了解订单的定义、作用、结构与关键要素。
第二课时:C产品订单处理流程,学习订单的创建、审核、执行与跟踪。
订单状态测试用例

订单状态测试用例概述订单状态是指在购物过程中,订单所处的不同阶段或状态。
对于一个电商平台来说,订单状态的正确性和可靠性非常重要,它直接关系到用户购物体验的好坏和交易流程的顺畅与否。
因此,为了确保订单状态的准确性和稳定性,需要进行订单状态测试。
本文将从订单状态的定义、测试目标、测试策略、测试用例设计、执行与管理等方面进行详细介绍,以帮助测试人员全面了解和掌握订单状态测试。
定义订单状态是指在电商平台上用户购买商品后,从下单到交付之间经历的一系列阶段或状态。
常见的订单状态包括待支付、待发货、已发货、已签收等。
测试目标1.验证订单状态在不同操作下是否正确变更。
2.验证订单状态变更是否及时。
3.验证订单各个环节之间是否协调一致。
4.验证系统能够正确处理异常情况下的订单状态变更。
测试策略1.根据业务流程确定主要测试点:根据电商平台的业务流程,确定主要涉及到订单状态变更的环节和操作,并将其作为主要测试点。
2.划分测试阶段:将订单状态测试分为下单前、下单后、交付前和交付后四个阶段进行测试,以确保订单状态在不同阶段的正确性。
3.设计典型用例:根据主要测试点和业务流程,设计一系列典型的测试用例,覆盖各种常见和异常情况。
4.结合其他功能测试:订单状态变更通常涉及到其他功能模块(如支付、库存管理等),需结合其他功能测试进行综合验证。
测试用例设计下单前1.未登录用户无法下单:–输入商品信息,点击购买按钮。
–预期结果:系统提示“请先登录”。
2.已登录用户可以正常下单:–登录账号,输入商品信息,点击购买按钮。
–预期结果:订单状态变为“待支付”。
下单后1.支付成功后订单状态变更:–下单并支付成功。
–预期结果:订单状态变为“待发货”。
2.取消订单后订单状态变更:–下单后取消订单。
–预期结果:订单状态变为“已取消”。
交付前1.发货成功后订单状态变更:–确保有待发货的订单。
–点击发货按钮。
–预期结果:订单状态变为“已发货”。
2.退款成功后订单状态变更:–确保有已发货的订单。
网上购物系统详细精炼版(UML-类图-时序图-数据流图)

网上购物系统作为B2B,B2C(Business to Customer,即企业对消费者),C2C(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文主要考虑的是如何建设B2C的网上购物系统。
1.3
本说明书的主要目的是明确所要开发的软件应具有的功能、性能,使系统分析人员和软件设计人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计和完成后续设计与开发工作,为软件开发范围、业务处理规范提供依据,也是应用软件进行合同最终验收的依据。
本文档的读者对象:项目经理、系统分析师、项目开发人员、客户代表。
(3)商品查询:商品速查,根据查询条件,快速查询用户所需商品;商品分类浏览,按照商品的类别列出商品目录;
(4)订单管理:订单信息浏览订单结算订单维护
(5)购物车管理
购物车中商品的增删;
采购数量的改变
生成采购订单
(6)后台管理
商品分类管理
商品基本信息管理
订单处理
会员信息管理
图1系统顶级用例图
3.2
用例图及相关的用例描述如图
1.4
网上购物系统作为B2B,B2C(Business to Customer,即企业对消费者),C2C(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文主要考虑的是如何建设B2C的网上购物系统。
2
2.1
订单状态流转设计

订单状态流转设计
随着电商行业的快速发展,订单状态的流转设计成为了一个重要的话题。
订单状态流转设计的目的是为了让顾客和商家更清楚地了解订单的状态,提高顾客的满意度和商家的服务质量。
订单状态的流转应该包括以下几个方面:
1. 订单的初始状态:这一状态表示顾客下单后,商家还未开始处理订单的状态。
这个状态应该包括订单编号、订单时间、订单金额等基本信息,以方便商家后续处理。
2. 订单处理中状态:这一状态表示商家已经开始处理订单的状态。
商家可以通过这个状态来通知顾客订单已经开始处理,以及可能的延迟或问题等。
3. 订单已发货状态:这一状态表示商家已经将订单发货的状态。
商家需要及时更新订单的状态并提供运单号等信息,方便顾客跟踪订单的配送情况。
4. 订单已完成状态:这一状态表示订单已经完成的状态。
商家需要及时更新订单状态,并向顾客发送评价和反馈等信息。
5. 订单退货/退款状态:这一状态表示顾客要求退货或退款的状态。
商家需要及时处理订单的退货/退款申请,并向顾客提供准确的退款/退货流程和时间等信息。
在订单状态流转设计中,商家需要考虑顾客的需求和体验,以及自己的服务质量和效率。
一个良好的订单状态流转设计可以提高顾客的满意度,增强商家的信誉度,同时也可以提高订单处理的效率和准
确性。
电商产品设计:拆单规则和业务场景详解

电商产品设计:拆单规则和业务场景详解订单的拆分指的是一次下单的商品被分成多个订单进行管理,或者一个订单号下的商品被拆分成多个配送单进行发货;订单的合并指的是把多个订单进行一起配送,一起发货。
那么拆分和合并是根据什么原则和场景进行的呢?让我们先简单了解一下什么是订单的拆分和合并。
一、什么是订单拆分和合并订单拆分:是指将一个订单分成两个子订单,分为以下两种情况。
1)按商家•不同商家的拆单•同一商家的拆单2)按单据•订单拆分成多个子订单•订单的发货单拆分成多个发货单订单合并:指的是发货单的合并。
二、为什么要进行拆分和合并•拆分订单:主要目的就是为了方便发货和结算方便•合并订单:主要目的就是节省平台的发货成本那我们具体是在哪些场景下需要进行拆单呢?下面笔者将具体介绍5种订单拆分场景。
三、订单拆分场景1. 按交易主体拆分(多商家)⽬前有很多电商平台供商家⽬驻,⽬户下单时普遍存在跨店铺结算的情况,所以要将订单内的信息进⽬拆分。
同时将商品信息与优惠信息分摊到各⽬店铺的订单上,由此形成了⽬层的拆分。
1)作为新零售平台,我们可将商家视为⽬店,那⽬店也就是前置仓,所以从这个⻆度上看,也可以理解为仓库的拆分,若线上⽬店与线下⽬店是⽬对⽬的关系,可以不考虑该层次的拆分。
2)在连锁模式下,根据用户收货地址匹配就近门店,所以门店自然不会涉及到拆单,若该门店无库存的情况下,商品为售罄状态。
2. 按仓库拆分(多仓库)•电商平台商家存在多仓库•⽬营平台不同商品存放在不同⽬建仓库下单时订单内的商品存放于不同仓库,需要对不同仓库进⽬拆分,将拆分完的⽬订单匹配⽬各⽬的仓库当中,最终根据商品的货物数量进⽬出库备货。
3. 按订单类型拆分订单的类型由商品类型进⽬归属分配,包括普通商品、跨境商品、分销商品等,下单之后根据商品类型拆分成不同的⽬订单类型。
4. 按商品类目拆分不同的商品有不同的类⽬,由于部分商品类⽬的特殊性,我们将根据商品的类⽬进⽬分单处理。
订单管理系统课程设计
新乡市人民政府办公室关于印发新乡市开展非法改装超限运输车辆专项治理行动方案的通知文章属性•【制定机关】新乡市人民政府•【公布日期】2006.05.31•【字号】新政办[2006]86号•【施行日期】2006.05.31•【效力等级】地方规范性文件•【时效性】失效•【主题分类】交通运输综合规定正文新乡市人民政府办公室关于印发新乡市开展非法改装超限运输车辆专项治理行动方案的通知(新政办[2006]86号)各县(市)、区人民政府,市人民政府有关部门:现将《新乡市开展非法改装超限运输车辆专项治理行动方案》印发给你们,望各单位认真遵照执行。
二○○六年五月三十一日新乡市开展非法改装超限运输车辆专项治理行动方案为认真贯彻全国、省治超工作电视电话会议精神,进一步加强源头治理,有效遏制超限超载运输违法行为。
按照《中华人民共和国道路交通安全法》、《中华人民共和国道路交通安全违法行为处理程序规定》、《中华人民共和国机动车登记办法》、《中华人民共和国道路运输条例》和国务院九部委制定的《2006年全国治超工作要点》、省政府“三项治理”工作要求,经市道路交通“三项治理”工作领导小组研究决定,在全市范围内集中开展非法改装车辆专项治理行动。
特制定方案如下:一、指导思想指导思想:以“三个代表”重要思想为指导,在各级政府的指导下,依靠各部门的紧密配合,认真贯彻“规范行为、依法严管、标本兼治、科学治理”的方针,采取有效措施治理车辆超限超载运输违法行为,为我市实现全面建设小康社会目标创造良好的交通环境。
二、工作目标通过专项治理行动,对擅自改变车辆外廓尺寸、加栏板、加钢板以及载质量等技术参数明显不实的非法改装车辆,强制车辆恢复原状,并以此为线索,追查出非法改装车辆来源,打击非法改装车辆的单位和企业,彻底遏制非法改装车辆行驶公路。
三、组织领导为加强专项治理行动组织领导,我市成立非法改装车辆专项治理行动领导小组,统一指导、协调专项行动有关工作。
JoPPS软件帮助设计者在设计门窗构造的同时完成报价、订单
JoPPS软件帮助设计者在设计门窗构造的同时完成报价、订单、生产加工单……软件特点:1.灵活的窗形设计功能:可自由设计单框门窗、组合门窗,各种异型窗,在设计过程和设计完成后尺寸分隔都可任意修改;2.自由选择型材和组装方式,型材装配所用配件按照型材及型材的连接方式自动选择,同时为每种连接方式设置三种不同的类型配件(例如:45度组角的撞角连接和螺丝连接可设为不同的角码),且整个工程设计完成后对这些选项可做一键修改;3.玻璃配置智能化:按照玻璃厚度配置不同厚度玻璃压线和相应的胶条(或硅胶),按照荷载和玻璃面积自动调整玻璃类型;4.有6种玻璃压线(方形、圆弧形、防盗…)可以自由选择,在工程设计完成后一键更换。
玻璃压线的接角方式自由选择和整体更换;5.智能的五金配件组:依照开启扇的尺寸或重量选择五金配件的组成项目及传动型材长度和数量,对不正确的选择提出错误警告;6.物料替换功能:在设计过程中或者设计完成后,可实现对单个窗或整个工程文件做铝材、玻璃、配件等物料的替换;7.系列替换:可一键操作更换单个窗或整个工程的使用系统,且在更换系统的同时也更换了全部需要更换的配件;8.窗模型库:方便的模型库创建工具,可容纳海量窗形,利于初学者快速掌握设计工作且能保障准确完成设计任务;9.扇模型库:在设计过程中更灵活、便捷,简化程序,提升速度。
10.设计过程中可以直接看到型材节点及密封材料,进一步保障设计的准确和配件的合理;11.直接生成CAD立面图和节点图,给您带来更多的方便;12.强度校核工具保障您选材的合理性;13.各类幕墙和阳光房设计:除了完成构造设计——包括报价/订单/价格单/立面图/节点图等功能外,还可以——A)玻璃自动填充功能:可以控制玻璃外表面在同一平面,对不同厚度的玻璃(例如层间位置)填充铝材或胶条,(明框玻璃幕墙)依据玻璃厚度合理选择装配配件、压板使用螺钉…;B)在立面图上可以直观的显示连接件和伸缩缝的标高位置;C)立面图上可以自动生成与加工图相配套的玻璃、型材安装位置编号,方便安装人员查看;D)除了常用竖向立柱构造形式,可以做水平向立柱构造的设计;14.热工计算功能;15.各种类功能设置:a、按照用户要求可以选择固定损耗、绝对损耗和真实损耗来计算价格;b、不同的材料可以使用不同的价格块来控制不同的折扣比例;c、对不同的客户,有不同的报价模板,目前有给建筑师、业主、总包及私人客户等模板;d、每种材料可以输入有采购价、整包装价、单件价格、卖出价格,可以根据不同的要求计算出精确的价格;16.各类显示设置:操作界面和结果报告均可自由设置,满足您个性化的需要;17.商务类、订单类、生产加工类:三大类、三十余种计算结果基本满足您的各种需求(总价、分项价、单件材料价…、铝材数量、重量、型材喷涂表面积、装饰面(氟碳喷涂)面积、总配件、外发配件、内用配件、玻璃…、面积、整窗框架重量、玻璃重量、窗三边周长、四边周长…、加工图、型材优化表、锯切表…),同时提供多种自定义报告,用户可以自行编制计算报告中的内容;18.可以使用Excel生成各类表单,方便用户调整和修改;19.定义材料分类,既可以方便材料采购,也可以用来区分材料使用场所;1000种材料分类目录,方便设计者分主次、分急缓来调整订料单内容;20.数据库创建方便快捷:既可以在原有的数据库上直接添加、删除或修改,也可以使用excel表格批量添加、删除或更新数据;21.软件的扩展模块可以控制锯切、加工中心,还有条码生成功能,控制型材、窗从一个工序到下一个工序,消除生成流程中由于人为失误产生的错误;22.余料管理模块:提高材料使用率。
业务订单管理系统 ppt课件
财务出纳打款
会计销售单终结
订单结束
15
家具订单流程——财务确认销售单
注意事项:
1、只有通过“财务确认销售单”确认的订单。居泰隆总部才会认可。因此。分公司财务需要认真 仔细
2、财务确认后。在“提交”打上勾。点击“通过审核”。如果不提交,订单无法流转至下一流程 “物流制作采购单”。总部物流制作采购单的依据之一就是分公司需财务认可的合同订单。
36
家具订单发现需要修改订单数据怎么办?
• 1、订单在没有提交总部之前,可通过“订单管理”里“修改”进 去进行修改
• 2、订单合同已经提交总部的,在订单还在“财务确认销售单”的 流程中时,可通过财务获取修改权限,方法:点击“财务销售单管 理”对应的合同后面的“退单”按钮。这样,在订单管理对应的合 同后面就有了“修改”权限,可进行修改保存。
1
业务订单部门构架图
财务部
物流中心 采购部(调度中心)
总部 分公司 配送安装部
销售部
工程部
地区分店
中心店
社区店
销
工
设
施
售
程
计
工
部
部
部
部
店
渠施
设店
渠施
设
面
道工
计面
道工
计
销
销部
部销
销部
部
售
售
售
售
2
业务订单人员配置图
财务部经理
出
会
纳
计
物流中心 采购部经理
采 购 员
居泰隆总部 分公司总经理 配送安装部经理
物流制作采购单 调度审核采购单
总经理审核
总经理审核
会计审核尾款
ETO
1.按订单设计(ETO)的基本概念和应用背景在谈论制造业的生产模式时,人们会经常提起MTS、MTO、ATO和ETO这些名词。
这些名词的含义是:MTS:Make-to-Stock 按库存生产MTO:Make-to-Order 按订单生产ATO:Assemble-to- Order 按订单装配ETO:Engineering to Order,按订单设计这些名词代表了某种制造驱动方式的概念。
有些企业是根据预测或市场需求来安排生产,生产出的产品尽可能的销售出去,这种方式被称为MTS(Make to Stock),即面向库存生产。
一个典型的例子,消费品企业大都采用MTS的生产方式。
但另外的许多制造业,例如装备制造业是不能这么做的,因为它的产品如果在不知道客户的要求之前就生产出来,就会面临着卖不出去的风险。
这类型企业可统称为“面向订单制造”,而根据情况的不同,这之中又可分为ATO(Assemble to Order,面向订单装配)、MTO(Make to Order,面向订单生产)、ETO(Engineering to Order,根据订单设计)。
其中ETO是在管理上最为复杂的一种生产模式,ETO的企业通常具有如下特点:产品结构(BOM)和工艺流程需要按客户的要求进行特定的设计,BOM中特殊物料较多,BOM重复使用率很小。
产品订货数量批量很小,单件制造居多。
边设计、边生产,是这类企业普遍存在的现象。
企业的业务流程,从产品设计、投入生产、物料供应到产品的交付和安装,乃至成本和收入核算都是围绕着一项“销售合同(销售订单)”进行,类似一种项目管理模式。
通常在“合同”签订前,客户需要制造商提供合同报价和技术方案。
如果合同金额较大,财务要对每项合同(项目)设置专用的收入/成本帐户,进行合同的单独核算。
典型的ETO类型企业有船舶、航天器及装备制造等企业。
2.ETO类型的企业实现信息化的难点在当今信息时代,国内的制造企业实现了信息化的案例之事已是屡见不鲜,但在许多ETO 类型的企业,信息化实现的效果并不显著。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
订单提交设计
数据表结构
订单提交涉及到两张表,订单明细表T_OrderHead和订单主表T_OrderDetails
--订单主表
create table T_OrderHead
(
OrderID Char(14) not null primary key,
OrderStatus int not null,
SubTotal Decimal(18,2) not null,
UserName Varchar(50) not null references T_User(UserName),
SubmitTime DateTime not null,
OrditTime DateTime null,
Orditer Varchar(50) null references T_User(UserName)
)
--订单明细表
create table T_OrderDetails
(
ProductID Varchar(50) not null references T_Product(ProductID),
OrderID Char(14) not null references T_OrderHead(OrderID),
OrderQty int not null,
SubTotal Decimal(18,2) not null
constraint PK_T_OrderDetails_ProductID_OrderID primary key(ProductID,OrderID)
)
提交订单时,应同时向这两张表中插入记录,要么成功,要么失败, 因此需要用到事务进行提交.
代码设计
1 生成订单编号
订单号生成规则:订单号由4位年号+2位月号+2位日期+6位流水号组成
private string GenOrderId() {
SqlConnection conn = new
SqlConnection(ConfigurationManager.ConnectionStrings["DHDBConnectionString"].ConnectionString);
try
{
conn.Open();
string today = string.Format("{0:yyyyMMdd}", DateTime.Now);
//从数据库中查询今日的订单中最新的订单6位流水号
string sql = string.Format("select isnull(right(max(OrderID),6),'000000') from T_OrderHead
where OrderID like '{0}%'", today);
SqlCommand cmd = new SqlCommand(sql, conn);
//新的订单流水号增加 1
int nid = Convert.ToInt32(cmd.ExecuteScalar()) + 1;
//生成新的订单编号
string orderId = string.Format("{0}{1:000000}", today, nid);
return orderId;
}
catch (Exception ex) {
throw ex;
}
}
2 保存提交的订单
protected void btnCheckout_Click(object sender, EventArgs e) //结账
{
ShoppingCar car = (ShoppingCar)Session[ShoppingCar.ShoppingCarID];
//检查购物车中是否有商品
if(car==null || car.CarData.Count==0){
Utils.ShowMessage(this,"你的购物车中没有商品,请订购商器后再提交!");
return;
}
//将购物车中的商品保存到订单表
string orderId = GenOrderId();
string userId = "admin"; //得到登录的用户名,实在操作时应该将登录用户名放在Session中
int orderStatus = Utils.OrderStatus_Submitted;
float subTotals = float.Parse( lblTotals.Text);
SqlConnection conn = new
SqlConnection(ConfigurationManager.ConnectionStrings["DHDBConnectionString"].ConnectionString);
SqlTransaction trans = null;
try
{
conn.Open();
trans = conn.BeginTransaction(); //开始事务
//在订单头表中插入一条记录
string sql = string.Format("INSERT T_OrderHead(OrderID,OrderStatus,SubTotal,UserName,SubmitTime)"+
" VALUES('{0}',{1},{2},'{3}',getdate())",orderId, orderStatus, subTotals, userId);
SqlCommand cmd = new SqlCommand(sql, conn, trans);
cmd.ExecuteNonQuery();
//将购物车中订购的商品信息添加到订单明细表
foreach (Product p in car.CarData)
{ //遍历购物车中的所有商品
sql = string.Format("INSERT T_OrderDetails(ProductID,OrderID,OrderQty,SubTotal)
VALUES('{0}','{1}',{2},{3})", p.ProductId, orderId, p.Qty, p.Price * p.Qty);
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
}
trans.Commit(); //提交事务
car.Clear(); //清空购物车
Utils.ShowMessage(this, "订单已成功提交!");
}
catch (Exception ex)
{
trans.Rollback(); //回滚事务
Utils.ShowMessage(this, "提交失败!错误:" + ex.Message);
}
finally {
conn.Close();
}
}