您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页计算机专业 毕业论文

计算机专业 毕业论文

来源:意榕旅游网
目录

毕业论文(设计)任务书 ...................................................................................................... II 开题报告 ................................................................................................................................. IV 文献综述 ............................................................................................................................... VII 摘要 ................................................................................................................................. XI 绪论 ................................................................................................................................... 1 1 进销存管理系统分析 ............................................................................................................ 2 2 开发平台及语言介绍 ............................................................................................................ 4

2.1 Dreamweaver ................................................................................................................ 4

2.1.1 HTML ................................................................................................................. 4 2.1.2 CSS ..................................................................................................................... 5 2.1.3 JavaScript ........................................................................................................... 7 2.1.4 ASP ..................................................................................................................... 9 2.2 Access ......................................................................................................................... 10 2.3 ADO ............................................................................................................................ 11 3 进销存管理系统的设计 ...................................................................................................... 13

3.1 总体设计 .................................................................................................................... 13

3.1.1 总体设计标准 ................................................................................................. 13 3.1.2 系统功能分析 ................................................................................................. 13 3.2 数据库设计 ................................................................................................................ 14

3.2.1 数据准备 ......................................................................................................... 14 3.2.2 数据库设计 ..................................................................................................... 14 3.3 详细设计 .................................................................................................................... 18

3.3.1 系统流程分析 ................................................................................................. 18 3.3.2 详细流程及模块设计 ..................................................................................... 18 4 程序设计 .............................................................................................................................. 24

4.1 SQL 代码编写 ........................................................................................................... 24

4.1.1 表的创建 ......................................................................................................... 24 4.1.2 存储过程 ......................................................................................................... 24 4.2 ASP 代码实现 ............................................................................................................ 25

4.2.1 数据库连接 ..................................................................................................... 25 4.2.2 数据的组织形式 ............................................................................................. 26 4.3 AJAX 前台实现 ......................................................................................................... 28

4.3.1 HTML 的结构组织 ......................................................................................... 29 4.3.2 JavaScript 操作 HTML .................................................................................. 29 4.3.3 CSS 控制样式呈现 ......................................................................................... 29 4.3.4 XMLHttp 实现后台通信 ................................................................................ 30 结束语 ..................................................................................................................................... 31 致谢 ......................................................................................................................................... 32 参考文献 ................................................................................................................................. 33 附录 ......................................................................................................................................... 34

I

江汉大学毕业论文(设计)任务书

数学与计算机科学学院计算机科学与技术系

计算机科学与技术专业

题目进销存管理系统的开发与设计

起止日期:11年01月06日至11年04月10日

学生姓名:王文学号:016507202551

指导老师:曾鹏

教研室主任: 11年 02 月日审批

系主任:11年 02 月日审批

II

目 的 和 要 求 主 要 内 容 应 完 成 的 工 作 进 度 安 排 能够熟练的使用常规工具软件,独立完成整个B/S结构管理系统的设计与开发,全面掌握开发过程中所使用的所有技术。 在因特网开放的网络环境下,基于B/S结构,以跨平台、终端无关的方式,实现对“进、销、存”进行管理及审验操作。包括总计、库存、统计、进账、出账、以及系统定制化设置,共6大类功能模块。 1.针对用户行业进行深入了解,制定“进销存”的管理方法与体系; 2.整理需求,进行系统分析与设计; 3.设计系统整体架构; 4.设计数据库; 5.完成服务端及客户端开发。 1. 1月6日-----2月10日调查并整理需求; 2. 2月11日-----2月25日确定技术取向并完成架构设计; 3. 2月25日-----3月15日开发阶段,并准备论文。 [1]Nicholas C. Zakas,JavaScript高级程序设计(第2版),北京:人民邮电出版社,2010 [2]Joseph Sack,SQL Server 2005范例代码查询辞典,北京:人民邮电出版社,2008 [3]Michael Bowers,精通CSS与HTML设计模式,北京:人民邮电出版社,2008 [4]康博创作室,动态WEB应用高级开发指南-ASP ADO和DHTML编程,北京:人民邮电出版社,2000 1人 应收集的资料及主要参考文献学生进行毕业论文(设计)前,指导教师应填写好此任务书,经教研室、系主任签字后, 正式给学生下达任务。毕业论文(设计)结束后,将此任务书放在毕业论文(设计)封面后 装订。

备 注 III

开题报告

一、国内外的研究现状

根据当前的企业管理体制,一般物资供应管理系统,总是根据所掌握的物资类别,相应分成几个科室进行物资的计划,订货,核对入库,根据企业各个部门的需要来发送物资设备,并随时近期进行库存盘点,作台帐,根据企业领导和自身管理的需要按月,季,年进行统计分析,产生相应报表,为了加强关键物资,设备的管理,要定期掌握其储备消耗情况,根据计划定额和实际消耗定额的比较,进行定额管理。所以一个完整的企业物资供应管理系统应包括计划管理,合同托收管理,进销存管理,定额管理,统计管理,财务管理等模块。其中进销存管理是整个物资供应管理系统的核心。

二、研究目的和意义

随着我国纺织服装产业升级的不断深入以及提高行业内企业竞争力的需要,对企业在经营管理等方面综合素质的要求将会越来越高。在这其中,快速反应异常重要。而在整个快速反应机制的建立过程中,信息化--也就是如何应用信息技术不断规范提高管理水平、如何迅速捕捉市场信息并建立一整套完善的市场网络将成为大量服装企业、尤其是中小企业在未来不得不面对的课题。

关键在于进销存,对于服装企业、尤其是中小服装企业来说,能否降低库存、提高销售率、加快资金流转具有决定性的意义。

服装行业受市场潮流影响大,产品品类多,产品市场流通速度快,流行周期短。面对瞬息万变的市场,多数中小服装企业仍采用人工程序来管理服装商品的进、销、存、退、换等流转过程。在这种业务管理模式下,中小企业的信息流通不及时,库存与销售的关系往往难以协调,现金流容易失控,从而使他们对市场的应变能力普遍较弱,业务运作难以达到最优化,也就很难得到较高的利润回报率。

服装经营中最头疼的问题就是过时的服装要降价出售,不但赚取不到利润还影响品牌自身形象。但是由于商品往往分散在许多不同的仓库或者店面,很难即时、准确、高效地进行管理。同时,企业也需要随时了解每一种商品的畅销、滞销情况,及时做出经营调整。但如果采用合适的软件信息管理系统,将在很大程度上可以使这种难题得以解决并使公司的整套管理高效化。

而从我国纺织服装产业的现状看,行业中多数企业仍属于中小型企业。它们受到传

IV

统家族式企业经营思路的影响以及资金、技术、人力、经营理念等多方面的限制,信息化基础相对薄弱,在信息化建设方面还处于初级阶段。多数企业在很长一段时间内并没有把信息化建设作为企业建设的重要方面,一些企业虽然运用了ERP等信息系统但对其作用并没有很好地挖掘。一方面企业对信息系统的理解存在一个过程,需要一段时间的学习和引导;另一方面它们又往往迫于生存需要,要求立即投入立即见到成效。

根据这一实际情况,专家建议对于中小企业而言,从进销存环节开始进行信息化可以比较快速地规范企业的业务管理流程、提升管理质量。锁定进销存,对它们来说就是抓住了管理的命脉。

三、课题研究的内容及拟采取的技术方案

1、系统功能分析

系统功能分析是系统开发的总体任务的基础上完成。本系统中的进销存管理系统需要完成产销衔接,他的功能模块包括:基本信息总计模块、库存管理模块、统计分析模块、进账管理模块、出账管理模块、以及系统定制化设置模块。

通过进销存管理系统建立销售和库存子系统之间的关系。系统可以通过库存和销售数据,进行库存预警、销量统计、市场预估,生成相关的市场、成本、利润以及销售、库存情况等统计报表,通过统计信息辅助决策部门完成市场及库存决策。 2、技术方案

前台:HTML + CSS

HTML是为“制作超文本文档,创建网页和其它可在网页浏览器中看到的信息”设计的一种标记语言,HTML被用来结构化信息——例如标题、段落和列表等等,也可用来在一定程度上描述文档的外观和语义。CSS是一种样式表语言,用于为HTML文档定义布局。例如,CSS涉及字体、颜色、边距、高度、宽度、背景图像、高级定位等方面。HTML可以用于为网站添加布局效果,但有可能被误用。而CSS则提供了更多选择,而且更为精确、完善。

后台:ASP

Active Server Pages(动态服务器主页,简称ASP)是微软开发的一套服务器端运行的脚本语言,ASP 内含于IIS当中。通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。同时,ASP也支持VBScript和JavaScript脚本语言,默认为VBScript。

V

数据库:SQL(采用Access、ADO)

Access是Office系列软件中用来专门管理数据库的应用软件,它可以运行于各种Windows系统环境中。它使用SQL(Structured Query Language,结构化查询语言)作为它的数据库语言,从而提供了强大的数据处理能力和通用性。

架构:数据访问层->业务逻辑层->UI层

三层架构(3-tier application)通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

