进销存管理系统设计与实现毕业论文.doc
赣西科技职业学院 毕业论文(设计)题目进销存管理系统院 系: 赣西科技职业学院 专 业: 计算机应用技术 年 级: 12级计算机班 学生姓名: 高飞 学 号: 121011004 导师及职称: 胡洪云 2014年10月10日基于B/S模式的进销存管理系统设计与实现摘 要:基于B/S模式的进销存管理系统是一个典型的管理信息系统,它可以为企业形成一个准确反映企业状况的规范的管理体系。系统不仅整合了企业内部的物流、业务流、资金流、还整合了企业外部的供应商和客户。进销存管理系统作为一种企业管理软件,针对企业应用的信息化管理整体解决方案,集多种管理一体化,致力于帮助企业快速有效地管理进货、销售、库存和应收/应付款等各项业务,帮助企业建立起一个简捷、高效的实时运营管理平台,实现物流、资金流、信息流的在线动态监控和管理,实现信息的全面把握、传递和电脑全程记录,方便了企业的进销存管理,降低了实施的成本和风险,加快了实施的进度,增加了投资的回报,为企业决策提供数据和速度,确保企业在庞大范围内健康地运行。此管理系统以.NET平台开发,客户、供应商等企业外部人员通过B/S模式结构来实现分销通过互联网对公司数据库中数据的访问、使用等操作;同时在企业内部网络中,公司的授权员工能对数据库进行相应的操作,来完成整个业务流程;管理决策者可以利用数据分析进行辅助决策过程。关键字:进销存管理系统,.NET开发平台,B/S,业务流程Based On B /S Model Design And Implementation Of Inventory Management SystemAbstract: Based on B/S mode inventory management system is a typical management information system, it can be for enterprises to accurately reflect the business conditions to form a management system specification. System not only logistics enterprise integration, business flow, capital flow, but also outside the enterprise integration of suppliers and customers. Inventory management system as an enterprise management software applications for enterprise information management solution, set a variety of management integration, is committed to helping companies quickly and effectively manage the purchase, sales, inventory and receivables/ payables The business to help companies build a simple, efficient real-time operations management platform, logistics, capital flow, information flow line dynamic monitoring and management, to achieve a comprehensive grasp of the information, the entire transmission and computer records, to facilitate the progress of the enterprise Sales inventory management and reduce the implementation cost and risk, accelerate the progress of the implementation, increasing the return on investment for enterprise data and speed decision-making to ensure the health of business within the huge run.This management system. NET platform, customers, suppliers and other persons outside the business through the B/S model structure to achieve distribution through the Internet to access data in corporate databases, the use of other operations; the same time within the enterprise network, the company Authorized employees to operate the database corresponding to complete the entire business process; management decision-makers can make use of secondary data analysis for decision-making process. Keywords: Inventory Management System,. NET Development Platform, B / S, Business Process目 录第1章引 言11.1项目研究背景11.2论文结构1第2章相关技术介绍32.1系统环境32.1.1Visual Studio 2008简介32.1.2SQL SERVER 2008简介32.1.3三层架构42.1.4JQUERY-AJAX42.1.5B/S结构介绍5第3章需求分析63.1基础设置63.2系统管理73.3人力资源73.4客户管理73.5销售管理73.6采购管理83.7库存管理9第4章系统设计104.1功能模块设计104.2数据库设计124.2.1概念模型设计124.2.2物理模型设计14第5章系统实现185.1数据库操作实现185.2实现方法21第6章软件测试226.1测试方法226.2系统测试23总 结26致 谢27参考文献28第1章 引 言1.1 项目研究背景随着全球经济一体化和国内经济改革的逐年深化,国内中小型商贸企业都面临着巨大的挑战,管理体制的不完善不能和集团性质的大公司相竞争,成为中小型商贸企业发展需要解决的首要问题。即使企业具有了一定先进的技术,但由于管理体制中种种问题的制约,也不能使企业在激烈的竞争中占有一席之地。计算机技术的全面普及,给中小企业带来新鲜的血液。利用计算机对企业进行管理,解决了传统管理方式中的管理效率低下、管理不全面,数据信息不能得到统计等问题。管理方式的转变,提高整个企业的工作效率,在某种意义上讲,给中小企业提供了新的有利条件,增强了企业的核心竞争力,成为企业管理的必备工具。针对目前企业公司企业内部的现状,联系实际情况,我们设计开发了此系统“基于B/S模式的进销存管理系统”。进销存管理系统是一个典型的管理信息系统,它可以为企业形成一个准确反映企业状况的规范的管理体系。系统不仅整合了企业内部的物流、业务流、资金流、还整合了企业外部的供应商和客户。进销存管理系统作为一种企业管理软件,针对企业应用的信息化管理整体解决方案,集多种管理一体化,致力于帮助企业快速有效地管理进货、销售、库存和应收/应付款等各项业务,帮助企业建立起一个简捷、高效的实时运营管理平台,实现物流、资金流、信息流的在线动态监控和管理,实现信息的全面把握、传递和电脑全程记录,方便了企业的进销存管理,降低了实施的成本和风险,加快了实施的进度,增加了投资的回报,为企业决策提供数据和速度,确保企业在庞大范围内健康地运行。本项目采用B/S体系架构,对所开发的系各个功能模块进行了设计,并借助于Visua1Studio 2008开发环境的.NET平台,运用C#语言、ASP.NET技术、三层架构、JQUREY-AJAX和ADO.NET数据库等技术。1.2 论文结构本文共分六章,各章的内容安排如下:第1章,根据研究背景和研究内容,提出了相应的研究思路和研究技术。第2章, 介绍系统的开发平台以及开发语言,并对B/S体系结构、项目运用的主要技术进行了阐述。第3章,对本系统的需求和可行性进行了分析。第4章,对系统的功能模块和数据库结构进行了详细的设计。第5章,介绍系统各模块的详细实现。于B/S模式的进销存管理系统的设计与实现第6章,对系统进行了全面的测试。第2章 相关技术介绍22.1 系统环境122.12.1.1 Visual Studio 2008简介Visual Studio 2008支持快速开发应用程序,在 Visual Studio 2008 中,开发人员工作效率的提高不是终止于代码编辑器和向导。通过提供新的工具和框架来简化新应用程序体系结构和平Visual Studio 2008台的开发人员、设计人员和数据库专业人员的任务,Visual Studio 2008 不仅提供了高效的开发工具,而且使开发人员能够在减少创建解决方案的总成本的同时解决新的业务问题。Visual Studio 2008能够进行有效的团队协作。Visual Studio 2008 增加了 Visual Studio Team System 的基于角色的覆盖率,提高了整个软件开发生命周期中的可跟踪性,从而增加了它的端对端价值。通过在软件生命周期中的角色和 Team Foundation Server 之间进行深度集成,Team System 使客户能够增强其团队的影响,提高软件质量。【1】实现前所未有的用户体验。因为用户总是在寻找新的方式来理解和保留信息,所以开发人员仍然必须设法保证基本的桌面和应用程序安全。Visual Studio、Windows Vista 和 2007 Office system 使开发人员能够在任何类型的应用程序中提供安全、可靠且富有吸引力的用户体验。这些基本改进使客户能够快速创建连接的应用程序,无论项目的复杂性多大,组织的规模如何,这些应用程序都能够提供最高的质量和丰富的用户体验。【2】2.1.2 SQL SERVER 2008简介SQL Server 2008作为微软的新一代的关系型数据库管理产品,它是建立在前一版本SQL Server 2005的基础之上,其在性能、稳定性、易用性方面进行了相当大的改进。SQL Server 2008是一个安全的、高效的、智能的数据平台。它提供了保护数据库、减少服务器管理时间、增加应用程序稳定性、系统效能最佳化与预测功能【3】。SQL Server 2008能够方便地构建、部署和管理企业应用程序;让应用程序更加安全、伸缩和可靠,降低开发和支持数据库应用程序的复杂性,提高IT生产力;能够在多个平台、多个应用程序和多个设备之间共享数据【4】。2.1.3 三层架构三层数据库架构的主要目的是让每个数据库的用户视图与数据库物理存储或描述的方法隔离。三层数据库架构的优点如下: 每个用户能访问相同数据但有他们自己所需要的、经过定制的不同数据视图。每个用户可改变自己查看数据的方式并且这种改变不会影响相同数据库的其他用户。用户不用关心物理数据存储细节。用户与数据库之间的交互独立于物理数据存储组织。物理存储组织的改变(例如转到新的存储设备)不影响数据库的内部结构。数据库管理员(DBA)能改变数据库的存储结构而不会影响用户视图。DBA能改变数据库的概念结构而不会影响所有用户【5】。2.1.4 JQUERY-AJAXjQuery 由 John Resig 创建于 2006 年初,对于任何使用 JavaScript 代码的程序员来说,它是一个非常有用的 JavaScript 库。无论您是刚刚接触 JavaScript 语言,并且希望获得一个能解决文档对象模型(Document Object Model,DOM)脚本和 Ajax 开发中一些复杂问题的库,还是作为一个厌倦了 DOM 脚本和 Ajax 开发中无聊的重复工作的资深 JavaScript 专家,jQuery 都会是首选。jQuery 能保证代码简洁易读。不必编写大堆重复的循环代码和 DOM 脚本库调用了。使用 jQuery,可以把握问题的要点,并使用尽可能最少的代码实现想要的功能【6】。使用 jQuery 将使 Ajax 变得及其简单。jQuery 提供有一些函数,可以使简单的工作变得更加简单,复杂的工作变得不再复杂。Ajax 最常见的用法就是把一块 HTML 代码加载到页面的某个区域中去。为此,只需简单地选择所需的元素,然后使用 load() 函数即可。如果需要编写一些复杂的 Ajax 脚本,那么需要用到 $.ajax() 函数。可以指定 xml、script、html 或者 json,jQuery 将自动为回调函数准备合适的结果,这样您便可以立即使用该结果。还可以指定 beforeSend、error、success 或者 complete 回调函数,向用户提供更多有关 Ajax 体验的反馈。此外,还有一些其它的参数可供使用,您可以使用它们设置 Ajax 请求的超时,也可以设置页面 “最近一次修改” 的状态【7】。2.1.5 B/S结构介绍B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库:它能有效地保护数据平台和管理访问权限,服务器数据库也很安全【8】。B/S结构最大特点是:用户可以通过WWW浏览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW浏览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Intranet【9】。B/S结构的优点。(l)具有分布性特点,可以随时随地进行查询、浏览等业务处理。(2)业务扩展简单方便,通过增加网页即可增加服务器功能。 (3)维护简单方便,只需要改变网页,即可实现所有用户的同步更新。(4)开发简单,共享性强【10】。第3章 需求分析312344.13.1 基础设置基础设置对现金银行、商品分类、商品档案、仓库档案、期初设置、计量单位、收支原因等基础信息的设置。现金银行业务规格:账户名称、开户行类别、开户行名、户名、账号必输项验证,如果选择类型为现金,控制只能输入账户名称,银行,其他字段都控制输入,银行账号为16或19位数字。商品分类是对商品进行分类化管理提供必备的基本信息。商品档案能够实现新增品名、分配类别、分配计量单位、品名启用、品名停用、批量删除等功能。期初设置包括库存期初余额设置和现金银行账户期初余额设置两个功能,库存期初余额设置指的是您使用进销存服务前一日各仓库各货品库存的结存数量,以及各货品的结存成本价(单位成本)。现金银行账户期初余额是指在使用系统之前对当前银行账户进行期初余额录入操作。计量单位是货品必不可少的属性,在设置货品档案时需要先设置好该货品的计量单位。本系统支持同一个货品在采购、销售、储运的不同业务时采用不同的计量单位(用户可以设置基本计量单位和换算计量单位)。仓库档案是库存管理的核心基础数据,只有设置了仓库档案才能录入各类库存单据(如采购入库单,销售出库单)以及针对仓库查询各种库存账表。收支原因仅用于进销存服务与记账平台服务合用的情况(单独使用进销存服务无此项功能),而且在收付款单据需要生成自动凭证时必须先进行收支原因设置。收支原因是公司发生收入和支出的用途说明,是现金银行账户资金发生变动的原因。每个收支原因需要指定对应会计科目(系统提供了科目的默认值),以便收付款单能自动生成记账凭证。收支原因档案资料可以在“基础档案”的“收支原因档案”功能中录入,也可以在做付款单据或收款单据时实时添加。单据编号规则:单据拼音缩写+日期+三位流水号。单据拼音缩写:采购订单(CD)、采购入库(CR)、采购退货(CT)、付款录单(FL)、付款核销单(FH)、库存调拨(KD)商品盘点(SP)、销售订单(SD)、销售出库(SC)、销售退货(ST)、收款款录单(SL)、收款核销(SX)、客户档案(HD)等。3.2 系统管理系统管理主要是对于权限的管理。其中包括登录用户名管理、角色管理、用户与员工对应设置、用户与角色关联设置、角色权限设置等。3.3 人力资源人力资源是一个企业最基础的信息,人力资源涵盖了企业的组织结构、人事档案两大信息模块。为整个系统的权限以及操作员提供了基础信息。组织管理包括组织机构设置和岗位设置两个功能。人力档案包括在职人员管理、人才储备管理、离职人员管理等功能。基本设置中主要对岗位分类、岗位级别、国家地区、职称、宗教信仰、婚姻状况、政治面貌、民族、学历、专业、外语种类等信息进行预设。3.4 客户管理客户管理,从客户档案、客户联系人、客户联络、客户洽谈、客户关怀、客户服务、客户投诉等多个角度和层次提供了支持。客户关系是公司的最宝贵的资产之一。公司80%的业务来源于公司20%的客户。保持良好的客户关系,追求多产品销售、客户重复购买和规模销售。建立稳定的良好的市场销售环境,追求市场占有率、覆盖率和增长率。维护好客户关系,一点带面,人脉网路营销【11】。3.5 销售管理销售订单。主表“销售订单”的内容包括单据编号、客户(弹窗选择)、业务员、签单日期(默认取当前日期)、交货日期(默认取当前日期)、备注、优惠、优惠后金额、单据状态、扩展属性、制单人、制单日期、数量合计、金额合计。销售出库单包括销售单及销售出库单两个功能。内容包括单据编号、客户(弹窗选择)、业务员(下拉列表)、仓库(下拉列表)、联系人、联系人电话、发票类型、销售类型(下拉列表)、销售日期、来源销售订单、收货地址、单据状态、备注、优惠、优惠后金额、扩展属性、制单人、制单日期、确认人、确认日期、作废人、作废日期、数量合计、金额合计。销售退货单,内容包括单据编号、客户(弹窗选择)、业务员(弹窗选择、默认当前用户)、仓库、退货日期、来源销售出库单、备注、扩展属性、制单人、制单日期、确认人、确认日期、作废人、作废日期、数量合计、金额合计。收款录单记录销售业务所带来的向客户收取货款的业务,或者采购退货所带来的供应商退回货款的业务。收款录单可以直接手工录入(多用于预收款、赊销款),也可以在销售出库单或采购退货单录入保存后录入(主要用于现收款)。收款录单完成后,可以通过收款核销功能建立收款与销售出库或采购退货的对应关系,以明确收款对应的是哪笔销售出货或采购退货业务,实现对往来款项的精细化管理。收款核销单通过收款核销功能建立收款与销售出库或采购退货的对应关系,以明确收款对应的是哪笔销售出货或采购退货业务,实现对往来款项的精细化管理【12】。3.6 采购管理采购订单内容包括单据编号、供应商(弹窗选择)、业务员(弹窗选择、默认当前用户)、签单日期、优惠、优惠后金额、单据状态、备注、扩展属性、制单人、制单日期、数量合计、金额合计。采购入库单内容包括单据编号、供应商(弹窗控件)、仓库(下拉列表)、业务员(弹窗控件,默认为当前用户)、批次、联系人、联系人电话、采购日期、来源采购订单、送货地址、备注、优惠、优惠后金额、扩展属性、制单人、制单日期、确认人、确认日期、作废人、作废日期、数量合计、金额合计。采购退货单内容包括单据编号、供应商、业务员、退货日期(默认取当前日期)、备注、单据扩展属性、制单人、制单日期、确认人、确认日期、作废人、作废日期、数量合计、金额合计。付款录单记录采购业务所带来的向供应商支付货款的业务,或者销售退货所带来的向客户退回货款的业务。付款录单可以直接手工录入(多用于预付款、赊购款),也可以在采购入库单或销售退货单录入保存后录入(主要用于现付款)。付款录单完成后,可以通过付通过付款核销功能建立付款与销售出库或采购退货的对应关系,以明确付款对应的是哪笔采购进货或销售退货业务,实现对往来款项的精细化管理。付款核销单通过付款核销功能建立付款与采购入库或销售退货的对应关系,以明确付款对应的是哪笔采购进货或销售退货业务,实现对往来款项的精细化管理。3.7 库存管理库存管理包含库存调拨和库存盘点两大功能。库存调拨内容包括单据编号、移出仓库(下拉列表)、移入仓库(下拉列表)、业务员(弹窗选择,默认当前用户)、调拨时间(默认为当前日期)、状态、备注、单据扩展属性、制单人、制单日期、确认人、确认日期、作废人、作废日期、数量合计、金额合计。库存盘点存货因为数量较多、收发频繁、计量误差、管理不善、自然损耗等原因,有可能导致库存数量与账面数量不符。为了避免账实不符的现象出现,就要定期进行存货清查,从而查明原因并调整账面数量,使账实相符。用户可以使用期末盘点来完成仓库存货的清查、调整工作,通过该单据您可以了解到每项存货的盈亏数量及盈亏金额,及时掌握盈亏情况。第4章 系统设计344.1 功能模块设计通过需求分析得出本系统主要功能结构图如图4-1至图4-8所示。图4-1 总体功能结构图 图4-2 基本设置功能结构图 图4-3 系统设置功能结构图图4-4 人力资源功能结构图图4-5 客户管理功能结构图 图4-6 采购管理功能结构图图4-7 销售管理功能结构图图4-8 库存管理功能结构图4.2 数据库设计数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。4.24.2.1 概念模型设计概念模型不依赖于具体的计算机系统,他是纯粹反映信息需求的概念结构。建模是在需求分析结果的基础上展开,常常要对数据进行抽象处理。常用的数据抽象方法是聚集和概括。 E-R方法是设计概念模型时常用的方法。因篇幅限定,在此只列举主要模块的实体E-R图。图4-9 商品档案实体图 图4-10 客户档案实体图图4-11 采购订单实体图 图4-12 付款单实体图 图4-8 采购业务实体图4.2.2 物理模型设计用SQL Server转换以上实体图。11.14.31、 商品档案表商品档案表结构如表4-1所示。表4-1 商品档案表字段名字段类型缺省值是否可空PK说明ID Int identityNotnullPKID,自动生成ProductNameVarchar(50)商品名称ProductNoVarchar(50)商品编号UnitIDInt计量单位mnemCodeVarchar(50)助记码SpecificationVarchar(50)规格ImgUrlvarchar(200)产品图片SafeStockNumnumeric(10,2)安全库存量MaxStockNumnumeric(10,2)最高库存量UsedStatuschar(1)状态(0停用,1启用)Sellnumeric(10,2)零售价TypeIDint商品分类ID2、 客户档案表客户档案表结构如表4-2所示。表4-2 客户档案表字段名字段类型缺省值是否可空PK说明IDInt identitynot nullPK客户ID,自动生成CustClassint客户分类(往来单位表)CustNovarchar(50)客户编号CustNamevarchar(100)客户名称CustNamvarchar(50)客户简称CustNotevarchar(1024)客户简介HotHowchar (1)热度MeritGradechar (1)价值评估RelaGradechar (1)关系等级Relationvarchar(200)关系描述CompanyTypeChar(1)单位性质Tradevarchar(50)行业Telvarchar(50)公司电话ReceiveAddressvarchar(100)通讯地址OpenBankvarchar(100)开户行AccountManvarchar(100)户名AccountNumvarchar(50)账号Remarkvarchar(200)备注UsedStatuschar(1)状态(0停用,1启用)3、 采购订单表采购订单表结构如表4-3所示。表4-3 采购订单表字段名字段类型缺省值是否可空PK说明IDint identityNot nullPKID,自动生成OrderNoVarchar(50)订单编号ProviderIDInt供应商IDSalesManInt业务员IDOrderDateDatetime签单日期TotalCountNumeric(10,2)数量合计BillStatusChar(1)状态RemarkVarchar(800)备注CreatorInt制单人CreateDateDatetime制单日期4、 采购订单明细表采购订单明细表结构如表4-4所示。表4-4 采购订单明细表字段名字段类型缺省值是否可空PK说明IDint identityNot nullPKID,自动生成OrderNoVarchar(50)订单编号ProductIDInt商品IDOrderCountNumeric(10,2)数量OrderPriceNumeric(10,2)单价DetailTtotalPriceNumeric(20,2)金额5、 付款单表 付款单表结构如表4-5所示。表4-5 付款单表字段名字段类型缺省值是否可空PK说明IDint identitynot nullPK自动生成PayNoVarchar(50)付款单号ContactUnitint付款单位PayCauseInt付款原因PayDatedateTime付款日期CustIDInt客户IDCashBankIDInt现金银行账户PayPricenumeric(20,2)付款金额SalesmanInt业务员CreatorInt制单人CreateDateDateTime制单日期RemarkVarchar(100)备注6、 付款核销单表付款核销单表结构如表4-6所示。表4-6 付款核销单表字段名字段类型缺省值是否可空PK说明IDint identitynot nullPK自动生成PayIDInt 付款单IDFKBlendDateDatetime核销日期BillTypeChar(1)1、 销售退货2、 采购入库SourceIDint源单IDSourceDTVarchar(50)源单表名goodsPricenumeric(20,2)货款金额BlendPricenumeric(20,2)核销金额第5章 系统实现55.1 数据库操作实现在本系统中,我们使用了三层架构进行开发的。三层架构在逻辑上将应用功能分为三层:表示层、业务逻辑层、数据访问层【13】。在数据访问层中,我们使用ADO.NET技术对数据库进行操作。SqlHelper类是专门的数据库操作类,任何对数据库操作的类都要调用这个类。在SqlHelper类中,主要构造了一下几个方法:1、 直接获得数据库连接串的方法public static String GetConnection()return ConfigurationManager.ConnectionStrings"ConnectionString".ToString();2、 执行一个sql命令,仅仅返回数据库受影响行数/ <param name="Sql">sql语句</param>/ <param name="cmdParms">参数</param>/ <returns></returns>public static int ExecuteNonQuery(string Sql, params SqlParameter cmdParms)/ Create a new Sql commandSqlCommand cmd = new SqlCommand();/Create a connectionusing (SqlConnection conn = new SqlConnection(_connectionString)/Prepare the commandPrepareCommand(cmd, conn, null, CommandType.Text, Sql, cmdParms);/Execute the commandint val = cmd.ExecuteNonQuery();cmd.Parameters.Clear();return val; 3、 执行 SQL 语句,查询的结果集public static DataTable ExecuteSearch(SqlCommand comm)/获得返回集实例SqlParameter p = null;if (comm.Parameters != null && comm.Parameters.Count > 0)p = new SqlParametercomm.Parameters.Count;for (int i = 0; i < comm.Parameters.Count; i+)pi = (SqlParameter)comm.Parametersi;comm.Parameters.Clear();DataTable result = Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteDataset(_connectionString, comm.CommandType, comm.CommandText, p).Tables0;if (p != null)for (int i = 0; i < p.Length; i+)comm.Parameters.Add(pi);return result;4、 带分页数据查询public static DataTable PagerWithCommand(SqlCommand cmd, int PageIndex, int PageSize, string OrderBy, ref int TotalCount)/变量定义StringBuilder sbSql = new StringBuilder();/第一页时if (PageIndex = 1)sbSql.Append("SELECT TOP " + PageSize +