开发工具:Dreamweaver

Dreamweaver是一款可视化网页编辑工具,他最大的优点就是所见即所得,对W3C网页标准化支持十分好,同时它还支持网站管理,包含HTML检查、HTML格式控制、HTML格式化选项、HomeSite/BBEdit捆绑、图像编辑、全局查找替换、全FTP功能、处理Flash和Shockwave等富媒体格式和动态HTML,而且还支持ASP、JSP、PHP、ASP.NET、XML等程序语言的编写与调试。

四、开发项目的名称

进销存管理系统的开发与设计。

五、现有的条件和要采取的措施

现在会基本的网页制作,能够熟练的运用Dreamveaver和Frontpage这两个软件,能够将两者进行充分的融合,我是独立完成这个作品的。也许作品上会有一些不足的地方,但是希望能够谅解。现在就是要将我所学到的知道运用到这个实践中去,难度不是很大,但是需要一定的时间,并且我对开发与设计方面的编程不是很熟悉,还有待提高。我会努力去学习的,一定在老师规定的时间内将毕业设计完成的。

六、课题研究的步骤(进度安排)

1月6日-----2月10日熟悉应用软件;

2月11日-----2月25日收集资料,确定设计方案;

2月25日-----4月10日毕业设计制作阶段,准备毕业论文。

VI

文献综述

一、绪论——进销存管理系统应用背景

在信息技术的催化之下,世界经济的变革已经进入了加速状态。世界经济一体化,企业经营全球化,以及高度竞争造成的高度个性化与迅速改变的客户需求,令企业与顾客、企业与供方的关系变得更加密切和复杂。强化管理,规范业务流程,提高透明度,加快商品资金周转,以及为流通领域信息管理全面网络化打下基础,是众多商业企业梦寐以求的愿望。

中小企业在我国经济发展中具有重要地位,目前我国的中小企业数量较多、地区分布广泛、行业分布跨度大,随着全球经济一体化的发展及中国加入WTO,中小企业面临外资企业和国外产品与服务的严峻挑战,比较而言,外资企业具有更为雄厚的资金实力、丰富的管理经验和先进的技术手段,因此,如果我国的中小企业不借助先进的管理思想转变经营观念、使用信息化提高企业的管理水平和工作效率,将很难在今后的国际竞争中取胜。然而企业管理在很多方面、很大程度上都必须借助信息化来完成,而我国中小企业的信息化水平还很低,与外资企业相比,还处于起步阶段。

随着技术发展,电脑操作及管理日趋简化,电脑知识日趋普及,同时市场经济快速多变,竞争激烈,因此企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。

进销存是指企业管理过程中采购(进)->入库(存)->销售(销)的动态管理过程。 进销存管理系统是一个典型的数据库应用程序,根据企业的需求,为解决企业账目混乱,库存不准,信息反馈不及时等问题,采用先进的计算机技术而开发的,集进货、销售、存储多个环节于一体的信息系统。

进销存管理系统概念起源于上世纪80年代,由于电算化的普及,计算机管理的推广,不少企业对于仓库货品的进货,存货,出货管理,有了强烈的需求,进销存软件的发展从此开始。

随着信息技术的飞速发展,相应的管理系统使这一动态的进销存过程更加有条理,应用进销存管理系统,不仅使企业的进销存管理实现了即时性,结合互连网技术更使进销存管理实现了跨区域管理。

进销存系统的目标是针对于特定对象(如仓库)的商品、单据流动,是对于仓库作

VII

业结果的记录、核对和管理--报警、报表、结果分析,比如记录商品出入库的时间、经手人等。

二、主体

企业进销存管理系统是将企业的货品进货、销售、库存、帐务管理等过程进行电子化和网络化管理,它能很好的满足各个行业的大多数企业的管理需要。

“进”的概念主要指进货,其功能主要有:制定进货计划和审批、询价、签订进货合同、合同执行跟踪及监督(包括运输、货物检验、处理纠纷等)、货款支付等;

“销”的概念主要指销售,其主要功能有:客户(分公司或代理商)信息管理、产品报价、订单(或合同)审核及执行跟踪、发货通知、到款信息等;

“存”的概念主要指入、出库管理,其主要功能有:原材料、半成品、成品入、出库通知管理、物品状态(入、出库时间、存放地点、物品外观、性能状态等)管理等。

“进、销、存”的概念主要指上述子系统的综合平衡管理,其主要的功能有:将上述子系统作为自身的数据源并根据需要从中汲取数据;提供综合查询和统计报表功能;根据创建的模型进行企业物流管理方面的预测和提供决策支持方面所需的信息。

系统的设计目标: 1、完备的功能

系统应该提供企业进销存管理中的货品进货、销售、库存、帐务管理等基本功能,还应该提供多种成本核算方法(移动加权平均法、先进先出法、后进先出法、手工录入法)和多种单据格式(简单、折扣、税票A、税票B),并可预设商品数量、单价、金额等小数保留位数,满足客户不同需求;还提供超储和短缺预报警以及商品保质期功能,实现合理控制库存,加快资金周转,降低存货成本,基本做到合理配置企业资源;完成商品外购入库、销售出库、盘盈、盘亏、商品调拨、商品拆分、借进、借出、赠送、获赠等多项业务,对企业商品进行全面的控制和管理。

2、方便的查询

系统应该提供准确、及时的决策数据,可按商品类别查询,清楚地反映商品的库存量及商品分布情况;可按单据类型或编号查询,随意查阅企业所发生的业务历程;也可按往来单位查询,了解企业与各往来单位的业务情况;还可按经办人、附加说明、单据摘要等进行查询。

3、简单易用的操作界面

VIII

系统应该采用人性化设计理念,直观的图形界面模拟手工格式、完善的流程向导、所见即所得的单据录入格式、无需记忆的代码组合,任何人员无需进行专业培训也能灵活操作。

4、良好的通用性

企业对进销存系统的需求具有普遍性。本系统应该可以适应中小型企业集团内部管理的需要。

5、强大的安全性能

系统应该提供严密的流程控制,有效保证制单的正确性,提供严格的分权体系有效防止越权使用。提供数据备份/恢复及断点保护功能及时排除故障并恢复现场数据。

三、总结

现有手工核算管理有诸多劣势,而这种劣势是致命的,总体归纳起来大致有以下三点:

1、数据管理的劣势

一般情况,财务部门的成本数据归集都依靠手工操作进行,部门之间的成本数据的交换靠纸介质进行,无法进行成本数据的统计、分析、查询。

2、流程不规范的劣势

目前,中小企业在项目成本核算工作中面临的一个普遍现象是操作流程不规范,从而造成了企业的隐患。

3、数据利用劣势

以前,由于相对落后的成本管理手段,在决策时缺乏对成本对象的“定量”分析(一般只能作定性的分析),使得决策往往靠管理者的个人经验积累。

概括的讲,企业对进销存系统的需求具有普遍性。企业应用进销存可有效减少盲目进货,降低进货成本,合理控制库存,减少资金占用并提高市场灵敏度,提升企业市场竞争力。在网络化,信息化飞速发展的今天,开发一套进销存管理系统作为软件应用平台,构建一个业务与财务一体化,多个环节一体化的进销存管理系统有着重要的现实意义。

四、参考文献

[1]黄文劭,杨宗璟,实战Visual Basic.NET 2003进销存系统,:中国铁道出版社,2004

IX

[2]高彩凤,店铺商品管理进、销、存,北京:中国发展出版社,2009

[3]凯际资讯工作室,Access进销存管理数据库开发,北京:中国青年出版社,2006 [4]姜然,中小企业进销存管理,北京:中国纺织出版社,2006 [5]甘仞初,信息系统分析设计与管理,北京:高等教育出版社,2009

[6]埃弗雷姆.特班,杰伊 E. 阿伦森,梁定澎,决策支持系统与智能系统(原书第7版),北京:机械工业出版社,2009

[7]斯蒂芬.哈格,梅芙.卡明斯,信息时代的管理信息系统(原书第6版),北京:机械工业出版社,2007

[8]大卫·辛奇—利维(David Simchi-Levi)等,供应链设计与管理:概念、战略与案例研究,北京:中国财政经济出版社,2004

[9]唐纳德.沃尔特斯(Donald Waters),库存控制与管理(原书第2版),北京:机械工业出版社,2005

[10]道格拉斯 A. 林德,威廉 G. 马歇尔,塞缪尔 A. 沃森,商务与经济统计方法:全球数据集(原书第13版),北京:机械工业出版社,2009

[11]肯尼思 C. 劳东,简 P. 劳东,管理信息系统(第7版),北京:中国人民大学出版社,2009

X

摘要

中小企业在我国经济发展中具有重要地位,目前我国的中小企业数量多,地区分布广泛,行业分布跨度大。随着全球经济一体化的发展和电子商务的兴起,中小企业之间的竞争将越来越激烈。网络及电子商务的迅猛发展突破了时间、空间的局限性,给中小企业带来了更多的发展机会,同时也增大了企业之间的竞争强度。这就要求中小企业必须改变企业的经营管理模式,提高企业的运营效率。目前,我国中小企业的信息化水平还很低,相比国外企业,还只处于刚开始始用的阶段。随着技术发展,电脑操作及管理日趋简化,电脑知识日趋普及,同时市场经济快速多变,竞争激烈,企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。

此设计首先分析了进销存管理系统在信息时代的重要作用,随后针对经济和科技等诸多因素进行分析。对实现此系统的技术、经济和管理可行性做了深入分析。最后总体介绍了超市进销存管理所包括的基本功能模块,并详细阐述了器主要功能、设计思路及实现方法。

管理信息系统是一个由人和计算机等组成的能进行信息收集、传输、加工、保存、维护和使用的系统。它能实测国民经济部门或企业的各种运行情况,能利用过去的数据预测未来,能从全局出发辅助决策,能利用信息控制国民经济部门或企业的活动,并帮助其实现规划目标。

本系统主要通过使用管理信息系统(MIS)的方法,对公司的日常业务处理和信息资源进行全面、系统的管理。在整个系统开发的过程中,运用了软件工程的基本概念、相关技术和方法。并且采用了系统生命周期的结构化程序设计方法,从而将整个系统开发各阶段(系统分析、系统设计、系统实施)的基本活动贯穿起来。

本系统希望能够通过进销存管理信息系统的建立,理顺企业的信息流程和流向,使企业的经营管理更加完善,使所有职能部门的管理人员在信息系统的辅助下进行工作,提高管理的整体水平;希望能够在现有的人力、物力、财力的基础上,进一步的发挥出企业的优势,使得企业能够扩大市场占有率,提高公司的竞争能力。 关键词:数据库、进销存管理、管理系统、Access、SQL

XI

Abstract

Small and medium-sized enterprises in china's economic development has an important position, our smes large quantity, area are widely distributed span, the industry. with the global economic integration and the development of e-commerce, the competition between smes will become more competitive. networks and electronic commerce has developed rapidly breakthrough time and space limitation, to give smes with more opportunities of development and also increase the intensity of competition between.This requires that smes have to change the enterprise management, improve the operational efficiency. at present, our smes in the informatization level is very low compared with foreign enterprises and in the beginning of the beginning. with technological development, computer operation and management are increasingly simplified, computer knowledge is becoming increasingly popular, and a market economy, competition, enterprises have a supply, storage management, marketing, too many areas have become a trend and inevitable.

The design first to sell in the management system in the information age an important role in economic and technology, analyzes on many factors. to implement this system of the technical, economic and management of the feasibility to further analysis. the last general introduced into the sales in supermarkets manage the basic functions include modules, and elaborated on the main functions and design and implementation.

Management information system is a man and wait for the computer to information collection, transport, processing and preservation and maintenance and use the system. it can mapping departments and enterprises of the economy of operation can use the data can predict the future, the overall situation, make use of supplementary information and control of the department or business activities and help the planning objectives.

This system is mainly through the use of management information system ( mis ) way, the daily business and information resources management. overall, system throughout the system development, the use of software engineering concepts, related basic techniques and methods and adopt a system of the life cycle structured programming methods, freeing the entire system development of each phase ( systems analysis, systems and systems in basic activities ) aspect.

This system to be sold by the management information systems in enterprises and straighten out the flow and flow of information and enterprise management was more complete and all staff management in information systems support the work, the overall level ; hope that the existing manpower, material and financial resources on the basis of the further role of the enterprises, enterprises to expand the market share,

XII

and improve the company's competitive edge.

Keywords:Database, into market for administration and management system, access, sql

XIII

绪 论

经济大环境的变化使得规模经济的优势不再突出。固定的硬设备、人员数量、大量资金等资源投入占企业效益的比重变少,而软投入如管理、人力资源价值、服务、品牌附加值、渠道等要素资源的投入却能增加企业的效益。“速度冲击规模”的速度经济概念已经向企业提出。

那么对于日益发展壮大的企业,怎样才能找到一套功能强大、可任意拓展、低运行成本、安全可靠的管理解决方案,来跟上企业的发展,跟上时代的发展呢?

随着业务量的逐渐增长,业务范围的不断扩大,特别是中国进入WTO之后,市场竞争日趋激烈,企业需要更多的人力、物力、财力以稳固并拓展商品在市场的销售额。如何更加有效地管理产品的进、销、存已成为重要的决策事项。传统的信息管理的主要方式是基于文本、表格等纸介质的手工处理,信息处理工作量大,查询困难。为了使管理工作科学化、规范化,为了降低管理成本,实现管理现代化,扩大市场的竞争优势,可以通过建立管理信息系统,提高企业现有资源的利用率, 使企业管理工作规范化、制度化和程序化,避免业务管理的随意性,提高信息处理的速度和准确性,及时、准确地把握企业内部、市场和其他外部信息,以提高领导决策的水平。

“进销存管理系统”主要是为企业的经营活动提供信息服务,它涵盖了采购部门、销售部门和仓库的各项管理工作,涉及多方面的职能。系统能够对客户信息管理、订单管理、报价单管理、供应商管理、出货管理等信息提供存储、更新、查询、统计的功能,使企业能够合理控制进销存各个环节,提高资金的利用率和结算速度,实现管理的高效率、实时性、安全性、科学化、现代化和智能化。

1

1 进销存管理系统分析

1.1 需求分析

传统的信息传递和管理方式不仅效率低,可靠性、安全性和保密性也无法满足要求,而且数据统计时间严重滞后,往往是当领导了解到企业的“进、销、存”出现问题时,早已产生了严重的后果。即使是没有分公司的企业,使用传统的手工方式管理也存在同样的问题:信息化不足,计算机使用率低,大量的日常工作皆是手工处理,导致工作效率低落,企业内部沟通不良等等问题很难克服,仓库管理很不合理,不能及时根据需要调整库存。而且在手工管理的情况下,销售人员很难对客户做出正确的供货承诺,同时企业的生产部门也缺少一份准确的生产计划,目前的生产状况和市场的需求很难正确反映到生产中去。这在激烈的市场中是非常不利的。

通过需求分析,要求系统需要具有以下功能:

1.由于操作人员的计算机知识普遍较差,要求有良好的人机界面; 2.方便的数据查询; 3.基础信息管理与查询;

4.通过计算机,能够直接“透视”仓库存储情况; 5.完善的商品采购信息、商品销售信息管理; 6.方便、健全的结账功能; 7.图表分析销售状况; 8.商品销售排行统计;

9.数据计算自动完成,尽量减少人工干预。

1.2 可行性分析

可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计以及粗略的市场调查得出以下四点的可行性分析:

1)经济可行性:此系统在开发过程中将不会遇到经济上的困难,系统的设计与实现是在PC上完成,所以,该系统的实现在“经济上是可行的”。

2)技术可行性:操作系统:Windows XP操作系统。

2

Web服务器:Windows自带的IIS。

开发语言:HTML、JavaScript、ASP、SQL。

开发工具:Dreamweaver、Sybase Power Design、Rational Rose。 数据库:Microsoft Access。

数据库的连接技术:Microsoft ADO(ActiveXDataObjects)。 所以,该系统的实现在技术上是可行的。

3)运行可行性:即该平台规定的运行方式是否可行。此系统可运行于Windows操作系统,对计算机的硬件性能要求不高,所以,该系统在运行方面是可行的。

4)法律可行性:即该平台的开发会不会在社会上引起侵权或其它责任问题。因为该系统是个人毕业设计,它是自主开发的,与商业无关,因此不会构成侵权等问题,在法律上是可行的。

通过以上分析,将采用Windows + IIS +ASP+ Access对系统进行建设。

1.3 开发工具

IBM Rational Rose:UML 建模工具。 IIS:提供Web服务器环境。

Sybase Power Design:数据库建模工具。 Microsoft Access:数据库。

Macromedia Dreamweaver: 开发环境。

Microsoft Office Visio:图形设计(流程图、功能图等)。 Microsoft Office Project:项目进度设计。

3

2 开发平台及语言介绍

2.1 Dreamweaver

Dreamweaver是美国Macromedia公司开发的集Web页制作和管理网站于一身的所见即所得Web页编辑器,它是第一套针对专业Web页设计师的视觉化Web页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的Web页。 说到Macromedia公司大家不会感到陌生,著名的多媒体开发工具Authorware和Director均出自该公司的旗下,以及目前在互联网(Internet)上越来越流行的网络多媒体开发工具Flash也是出自该公司的旗下。而Dreamweaver则是Macromedia公司继Flash以后向互联网(Internet)推出的又一梦幻工具。Dreamweaver、Flash以及在Dreamweaver推出的针对专业 Web页图像设计的Fireworks,被称为“网络三剑客”。

Dreamweaver最大的优点就是所见即所得,并且对W3C网页标准化支持十分好,同时它还支持网站管理,包含HTML检查、HTML格式控制、HTML格式化选项、HomeSite/BBEdit捆绑、图像编辑、全局查找替换、全FTP功能、处理Flash和Shockwave等富媒体格式和动态HTML,而且还支持ASP、JSP、PHP、ASP.NET、XML等程序语言的编写与调试。

2.1.1HTML

HTML(Hyper Text Markup Language 超文本标记语言)是一种用来制作超文本文档的简单标记语言。用 HTML 编写的超文本文档称为 HTML 文档,它能独立于各种操作系统平台(如 UNIX,WINDOWS 等)。自 1990 年以来 HTML 就一直被用作 World Wide Web 上的信息表示语言,用于描述 Homepage 的格式设计和它与 WWW 上其它 Homepage 的连结信息。

HTML文档(即 Homepage 的源文件)是一个放置了标记的ASCII文本文件,通常它带有.html 或.htm 的文件扩展名。生成一个HTML 文档主要有以下三种途径:

1)手工直接编写(例如用你所喜爱的 ASCII 文本编辑器或其它 HTML的编辑工具)。

2)通过某些格式转换工具将现有的其它格式文档(如WORD)转换成HTML文档。 3)由Web服务器(或称 HTTP 服务器)一方实时动态地生成。

HTML语言是通过利用各种标记(tags)来标识文档的结构以及标识超链(Hyperlink)

4

的信息。虽然HTML语言描述了文档的结构格式,但并不能精确地定义文档信息必须如何显示和排列,而只是建议Web浏览器(如Mosiac,Netscape等)应该如何显示和排列这些信息,最终在用户面前的显示结果取决于Web浏览器本身的显示风格及其对标记的解释能力。这就是为什么同一文档在不同的浏览器中展示的效果会不一样。

2.1.2CSS

Web管理组织W3C在1996年11月推荐使用CSS,并批准了CSS 1级规范。CSS 1级规范说明了用于HTML页面的属性。这些属性代替了传统的字体标签和其他“样式”标记,例如颜色和边距。1998年5月,W3C批准了CSS 2级规范,将一些附加功能添加到1级规范,并引进了定位属性。这些属性代替了表格标签普遍(但是错误)的用法,用来设计页面元素的表示。CSS规范的最新版本是CSS 2.1,它改进了某些属性,并删除了在当前浏览器里没有作用或作用很小的属性。

不幸的是,就像很多新技术一样,CSS经历了漫长的过程才被广泛采纳。其中的重要原因在于浏览器,以及为这些浏览器建立站点的Web设计者们。CSS批准期间,Netscape Navigator(NN)仍然是主导浏览器,而该浏览器基本上不支持CSS。Microsoft在其第3版浏览器中添加了对CSS非常有限的支持,但当时大多数的Web设计者仍然将NN作为首选平台进行页面编码。

但是为什么W3C认为需要创建CSS规范呢?当创建基于HTML的Web站点和应用程序时,这一切又意味着什么呢?我认为,我们需要使用CSS的理由以及它带来的优势可以分为以下三个主要方面:灵活性、呈现性和可访问性。

灵活性:

几乎每个Web设计者和开发者都经历过这样的痛苦时刻:小心地布置好页面,完成所有嵌套的表格后,要求进行一点“小小的”更改。这小小的更改可能只是“能不能把那个图形稍稍往左移动一点?”,也可能非常富有戏剧性:“我不喜欢这些标题,能把它们的字体弄大一点吗?改字体的时候,顺便把颜色也改了,怎么样?”如果只需要处理有限的几个页面,可以深吸一口气,花上大半个小时做那些让人恼火的改动。但如果涉及到较大的站点(而这已经很常见),一个简单的更改无论如何也简单不了。

这样的情形为什么会如此痛苦呢?因为定义页面外观的标记本身就是页面的一部分。要看到实例,只需到任何站点的任何页面上去数一下font和table标签的数量。只要能够从实际页面的流程(或代码)中删除这些标记,或者采用更好的办法,即将其外置,就可以进行集中更改。而这就是CSS所能做的。

5

如果使用一个或多个外部样式表,通过修改样式表然后将修改后的版本上载,就可以将更改应用到站点。

想象一下,在传统的基于表格的布局中,将站点浏览从页面左侧移到页面右侧将有多么困难。这需要几个小时重复而乏味的工作。但是,如果选择使用CSS的定位属性(通常称作CSS-P)来设计页面,只需更改外部样式表中的“浮动”或“位置”属性,即可更新页面。而且还有以下附加优势:更新了站点中使用该样式的所有页面。

呈现性:

由于宽带的广泛使用,很多开发者已经不再考虑在浏览器中呈现页面所花费的时间。但是,应该记住,很多目标用户仍然在使用拨号连接。传统的基于表格的布局是页面下载速度慢的主要原因。因为浏览器从服务器接收页面时,必须首先检查并“理解”一系列复杂的镶嵌式表格。它必须先找到镶嵌在最里面的内容,然后小心地逐步处理代码,直至到达最外层的容器,即body标签。完成以上所有过程后,浏览器才能开始在屏幕上呈现内容。

如果使用CSS,浏览器从服务器接收内容后,立刻就可以开始呈现过程,因为页面中没有或只有很少的显示标记。

使用外部样式表还有一个潜在的呈现方面的好处。在传统的基于表格的方法中,浏览器必须检索、分析并单独呈现每个页面。也就是说,浏览器在站点上显示第30页时耗费的工作和显示第1页时一样多。

但是,如果使用外部样式表进行显示,站点的第一页将提示浏览器将页面使用的已链接样式表文件缓存起来。这意味着站点中所有使用上述样式表的后继页面下载速度会更快,因为浏览器已经缓存了样式表。

最后一个与呈现有关的优点让容易让人想起电影《莫扎特》。电影中,莫扎特问国王对自己的歌剧有什么看法。国王说很好,但是很沉闷。莫扎特一再追问,国王解释说,问题就在于“音符太多”。Web设计也可能有同样的问题,当然这里的音符指的是实际HTML代码。代码越多,浏览器理解页面所花的时间就越长。

大家也许都听说过有关官方应用程序的传言,它们编写了非常糟糕的代码,满是复杂的信息,然而文档页面却无法呈现。典型的基于表格的设计就是一个很好的例子。

在设计中使用CSS后,将减少客户需要下载的代码的数量。仅仅减少某些页面中的字体标签就可以大大减少代码的数量。在很多情况下,如果完全使用CSS-P进行设计,代码的数量最多可以减少50%甚至更多。代码减少就意味着页面下载的速度加快。

6

可访问性:

如今经常可以听到人们谈论可访问性。大多数开发者知道自己必须考虑建立更多可访问站点的问题,但在更大的程度上,只有为政府或教育机构建立站点的开发人员才被迫真正做到了这一点。考虑到可访问性的问题时,大多数开发人员认为这仅仅意味着需要将alt属性添加到图形中。但实际上,提高可访问性有很多工作可做,CSS使大家可以轻松建立可访问站点。

可访问性的主要问题(也是使用CSS能够解决的问题)在于辅助技术(例如屏幕阅读器)怎样“阅读”页面。传统的基于表格的环境下,屏幕阅读器面临一个巨大的挑战,那就是决定怎样阅读页面。想想吧,当屏幕阅读器遇到镶嵌很深的表格时该有多么困惑,它应该阅读内容,还是跳过内容?跳过内容后,以后怎样返回内容?

当您点击页面时,您会很快看到页面中自己感兴趣的内容,而忽略页面顶部的导航和其他内容。视力不太好的人却做不到这一点。他必须等待屏幕阅读器分析完页面顶部和他感兴趣的内容之间所有复杂的信息。

当然,有的技术能够使屏幕阅读器跳过导航,但这需要在导航条或其他内容的图像中添加链接。这些技术的运行可能会造成混乱,而且访问站点的其他人也能够看到它们。使用CSS,能够在页面中完整定义不可视元素(对于其他站点访问人员和您的鼠标不可视)。屏幕阅读器可以使用这些元素快速导航,有效处理文档。

由于CSS没有显示标记,屏幕阅读器所遇到的唯一问题就是实际内容。另外,当使用CSS-P进行设计时,大家将专注于内容的实际“流”。开始考虑它在页面上的逻辑顺序。

当您阅读本文档时,您理解了信息“流”。但在镶嵌型表格的示例中,如果使用多栏布局,本段落将很可能位于页面的右上角。那样,屏幕阅读器无法知道它应该在文章末尾阅读本段落。

使用CSS-P后,浏览器可能仍将本段落显示在浏览器窗口的右上角,但当您查看文档的源代码时,段落在文档的HTML中仍然是您现在所看到的位置。这使页面更容易访问。

2.1.3JavaScript

JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言一起实现在一个Web页面中连接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或

7

调入到标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,它具有以下几个基本特点:

1、是一种脚本编写语言

JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,JavaScript同样也是一种解释性语言,它提供了一个简单的开发过程。它的基本结构形式与C、C++、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释执行。它与HTML标识结合在一起,从而方便用户的使用操作。

2、基于对象的语言

JavaScript是一种基于对象的语言,同时以可以看作一种面向对象的。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。

3、简单性

JavaScript的简单性主要体现在:首先它是一种基于Java基本语句和控制流之上的简单而紧凑的设计,从而对于学习Java是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。

4、安全性

JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。

5、动态性

JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页(Home Page)中执行了某种操作所产生的动作,就称为“事件”(Event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。

6、跨平台性

JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。从而实现了“编写一次,走遍天下”的梦想。实际上JavaScript最杰出之处在于可以用很小的程序做大量的事。无须有高性能的电脑,

8

软件仅需一个字处理软件及一浏览器,无须WEB服务器通道,通过自己的电脑即可完成所有的事情。

综合所述JavaScript是一种描述语言,它可以被嵌入到HTML的文件之中。JavaScript语言可以做到回应使用者的需求事件(如:Form的输入),而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给服务端(Server)处理,再传回来的过程,而直接可以被客户端(Client)的应用程序所处理。

2.1.4ASP

动态服务器网页(Active Server Pages),由微软公司开发的服务器端运行的脚本平台,它被Windows下Internet Information Services(IIS)的程序所管理。通过ActiveX Server的技术让不同的用户能有不同的画面,或需要让他们可以访问服务器(Server)上的数据时,使用ASP3.0中提供了五个自带的对象创建模拟和安全性的动态内容,来协助程序员隐藏复杂的沟通机制,让程序员可以专注在解决问题和应用之上,这样可以更快速地开发动态网页的同时每一个组件都是可以由一组富有经验的程序员根据动态网页最常用的功能而独立开发。

五个组件包括:

* Application:在一个ASP-Based Application让不同用户共享信息 * Request:从用户处理取得信息 * Response:将信息送给用户 * Server:提供一些Web Server的工具 * Session:存储在一个Session内用户的信息

通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。同时,ASP也支持VBScript和JavaScript等脚本语言,默认为VBScript。

ASP是经过服务器解析之后再向网页浏览器返回数据,所以有了ASP就不必担心客户的浏览器是否能运行你所编写的代码。因为所有的程序都将在网页服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。

由于代码是需要经过服务器执行之后才向浏览器发送的,所以在客户端看到的只能是经过解析之后的数据,而无法获得源代码,故编写者不用担心自己的源代码会被别人剽窃。但不排除黑客利用系统漏洞窃取服务器端的ASP源代码。

9

基于这样的解析方式,也导致运行ASP页面相对于普通的HTML页面要慢一点。因为普通的HTML页面只需要浏览器就能够解析,而ASP则必须是服务器将整页的代码都执行一遍之后再发送数据。

ASP提供与数据库的交互,如Microsoft SQL Server、Microsoft Access、MySQL和Oracle,比较流行的是ASP和Microsoft SQL Server的组合。

ASP的特点是:

1、无须编译:容易产生,无须编译或链接即可执行。集成于HTML中。使用常规文本编辑器,如Windows的记事本,即可设计。

2、与浏览器无关(Browser Independence):用户端只要使用常规的可执行HTML玛的浏览器,即可浏览Active Server Pages所设计的主页内容,Script语言(VBScript、JavaScript)是在站点服务器(Server端)执行,用户不需要执行这些Script语言。

3、面向对象(Object Orient):可通过ActiveX Server Components(ActiveX服务器组件)来扩充功能。ActiveX Server Component,可使用Visual Basic、Java、Visual C++、COBOL等语言来实现。

4、与任何ActiveX Scripting语言兼容:除了可使用VBScript或JavaScript语言来设计,并可通过Plug-in的方式,使用由third party所提供的其他譬如REXX、perl、Tcl等Scripting语言。Script引擎是处理Script的COM(Component Object Model)对象。

5. ASP脚本服务器解析:可以保护辛辛苦苦写出来的源程序不会外泻。传到用户浏览器的是Active Server Pages执行的结果的常规HTML码。使用Server端Script产生Client端Script,你可以使用ASP程序码,在站点服务器执行Script语言(VBScript或JavaScript),来产生或更改在Client端执行的Script语言。

2.2 Access

Access是Office系列软件中用来专门管理数据库的应用软件,它可以运行于各种Windows系统环境中。由于Access继承了Windows的特性,不仅易于使用,而且界面友好,因此被用户广泛采用。

Access使用SQL(Structured Query Language,结构化查询语言)作为它的数据库语言,从而提供了强大的数据处理能力和通用性,使其成为一个功能强大而且易于使用的桌面关系型数据库管理系统和应用程序生成器。一个Access数据库可以包含表、查询、窗体、报表、宏、模块以及数据访问页,不同于传统的桌面数据库(DBase、 FoxPro、

10

Paradox),Access数据库使用单一的*.mdb文件管理所有的信息,这种针对数据库集成的最优化文件结构不仅包括数据本身,也包括了它的支持对象。

SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle、Sybase、Informix、SQL Server这些大型的数据库管理系统,还是像Visual FoxPro、PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。

Structured Query Language包含4个部分:数据查询语言DQL-Data Query Language:SELECT;数据操纵语言DQL-DataManipulation Language:INSERT、UPDATE、DELETE;数据定义语言DQL-Data Definition Language:CREATE、ALTER、DROP;数据控制语言DQL-Data Control Language:COMMIT WORK;ROLLBACK WORK。

2.3 ADO

ActiveX Data Objects(ADO)是Microsoft的数据访问技术。是Microsoft为数据访问范例OLE DB而设计的,是一个便于使用的应用程序层接口。它被设计用来同数据访问层OLE DB Provider一起协同工作,以提供通用数据访问(Universal Data Access)。OLE DB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象。

ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation封装接口。对那些熟悉RDO的程序员来说,你可以把OLE DB比作是ODBC驱动程序。如同RDO对象是ODBC驱动程序接口一样,ADO对象是OLE DB的接口;如同不同的数据库系统需要它们自己的ODBC驱动程序一样,不同的数据源要求它们自己的OLE DB提供者(OLE DB Provider)。微软正积极推广该技术,并打算用OLE DB取代ODBC。

ADO使开发者能够通过OLE DB提供的接口编写应用程序以访问和操作数据库服务器中的数据。ADO最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。ADO在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。之所以称为ADO,是用了一个比较熟悉的暗喻,OLE自动化接口。

OLE DB是一组“组件对象模型”(COM) 接口,是新的数据库低层接口,它封装

11

了ODBC的功能,并以统一的方式访问存储在不同信息源中的数据。OLE DB是Microsoft UDA(Universal Data Access)策略的技术基础。OLE DB为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。也就是说,OLE DB并不局限于ISAM、Jet甚至关系数据源,它能够处理任何类型的数据,而不考虑它们的格式和存储方法。在实际应用中,这种多样性意味着可以访问驻留在Excel电子数据表、文本文件、电子邮件/目录服务甚至邮件服务器,诸如Microsoft Exchange中的数据。但是,OLE DB应用程序编程接口的目的是为各种应用程序提供最佳的功能,它并不符合简单化的要求。我们需要的API应该是一座连接应用程序和OLE DB的桥梁,这就是ActiveX Data Objects(ADO)。

ADO向程序员提供了很多好处。包括易于使用,熟悉的界面,高速度以及较低的内存占用。以前的对象模型,如DAO和RDO是层次型的。也就是说一个较低的数据对象如Recordset是几个较高层次的对象,如Environment和QueryDef的子对象。在创建一个QueryDef对象的实例之前,你不能创建DAO Recordset对象的实例。但ADO却不同,它定义了一组平面型顶级对象。最重要的三个ADO对象是Connection、Recordset和Command。每个Connection的属性定义了与数据源的连接。Recordset对象接收来自数据源的数据。Recordset可以与Connection一起起使用,先建立一个连接,然后获取数据。尽管如此,Recordset也可以被单独创建,其Connection参数可以在Open属性定义。也可以只创建一个“Connection”对象,但是可以有多个,独立的“Recordset”对象来使用它。ADO针对客户/服务器以及WEB应用程序作了优化。

12

3 进销存管理系统的设计

3.1 总体设计

3.1.1总体设计标准

简单性:不仅应实现所要求的功能,平台还应简单易懂,便于管理者的使用。 实用性:系统应该完成进销存信息的录入、管理、统计等基本功能,实现需求。 友好性:用户界面应友好,美观,满足大众审美观。 3.1.2 系统功能分析

经过系统功能分析,得到如图所示的系统功能模块图:

进销存管理系统 系统管理模块

基本信息设置 采购管理模块 销售管理模块 库存管理模块 财务管理模块 统计报表模块 帮助模块 各个功能模块分析:

采购管理模块:进行商品采购入库,采购退货,进/退单据和当前库存查询,与供货商的往来帐务。

销售管理模块:进行商品销售,顾客退货,销/退单据和当前库存查询,与客户的往来帐务。

库存管理模块:包括库存之间商品调拔,商品的报损溢,强大的库存盘点功能,库存商品报警查询。

统计报表管理模块:完整的统计查询功能,每张单据每次收款付款都可以清楚的反映。 财务管理:对供货商,客户的往来帐务管理,对日常收入支出管理,员工工资管理。 基本信息设置:商品信息,供货商,客户,员工,仓库等基本参数的设置。 系统管理模块:可以对数据库备份/恢复,系统初始化,添加操作员,操作员修改密码,年终结算,查看日志。

13

3.2 数据库设计

3.2.1数据准备 1)库存数据准备

库存需要的测试数据颇多,数据真实取材,用以仿真投入使用后的运行环境,降低交付风险。

2) 库存数据的分类管理

库存的货品信息是繁多的,简单的进行排列组合并不能有效的对库存进行管理,此时就需要根据库存的特征,型号等因素对货品进行分类管理。

3) 销售信息表的制定

销售信息表要求存储各销售人员的销售信息,以便随时进行管理,查询。同时也是库存管理及分析的依据。

4) 每日的信息总计表

总计表的提出,可以有效的降低查询、管理库存信息或进行统计分析时的系统资源占用,加快系统的操作响应速度,并为统计分析提供了依据。

3.2.2数据库设计 3.2.2.1营业员信息表 Seller 字段名称 ID SName State BSalary Commission PTime

3.2.2.2系统定制化配置表 System 字段名称 TaxRate

数据类型 自动编号 文本 是/否 货币 数字 日期/时间 说明 主键,ID,系统自动生成 姓名 在职状态 基本工资 销售提成比例 上次工资发放日期 数据类型 数字 发票税率 说明 14

StockS StockM StockL Stock1XL Stock2XL Stock3XL Stock4XL Stock5XL StockFTime

3.2.2.3库存表 Product 字段名称 ID PName NumS NumM NumL Num1XL Num2XL Num3XL Num4XL Num5XL LastSell

数字 数字 数字 数字 数字 数字 数字 数字 数字 S号库存预警数量底线 M号库存预警数量底线 L号库存预警数量底线 1XL号库存预警数量底线 2XL号库存预警数量底线 3XL号库存预警数量底线 4XL号库存预警数量底线 5XL号库存预警数量底线 怠销库存预警时间底线 数据类型 自动编号 文本 数字 数字 数字 数字 数字 数字 数字 数字 日期/时间 说明 主键,ID,系统自动生成 名称 S号库存数量 M号库存数量 L号库存数量 1XL号库存数量 2XL号库存数量 3XL号库存数量 4XL号库存数量 5XL号库存数量 最后售出时间 3.2.2.4库存索引表,按库存类型及成本索引 Inventory

15

字段名称 ID PID Type Num Price

3.2.2.5资产总计表 TotalAsset 字段名称 TDate TMoney Invoice I0Money I1Money I1BMoney

3.2.2.6销售总计表 TotalSell 字段名称 TDate SID TMoney Invoice SNum

3.2.2.7收入总计表 TotalRevenue

数据类型 自动编号 数字 是/否 数字 货币 说明 主键,ID,系统自动生成 库存物品的ID 是否为代销型库存 库存数量 单价 数据类型 日期/时间 货币 货币 货币 货币 货币 说明 历史记录日期 现金结余 发票结余 现金货库存价值 代销货库存价值 代销货待结货款 数据类型 日期/时间 数字 货币 货币 数字 说明 历史记录日期 营业员ID 现金销售额 发票销售额 销售数量

16

字段名称 TDate TMoney Invoice

3.2.2.8支出总计表 TotalPayout 字段名称 TDate TMoney

数据类型 日期/时间 货币 货币 说明 历史记录日期 现金收入额 发票收入额 数据类型 日期/时间 货币 说明 历史记录日期 现金支出额 3.2.2.10销售进账记录表 RevenueSell 字段名称 ID RDate SID PID NumS NumM NumL Num1XL Num2XL Num3XL Num4XL Num5XL RMoney

数据类型 自动编号 日期/时间 数字 数字 数字 数字 数字 数字 数字 数字 数字 数字 货币 说明 主键,ID,系统自动生成 销售时间 营业员ID 库存物品ID S号销售数量 M号销售数量 L号销售数量 1XL号销售数量 2XL号销售数量 3XL号销售数量 4XL号销售数量 5XL号销售数量 销售金额 17

Cost 货币 成本 IType 是/否 是否销售的代销库存 Type 是/否 是否发票销售

3.3 详细设计

3.3.1系统流程分析

3.3.2详细流程及模块设计

18

19

20

21

22

23

4 程序设计

4.1 SQL 代码编写

4.1.1表的创建

建立数据库最重要的一步就是定义一些基本表。SQL语言使用CREATE TABLE 语句定义基本表,其一般格式如下:

CREATE TABLE <表名> (<列名><数据类型> [列级完整性约束条件] [,<列名><数据类型> [列级完整性约束条件]]„„ [,<表级完整性约束条件>]);

其中<表名>是所要定义的基本表的名字,它可以由一个或多个属性(列)组成。建表的同时通常还可以定义与该表有关的完整性约束条件,这些完整性约束条件被存

入系统的数据字典中,当用户操作表中数据时由DBMS自动检查该操作是否违背这些完整性约束条件。如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级,附录中给出了用户表的T-SQL代码。

4.1.2存储过程

存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。

存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。

可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点: 1)可以在单个存储过程中执行一系列 SQL 语句;

2)可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句; 3)存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快; 4)存储过程的功能取决于数据库所提供的功能。 创建存储过程的一般格式是:

CREATE PROC [ EDURE ] procedure_name [ ;number ][ { @parameter data_type } [VARYING ] [ = default ] [ OUTPUT] ] [ ,...n ] [WITH

{ RECOMPILE |ENCRYPTION |RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ]

24

AS sql_statement [ ...n ]

存储过程名对于数据库及其所有者必须唯一,存储过程中可使用@标记来声明一个或多个参数,对于不需要的存储过程,可以使用Drop Procedure procedure_name来删除,修改用户信息的存储过程见附录[12]。

4.2 ASP 代码实现

使用Microsoft Visual Studio 2005来完成所有ASP.NET 代码的编写,部分主要代码如下。

4.2.1数据库连接

使用ADO技术对数据库进行存取。ADO中的Connection对象代表与底层数据供应程序的一个连接,它保持着数据供应程序的信息。在ASP应用环境下,Connection对象代表从Web服务器到数据库服务器的一个连接。Connection对象调用Open方法来实现与数据库的连接,它的语法如下:

Connection.Open [ConnectionString],[UserID],[Password],[Options]

Open方法的参数及说明:

参数 说明 包含连接细节的字符串。可以是ODBC ConnectionString DSN的名称、数据链接文件的名称或真实的连接细节。可选参数。 UserID 连接期间,用户使用的名字。覆盖连接字符串中提供的任何用户名。可选参数。 用户的口令。覆盖连接字符串中提供的任Password 何口令。可选参数。 可以是adAsyncConnect,指定异步地建立连接。忽略这个参数,则建立一个同步连接。Options 注:因为脚本语言不能接收来自ADO的事件,所以异步连接不用于ASP环境,一般忽略这个参数。

25

4.2.2数据的组织形式

使用JSON进行数据组织及描述。

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

JSON建构于两种结构:

* “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组(associative array)。

* 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

JSON具有以下这些形式:

对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。

数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

26

值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。

字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

字符串(string)与C或者Java的字符串非常相似。

27

数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。

空白可以加入到任何符号之间。

4.3AJAX 前台实现

AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是

28

一种创建交互式网页应用的网页开发技术。

4.3.1 HTML 的结构组织

定义文档中的分区及节(division/section)。把文档分割为独立的、不同的部分,作严格的组织。
是一个块级元素。这意味着它的内容自动地开始一个新行。换行是
固有的唯一格式表现。通过
的class及id来应用额外的样式。

使用

  • 来定义菜单,明确菜单的层次划分。

    使用表格来呈现数据。用

    标签定义表格。tr元素定义表格行,th素定义表头,td元素定义表格单元。并包括包括caption、col、colgroup、thead、tfoot以及tbody元素。

    系统主界面为container,包含menu及main两个子分区。 menu中描述菜单。划分出6个子节,每节下包含一个菜单列表。

    main为功能交互界面,分为totalAsset、totalIToM、totalRevenue、totalSell、totalPayout、inventory等20个子节,同一时间只展示1个子节,其他隐藏。

    4.3.2 JavaScript 操作 HTML

    HTML DOM定义了用于HTML的一系列标准的对象,以及访问和处理HTML文档的标准方法。通过DOM,可以访问所有的HTML元素,连同所包含的文本和属性。可以对其中的内容进行修改和删除,同时也可以创建新的元素。而JavaScript则可以用来操作它。

    通过appendChild、createElement和createTextNode方法来创建并插入元素。 4.3.3CSS 控制样式呈现

    CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。 selector {declaration1; declaration2; ... declarationN } 选择器是需要改变样式的 HTML 元素。 每条声明由一个属性和一个值组成。

    属性(property)是希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开。

    selector {property: value}

    下面这行代码的作用是将 h1 元素内的文字颜色定义为红色,同时将字体大小设置为 14 像素。

    在这个例子中,h1 是选择器,color 和 font-size 是属性,red 和 14px 是值。

    29

    h1 {color:red; font-size:14px;}

    下面的示意图展示了上面这段代码的结构:

    4.3.4XMLHttp 实现后台通信

    XMLHttpRequest 对象用于在后台与服务器交换数据。 XMLHttpRequest 对象能够:

    * 在不重新加载页面的情况下更新网页 * 在页面已加载后从服务器请求数据 * 在页面已加载后从服务器接收数据 * 在后台向服务器发送数据

    所有现代浏览器 (IE7+、Firefox、Chrome、Safari 以及 Opera) 都内建了 XMLHttpRequest 对象。

    通过一行简单的 JavaScript 代码,就可以创建 XMLHttpRequest 对象。 创建 XMLHttpRequest 对象的语法: xmlhttp=new XMLHttpRequest();

    老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象: xmlhttp=new ActiveXObject(\"Microsoft.XMLHTTP\");

    30

    结束语

    本次毕业设计历时两个月左右,由于自己之前一直没有接触过ASP,所以很多方面存在一定的陌生感,不过通过自己的学习,和指导老师的帮助,对ASP有了比较深入的了解,另外由于有C++的基础,所以学习也比较轻松,基本上掌握了ASP程序开发的主要方法,语法规则,但由于学习时间有限,只采用了简单的三层结构来完成此程序,很多地方区分得比较模糊,因此整体结构上感觉并不理想。

    设计主要使用HTML,后台代码由ASP完成,所有的数据库操作基本都由存储过程完成,大大的提高系统的安全性,所有的数据读取过程都封装在DBProc函数中,条理清晰,可实现系统的主要功能,并经过全面测试。

    总而言之整个设计过程中有过失落也有收获,为自己今后的工作学习都打下了良好基础,培养了自己实际动手的能力。

    31

    致 谢

    通过本次设计,学习到了很多课堂中没有的知识,对ASP,SQL都有了较深的认识,获得了宝贵的实践经验。

    毕业设计顺利完成,在此要感谢帮助我的毕业设计导师,关心我的同学,在整个毕业设计过程中他们给予了我很大的帮助。在毕业设计开始阶段,曾鹏老师给我确定了具有挑战性的毕业设计任务,自始至终给我的毕业设计给予了具体的督促和帮助,在数据库设计,类的描述,函数的实现,界面的设计方面,都给予了我宝贵的意见,悉心的指导,让我收益良多,最后的测试阶段,尽管他们工作繁忙,但仍然在百忙中抽空,为我的程序提出意见,进行测试,使得我顺利完成毕业设计任务。

    谨此向指导老师表示衷心的感谢和崇高的敬意,同时我也感谢所有给予帮助的校友,感谢他们的无私帮助和关爱。

    32

    参考文献

    [1]Nicholas C. Zakas,JavaScript高级程序设计(第2版),北京:人民邮电出版社,2010 [2]Joseph Sack,SQL Server 2005范例代码查询辞典,北京:人民邮电出版社,2008 [3]Michael Bowers,精通CSS与HTML设计模式,北京:人民邮电出版社,2008

    [4]康博创作室,动态WEB应用高级开发指南-ASP ADO和DHTML编程,北京:人民邮电出版社,2000 [5]Douglas Crockford,JavaScript: The Good Parts,南京:东南大学出版社,2009 [6]David Sceppa,Microsoft 编程系列,ADO编程技术,北京:清华大学出版社,2001 [7]Stephane Faroult,Peter Robson,SQL语言艺术,北京:电子工业出版社,2008 [8]王虹,Access数据库程序设计(第2版),北京:电子工业出版社,2009

    [9]Michael R. Groh,Joseph C. Stockman,Gavin Powell,Cary N. Prague,Michael R. Irwin,Jennifer Reardon,Access 2007宝典,北京:人民邮电出版社,2008

    [10]Jon Duckett,Web编程入门经典--HTML、XHTML和CSS(第2版),北京:清华大学出版社,2010 [11]Peter Lubbers,Brian Albers,Frank Salim,HTML5高级程序设计,北京:人民邮电出版社,2011 [12]Eric A.Meyer,CSS权威指南(第三版),北京:中国电力出版社,2007

    [13]Andy Budd,Simon Collison,Cameron Moll,精通CSS:高级Web标准解决方案(第2版),北京:人民邮电出版社,2010

    [14]林小志,CSS那些事儿:掌握网页样式与CSS布局核心技术,北京:电子工业出版社,2009 [15]谭云杰,大象--Thinking in UML,北京:中国水利水电出版社,2009

    33

    附录

    更新用存储过程:

    UPDATE Inventory SET Num = Num+[nNum] WHERE ID=[nID];

    UPDATE Product SET LastSell = [tsSellDate] WHERE ID=[nID] AND LastSell<[tsSellDate];

    UPDATE Product SET NumS = NumS+[nNumS], NumM = NumM+[nNumM], NumL = NumL+[nNumL], Num1XL = Num1XL+[nNum1XL], Num2XL = Num2XL+[nNum2XL], Num3XL = Num3XL+[nNum3XL], Num4XL = Num4XL+[nNum4XL], Num5XL = Num5XL+[nNum5XL], NumSum = NumSum+[nNumS]+[nNumM]+[nNumL]+[nNum1XL]+[nNum2XL]+[nNum3XL]+[nNum4XL]+[nNum5XL]

    WHERE ID=[nID];

    UPDATE Seller SET PTime = [tsPTime] WHERE ID>=[nID];

    UPDATE Seller SET State = [bState] WHERE ID>=[nID];

    UPDATE TotalAsset SET TMoney = TMoney+[mMoney], Invoice = Invoice+[mInvoice], I0Money = I0Money+[mI0Money], I1Money = I1Money+[mI1Money], I1BMoney = I1BMoney+[mI1BMoney]

    WHERE TDate>=[tsDate];

    UPDATE TotalPayout SET TMoney = TMoney+[mMoney] WHERE TDate=[tsDate];

    UPDATE TotalRevenue SET TMoney = TMoney+[mMoney], Invoice = Invoice+[mInvoice] WHERE TDate=[tsDate];

    UPDATE TotalSell SET TMoney = TMoney+[mMoney], Invoice = Invoice+[mInvoice], SNum = SNum+[nSNum]

    WHERE TDate=[tsDate] AND SID=[nSID];

    删除用存储过程: DELETE *

    34

    FROM Inventory WHERE ID=[nID];

    DELETE * FROM RevenueSell WHERE ID=[nID];

    查询用存储过程:

    SELECT ID, Type AS SType, Num, Price FROM Inventory WHERE PID=[nPID]

    ORDER BY Type DESC , Price;

    SELECT ID, Type AS SType, Num, Price FROM Inventory WHERE PID=[nPID]

    ORDER BY Type, Price DESC;

    SELECT COUNT(*) AS Num FROM PayoutClosPr;

    SELECT COUNT(*) AS Num FROM Payout;

    SELECT TOP 10 * FROM PayoutClosPr WHERE ID<[prvID] ORDER BY ID DESC;

    SELECT *

    FROM (SELECT TOP 10 * FROM PayoutClosPr WHERE ID>[prvID] ORDER BY ID) AS [%$##@_Alias]

    ORDER BY ID DESC;

    SELECT COUNT(*) AS Num FROM PayoutGoodsIn;

    SELECT TOP 10 PayoutGoodsIn.ID, PayoutGoodsIn.PDate, Product.PName AS PName,

    35

    PayoutGoodsIn.NumS, PayoutGoodsIn.NumM, PayoutGoodsIn.NumL, PayoutGoodsIn.Num1XL,

    PayoutGoodsIn.Num2XL, PayoutGoodsIn.Num3XL, PayoutGoodsIn.Num4XL, PayoutGoodsIn.Num5XL, PayoutGoodsIn.PMoney, PayoutGoodsIn.Type

    FROM PayoutGoodsIn INNER JOIN Product ON PayoutGoodsIn.PID=Product.ID WHERE PayoutGoodsIn.ID<[prvID] ORDER BY PayoutGoodsIn.ID DESC;

    SELECT *

    FROM (SELECT TOP 10 PayoutGoodsIn.ID, PayoutGoodsIn.PDate, Product.PName AS PName, PayoutGoodsIn.NumS,

    PayoutGoodsIn.NumM,

    PayoutGoodsIn.NumL,

    PayoutGoodsIn.Num1XL,

    PayoutGoodsIn.Num2XL, PayoutGoodsIn.Num3XL, PayoutGoodsIn.Num4XL, PayoutGoodsIn.Num5XL, PayoutGoodsIn.PMoney, PayoutGoodsIn.Type FROM PayoutGoodsIn INNER JOIN Product ON PayoutGoodsIn.PID=Product.ID WHERE PayoutGoodsIn.ID>[prvID] ORDER BY PayoutGoodsIn.ID) AS [%$##@_Alias]

    ORDER BY ID DESC;

    SELECT TOP 10 * FROM Payout WHERE ID<[prvID] ORDER BY ID DESC;

    SELECT COUNT(*) AS Num FROM PayoutPayoff; SELECT

    TOP

    10

    PayoutPayoff.ID,

    PayoutPayoff.PDate,

    Seller.SName

    AS

    SName,

    PayoutPayoff.BSalary, PayoutPayoff.Commission, PayoutPayoff.SOther

    FROM PayoutPayoff INNER JOIN Seller ON PayoutPayoff.SID=Seller.ID WHERE PayoutPayoff.ID<[prvID] ORDER BY PayoutPayoff.ID DESC;

    SELECT *

    FROM (SELECT TOP 10 PayoutPayoff.ID, PayoutPayoff.PDate, Seller.SName AS SName, PayoutPayoff.BSalary, PayoutPayoff.Commission, PayoutPayoff.SOther FROM PayoutPayoff INNER JOIN Seller ON PayoutPayoff.SID=Seller.ID WHERE PayoutPayoff.ID>[prvID] ORDER BY PayoutPayoff.ID) AS [%$##@_Alias]

    ORDER BY ID DESC;

    SELECT *

    36

    FROM (SELECT TOP 10 * FROM Payout WHERE ID>[prvID] ORDER BY ID) AS [%$##@_Alias] ORDER BY ID DESC;

    SELECT COUNT(*) AS Num FROM Product WHERE NumSum>0;

    SELECT ID FROM Product

    WHERE PName=[strName];

    SELECT * FROM Product WHERE ID=[nID];

    SELECT ID, PName FROM Product WHERE NumSum>0 ORDER BY LastSell DESC;

    SELECT PName FROM Product WHERE NumSum>0 ORDER BY NumSum;

    SELECT TOP 12 * FROM Product

    WHERE ID<[prvID] AND NumSum>0 ORDER BY ID DESC;

    SELECT *

    FROM (SELECT TOP 12 * FROM Product WHERE ID>[prvID] AND NumSum>0 ORDER BY ID) AS [%$##@_Alias]

    ORDER BY ID DESC;

    SELECT COUNT(*) AS Num FROM Revenue;

    37

    SELECT TOP 10 * FROM Revenue WHERE ID<[prvID] ORDER BY ID DESC;

    SELECT *

    FROM (SELECT TOP 10 * FROM Revenue WHERE ID>[prvID] ORDER BY ID) AS [%$##@_Alias]

    ORDER BY ID DESC;

    更新HTML显示函数: function Payout_ViewPage() {

    var nodeIdx, i; var nodeTbody; var tmpTr, tmpTd;

    for (nodeIdx = 0; nodeIdx < 7; nodeIdx++) { }

    nodeTbody = document.getElementById(\"payout\").childNodes[nodeIdx]; for (nodeIdx = 0; nodeIdx < 7; nodeIdx++) { }

    nodeTbody = nodeTbody.childNodes[nodeIdx]; if (this.objPage.length) { }

    for (i = 0; i < this.objPage.length; i++) {

    tmpTr = document.createElement(\"tr\"); tmpTd = document.createElement(\"td\");

    tmpTd.appendChild(document.createTextNode(FormatDate(this.objPage[i].PDate))); for (nodeIdx = nodeTbody.childNodes.length; nodeIdx > 0; nodeIdx--) { }

    nodeTbody.removeChild(nodeTbody.childNodes[nodeIdx-1]); if (nodeTbody.childNodes[nodeIdx].nodeName == \"TBODY\") break;

    if (document.getElementById(\"payout\").childNodes[nodeIdx].nodeName == \"TABLE\") break;

    38

    \"…\"));

    }

    tmpTr.appendChild(tmpTd);

    tmpTd = document.createElement(\"td\"); if (this.objPage[i].Info.length < 21) else

    tmpTd.appendChild(document.createTextNode(this.objPage[i].Info.substring(0,19)

    +

    tmpTd.appendChild(document.createTextNode(this.objPage[i].Info));

    tmpTd.title = this.objPage[i].Info; tmpTr.appendChild(tmpTd);

    tmpTd = document.createElement(\"td\");

    tmpTd.appendChild(document.createTextNode(FormatNumber(this.objPage[i].PMoney))); tmpTr.appendChild(tmpTd);

    if (i % 2 == 0) tmpTr.className = \"pTrSingle\"; else tmpTr.className = \"pTrPair\"; nodeTbody.appendChild(tmpTr);

    if (this.objPage.length > 0) { }

    for (nodeIdx = document.getElementById(\"pPageNow\").childNodes.length; nodeIdx > 0; nodeIdx--) {

    this.itemIDNow = Number(this.objPage[0].ID);

    this.itemIDLest = Number(this.objPage[this.objPage.length - 1].ID);

    document.getElementById(\"pPageNow\").removeChild(document.getElementById(\"pPageNow\").childNod }

    document.getElementById(\"pPageNow\").appendChild(document.createTextNode(String(this.pageNo

    es[nodeIdx-1]);

    w)));

    document.getElementById(\"pPageMax\").removeChild(document.getElementById(\"pPageMax\").childNod }

    es[nodeIdx-1]);

    for (nodeIdx = document.getElementById(\"pPageMax\").childNodes.length; nodeIdx > 0; nodeIdx--) {

    39

    document.getElementById(\"pPageMax\").appendChild(document.createTextNode(Math.ceil(this.item

    Count / this.itemNum).toString(10)));

    for (nodeIdx = document.getElementById(\"pPageItemNum\").childNodes.length; nodeIdx > 0; {

    nodeIdx--)

    document.getElementById(\"pPageItemNum\").removeChild(document.getElementById(\"pPageItemNum\"). }

    数据库连接函数: function ConnOpen() { }

    function ConnClose(conn) {

    conn.Close(); conn = null;

    var conn = Server.CreateObject(\"ADODB.Connection\"); conn.Provider=\"Microsoft.ACE.OLEDB.12.0\";

    var dbFile = String(Request.ServerVariables(\"PATH_TRANSLATED\")); dbFile = dbFile.substring(0,dbFile.lastIndexOf(\"\\\\proc\\\\\")); dbFile += \"\\\\database\\\\bill.accdb\"; conn.Open(dbFile); return conn; }

    document.getElementById(\"pPageItemNum\").appendChild(document.createTextNode(String(this.iteif (this.pageNow <= 1) else else

    document.getElementById(\"pNext\").disabled = false; document.getElementById(\"pPre\").disabled = false; document.getElementById(\"pNext\").disabled = true; if (this.pageNow >= Math.ceil(this.itemCount / this.itemNum))

    document.getElementById(\"pPre\").disabled = true;

    childNodes[nodeIdx-1]);

    mNum)));

    40

    }

    function DBProc(procName,param) {

    comm.Parameters.Append(comm.CreateParameter(param[i].name,param[i].type,1,param[i].size,param[i].v

    rs = comm.Execute(); if (rs.State == 0) { }

    var buffer = new String(); var bufferItem; i = 0;

    while (!rs.BOF && !rs.EOF) { }

    if (buffer.length) buffer = \"v=[\" + buffer.substring(1) + \"];\"; else buffer = \"v=[];\";

    bufferItem = new String(); for (j = 0; j < rs.Fields.Count; j++) { }

    if (bufferItem.length) bufferItem = \buffer += bufferItem; rs.MoveNext(); i++;

    bufferItem += \bufferItem += \":\\\"\" + rs.Fields.Item(j).Value + \"\\\"\"; ConnClose(conn); return;

    alue));

    var i,j;

    var conn = ConnOpen();

    var comm = Server.CreateObject(\"ADODB.Command\"); comm.ActiveConnection = conn; comm.CommandText = procName; comm.CommandType = 4; for (i = 0; i < param.length; i++)

    41

    }

    rs.Close(); ConnClose(conn); return buffer;

    建立及调用XmlHttp对象:

    function XMLHttp(url,method,reCallF,objSend) { }

    function XMLHttp_CreateObject() {

    var err;

    var objXMLHttp; var err;

    var objXMLHttp = XMLHttp_CreateObject(); if(!objXMLHttp) return false;

    objXMLHttp.onreadystatechange = reCallF; try { } catch(err) { }

    return false;

    objXMLHttp.open(method, url, true); if(method == \"POST\") { }

    else objXMLHttp.send();

    objXMLHttp.setRequestHeader(\"Content-Type\var strSend = new String();

    for (var i = 0; i < objSend.length; i++) { }

    if (strSend.length) strSend = strSend.substring(1); objXMLHttp.send(strSend);

    strSend += \"&\" + objSend[i].name + \"=\" + encodeURIComponent(objSend[i].value);

    42

    try { } catch (err) { var

    MSXML

    =

    [\"MSXML2.XMLHTTP.6.0\

    \"MSXML2.XMLHTTP.5.0\

    objXMLHttp = new XMLHttpRequest();

    \"MSXML2.XMLHTTP.4.0\

    for(var i = 0; i < MSXML.length; i++) { try { objXMLHttp = new ActiveXObject(MSXML[i]); break;

    }

    catch(err){}

    }

    }

    return objXMLHttp;

    }

    43

    因篇幅问题不能全部显示,请点此查看更多更全内容

    Copyright © 2019- yrrf.cn 版权所有

    违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

    本站由北京市万商天勤律师事务所王兴未律师提供法律服务