• 1.09 MB
  • 2022-09-27 发布

基于bs和cs混合模式的高校运动会管理系统设计与实现

  • 54页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统目录摘要3ABSTRACT4第一章绪论51.1选题背景51.2运动会管理系统的现状及发展51.3课题研究目的、意义及其主要内容81.4关键问题9第二章系统总体设计102.1运动会管理系统总体设计102.1.1系统的功能设计与业务流程102.1.2网络结构分析102.1.3网络操作系统选型132.2设计系统软件介绍132.2.1Microsoft.NET概述132.2.2.NET的构建基础142.2.3.NET企业级解决方案152.3应用需求分析16第三章数据库总体设计173.1数据库设计173.1.1设计局部ER模式183.1.2设计全局ER模式183.2关系数据库的逻辑设计203.3关系数据库关系图233.4数据库操作系统233.5新建SQLServer注册2554\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统第四章系统详细设计与实现274.1浏览器实现在线报名功能274.2服务器上数据库设计274.3浏览器与服务器之间的连接294.4浏览器与服务器上数据库访问的实现314.4.1数据库的存储过程314.4.2在浏览器上注册过程324.4.3在浏览器上登陆过程344.4.4从浏览页写入服务器的数据库过程344.4.5浏览器上信息查询过程364.4.6浏览器上信息删除过程38第五章系统测试39结论42致 谢43参考文献44附录4554\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统摘要随着计算机技术的快速发展,计算机在体育运动领域的应用越来越深入,高校运动会的计算机管理是提高高校运动会质量和效率,推动高校体育事业的发展的重要手段。分析运动会管理系统组成的基础上,探讨提高高校运动会管理水平的无线网系统的建设思路,并针对目前高校运动会管理信息系统的现状及需解决的问题,给出了系统的总体设计方案,包括系统的体系结构,网络结构及操作系统选型,系统功能,数据库的设计。分析了运动会的报名管理方法如现场报名、网上报名等、成绩的录入管理方法、信息的浏览、数据库的管理及维护等内容。重点介绍了系统中裁判员端管理模块和系统用户模块的实现过程。特别是针对该系统用户的使用特点,系统是一种以现有校园网为基础,增加了对无线网的扩展,使运动会管理信息系统真正做到信息采集的随时、随地,做到了系统无死角,适应当前高校实际网络情况和运动会的需要、同时具有较强的信息处理能力的数据采集与通信子系统。关键词:运动会管理信息系统,MIDAS,无线网,数据采集与通信54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统abstractWithfastdevelopment,computeroftechnology,computerapplicationinthefieldsofsportsactivitydeepen,Thecomputermanagementofuniversity'ssportsmeetingistoimproveuniversity'ssportsmeetingqualityandefficiency,importantmeanstopromotethedevelopmentofuniversity'ssport。Thissubjectonthebasisofanalysingtheadministrativesystemofthesportsmeetingtomakeup,isitimproveuniversitywirelessthinkingofconstructionofsystem,sportsmeetingofmanagementleveltoprobeinto,Andtothecurrentsituationofthemanagementinformationsystemofuniversity'ssportsmeetingandproblemneedingtosolveatpresent,providetheoveralldesignplanofthesystem.Includingsystematicsystemstructure,networkstructureandoperatingsystemselectingtype,systematicfunction,designofthedatabase.Haveanalysedthemanagementandmaintenanceofinputtingofficeprocedure,databaseoftheregistrationofficeprocedure,achievementofthesportsmeeting.Haveintroducedtherealizationcourseofeveryfunctionmoduleinthesystemespecially.Thissystemisthatonekindisbasedonexistingcampusnetwork,haveincreasedtotheexpansionwithoutnetwork,theonesthatmaketheadministrativesystemofthesportsmeetingreallymakesureinformationgatheredarereal-time,onthespot,haveaccomplishedthesystemwithoutthedeadangle,meetuniversity'srealnetworksituationandneedofthesportsmeetingatpresent,atthesametimethedatawithstrongerinformationprocessingabilityaregatheredwiththecommunicationsubsystem.Keyword:managementinformationsystemofthesportsmeeting,MIDAS,wirelessnetwork,gatherandcommunicationindata.54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统第一章绪论1.1选题背景随着计算机技术的飞速发展,计算机在信息管理中的应用的普及,利用计算机实现运动会信息的管理势在必行。信息管理是现代运动会管理工作的不可缺少的一部分,是适应现代运动会管理尺度的要求、推动运动会管理走向科学化、规范化的必要条件。只有信息管理规范了,才能在其他方面更好的发展。为了适应现代运动会发展的需要,信息管理也从以前的手工管理逐渐被规范化的管理信息系统所代替。现在各大高校都已普及千兆校园网,开发出依托校园网的“高校运动会信息综合处理系统”已经成为可能。当前许多高校也开发了各自的“高校运动会信息综合处理系统”。但是,这些系统大多是一种封闭的、局域的、功能较为单一的简单信息处理系统。这反映出高校信息管理自动化建设的速度和总体水平还处于起步阶段,还需要加强建设的力度,才能真正形成一个能胜任运动会信息管理的系统。同时我们也该看到许多运动会如国际上的奥运会,国内的全运会、城运会等也已经采用电脑网络完善管理的过程。如近几届的奥运会,均使用了上千台微机联网进行赛事管理,在功能上基本上满足了管理的需求,但其开发成本和运行成本巨大,难以普及使用。而高校的校园小型田径运动会,更因为资金有限不可能使所有场馆都配置电脑网络,若只在部分场馆配置,又会因为竞赛场地的变动而出现使用效率不高的弊端.打破已往的必须在指定地点报名,花费人力物力,亲自去指点地点填写报名信息。因此,有必要构建一种以现有校园网为基础,真正对校园网内、外的赛事参与者与赛事观众实现真正意义上的开放,具有较强的信息处理功能,适合大量高校实际网络与运动会情况的、同时真正实现依靠计算机本身进行的、具有较强的信息处理能力的能过在线报名的“运动会信息综合处理系统”[1]。1.2运动会管理系统的现状及发展随着社会的进步和科学技术的发展,电脑网络正快速融入体育领域。许多运动会如国际上的奥运会,国内的全运会、城运会等也已经采用电脑网络完善管理的过程。现代的体育运动会,由于参加者多、项目多、54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统时间安排紧凑。人们对于比赛结果的准确性和实时性要求也越来越高,而且要尽量减少人为因素的干扰,减少赛场作弊行为的发生。还要能为参赛的教练员和运动员及时准确地提供竞赛相关信息,辅助进行竞赛的决策指导。这些问题和需求是采用人工方式甚至采用单机版运动会管理系统的方式都难以解决的。因此,电脑网络及相关技术的融入就成为一种必然,而且逐渐成为运动会管理的核心所在。目前,国际上运动会的管理已达到了很高的水平,自1984年第23届洛杉矶奥运会上首次采用电子信息服务系统以来,运动会管理信息系统已成为奥运会等国际重要赛事的必要设施。自从2004年雅典奥运会可以看出运动会网络信息体统达到一个新的高度。可以实现全球网络化,为运动员报名、查询参赛信息等提供很大的方便。从比赛成绩的录取,到成绩的处理,到人员的安排,到交通、安全等周边设施的调度,都能通过它来完成。在大大减轻了比赛管理者的工作负担,提高了工作效率的同时体现出了体育现代化的程度。在国内,计算机在运动会管理方面的应用也越来越深入,第五届全国城市运动会电子信息服务系统通过整合硬件平台、网络通信平台、数据库平台、工具平台、应用软件平台将省运会各类资源有机、高效地集成到一起,形成一个完整的、开放的、结构化的、先进的工作平台。在这个统一的平台基础上,实现了第六届全国城市运动会电子信息服务系统的完整的应用。在网络层面,国家体育总局要求提供一个安全、可靠、先进而又运行稳定的网络平台。据此,根据网络覆盖的范围、管理要求、应用功能等因素,设计了三个层次网络体系结构和一个信息处理中心,即公网服务系统、竞赛专网系统、场馆内网系统以及由成绩处理中心、票证中心、新闻中心构成的网络枢纽系统。在应用服务层面,全网提供了9个子系统,即人员注册系统、在线报名系统、计时记分系统、现场成绩处理系统、综合成绩处理系统、数据通信系统、综合查询系统、通信服务系统、指挥调度系统。在城运会历史上,六城会首次采用了远程注册系统通过公网进行代表团和运动员的远程注册报名,首次采用2M竞赛专网系统传递比赛成绩、首次采用网上视讯会议系统实现竞赛指挥、首次提供了WLAN无线上网查询服务。系统设计原则: 54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统1、统一平台 网络的互联及互通关键是对相同标准的遵循,要实现网络业务能融合到一个平台,实现数据、语音、视频业务的融合,就必须统一标准。从开放性、发展性、成熟性等方面来看,只有IP技术才能成为统一平台网络构建的标准。在具体实施中,必须统一规划IP地址及各种应用,采用开放的技术及国际标准,如路由协议、安全标准、接入标准和网络管理平台等,才能保证实现网络的统一,并确保网络的可扩展性。2、高可靠性 系统整体设计必须考虑到高度的安全可靠性,尤其是对于体育竞赛的计时记分、成绩处理、信息发布等系统必须做到万无一失;通讯线路、关键设备必须具有备份措施。在网络设计中选用高可靠性网络产品,设备充分考虑冗余和容错能力,同时合理设计网络架构,制订可靠的网络备份策略,保证网络具有故障自愈的能力。3、先进性 计算机网络建设要具有国际先进水平,采用世界上最先进的信息网络技术、应用开发技术(如多媒体应用技术),采用符合国际标准的网络建设方案。4、实用性 信息网络的建设能够真正为城运会的筹办、运作和顺利进行提供可靠、高效的服务的同时,设备的选型以“满足最低要求”为原则,为系统提供最佳的性价比。5、高性能骨干网络性能是整个网络良好运行的基础,设计中必须保障网络及设备的高吞吐能力,保证信息(数据、语音、图像)的高质量传输。6、可管理性对网络实行集中监测、分权管理,并统一分配带宽资源。选用先进的网络管理平台,具有对设备、端口等的管理、流量统计分析及可提供故障自动报警。7、可扩展性 是针对信息网络技术发展的特点提出的,即如何在信息网络技术更新换代周期很短的情况下,信息网络的基本设备能较容易地升级、扩展。8、安全性 制订统一的网络安全策略,整体考虑网络平台的安全性。54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统在各高校开发的系统中比较成功的是首都体育学院开发的运动竞赛管理系统。首都体育学院网络信息中心依托校园网为硬件基础,借助运动场馆的无线网络,针对大多数院校的运动会特点,与中体同方联合开发出了运动竞赛管理系统。它使用目前流行的B/S结构,任何一台校园内、外的计算机都可以直接连接到赛事系统,利用浏览器直接参与赛事的组织、管理、报名等工作;直接面向赛事的参与者与赛事观众,赛事参与者可以在截止日期之前实现网上报名,而赛事观众可以通过网络实时地了解赛事的成绩,浏览赛事项目的安排。其赛前、赛中、赛后的处理全部依靠互相联网的计算机进行处理。同时该系统整合校园网一卡通数据,报名、注册省时、准确、可靠[2]。  系统充分发挥计算机在数据统计和传输方面的优势,利用数据库技术、动态Web技术辅助组织者完成报名、秩序册编排、人员分组、成绩统计等多项工作,极大减轻了比赛管理者的工作负担,提高了工作效率。目前计算机及网络技术在国外举办的较大规模的运动会和专项比赛上已广泛使用,如近几届的奥运会,均使用了上千台微机联网进行赛事管理,在功能上基本上满足了管理的需求,但其开发成本和运行成本巨大,难以普及使用。在我国国内进行的一些重大比赛也有部分应用,但软件有些是国外引进,不完全适合我国国情。有些是国内开发的,大都是单机运行,且基本上是为某一次运动会而临时开发的,通用性欠佳,并且许多是竞赛结束后即拆走设备,无法使其进入良性的运营状态。而许多省(直辖市)、市(区)以下级别的运动会如行业运动会、学校运动会等,又因为目前配置有线电脑网络的成本相对较高,还不能使所有场馆都配置电脑网络,若只在部分场馆配置,又会因为竞赛场地的变动而出现使用效率不高的弊端,这些都在一定程度上限制了电脑网络在体育方面的应用。1.3课题研究目的、意义及其主要内容系统依托于高校现有的校园网系统,借鉴于历届校运会的组织经验而制作的。在赋予高校校园网更多使用价值的同时,又对它有了进一步的扩展。同时对推动体育事业在高校的发展,,提高高校田径运动会的质量与效率、充分体现体育竞赛公平公正的宗旨有着重要的作用和意义,对体育运动的口号“更高、更快、更强”有了新的诠释。管理系统主要包括基于无线网的数据采集与通信子系统、综合成绩处理子系统、客户端信息管理子系统、编排打印子系统、广播子系统、电子显示屏子系统等子系统。课题的研究对象是高校运动会管理系统中的基于无线网的数据采集与通信子系统。课题研究的主要内容有:⑴目前高校田径运动会的管理系统多为有线连接,在许多有线网络没能铺设的场馆,运动会的管理信息系统还只是停留于表面,信息管理系统的只能说是一种区域性的系统54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统。本课题需要对该现状进行充分的研究分析,找出工作中需要解决的主要问题;⑵针对现有系统中存在的问题,提出系统的解决方法和适用于田径运动会的管理模式,研究运动会比赛项目成绩录入管理方法、运动员验证方法,系统用户对相关性信息的访问等内容;⑶本系统的工作主要包括系统用户的管理、运动项目的数据采集、系统用户对比赛数据的查询等内容,因此必须对这些业务模块的有机集成进行研究;⑷制定出系统设计与实施方案,设计开发出能够为高等院校田径运动会管理系统服务的数据采集与通信子系统。1.4关键问题按照软件工程设计思想和运动会的运作过程,整个系统的设计、实施关键在于:.建立运动会数据库、确定数据基表及数据关联本系统数据具有合法性、唯一性、安全性。在充分分析系统功能的基础上建立数据库、确定数据基表及数据关联,这是建立数据库管理系统的基本要求。·建立各子系统之间的数据通信因为本系统包括多个子系统,各个系统分布于校园内的不同区域,通过无线网连接,所以必须解决好各子系统之间的数据通信问题,以实现子系统模块间信息流的正确流动,真正实现系统的移动性。·运动员的身份验证为保证比赛的公平公正性,我们采用了必要的安全措施。如:指纹验证技术,IC卡技术。54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统第二章系统总体设计2.1运动会管理系统总体设计2.1.1系统的功能设计与业务流程总结起来系统所要完成的工作大致为:运动员在线注册、登录,运动员的网上报名信息录入,运动员的报名项目管理,运动员在线查询,项目编排,运动员比赛信息公布。。因此,根据以上分析可将系统分为以下功能子系统:1、访问远程服务器数据库配置信息2、用户在线注册、登录3、利用浏览器实现网上运动会报名系统4、查询运动员信息子系统5、运动会信息发布系统数据流程图如图所示。图2-1数据流程图2.1.2网络结构分析系统以学院的校园网为依托,在一台服务器上安装服务器端54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统程序,校园网内、外网络上任何一台装有浏览器的计算机都能使用该综合处理系统。赛中利用场馆的无线网络进行传输,在比赛场地各成绩处理点安放计算机(获得相应授权)直接进行各项目的单独处理,而网络上的其它计算机均可在第一时段中查询到比赛相关信息或对赛事进行管理。其网络拓扑结构如图所示。图2-2网络拓扑结特别提出以无线和有线方式传输信息,是因为考虑了运动会管理及有线网络与无线网络的特点而决定的。有线网54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统平时不用或少用都会形成浪费。若只在部分场地配置,另外场地不用,这又会出现有的场馆设备闲置,有的场馆待用却苦于无设备,产生不平衡。不管是全配或部分配有线网络,使用的效率都不会高。另外,目前常用的有线局域网络虽然具有传输速率高,工作稳定等优点。但也存在规划、配置、安装复杂,维护工作量大,难以临时增加用户等不足。尤其是只能在固定场地使用,对于体育竞赛会经常更换场地的特性而言,多有不便之处。若是在所有场地架设网络,所需的成本就相当高。构建无线传输的网络可以有效地避免上述缺陷。无线网络具有“点到点”和“主从”两种配置。“点到点”配置用于连接PC或便携式计算机,允许计算机在无线网络覆盖范围内移动并自动建立点到点的连接,在不同系统之间直接进行数据传输。“主从”配置是让所有无线节点都与“主点”连接,由“主点”(又叫“访问节点”)承担无线通信的管理及与有线网络桥接的工作。使用“主从”配置,用户在“主点”覆盖范围内工作时,无需为寻找其它节点而耗费电量,因此节约了资源,是比较理想的低耗电工作方式。由于没有线缆的限制,网络可以根据需要灵活、方便地增加用户。而且允许用户在任何时间、任何地点访问网络数据,不需要指定明确的访问地点,亦即所谓的漫游[3]。尤其是最近发展很快的基于扩频技术的计算机无线网更具有抗干扰能力强、安全保密、无须申请频率资源、安装简单、扩容方便等特点,迅速在需要电脑连网的各个领域得到了广泛地应用。它可以随着用户的增加而逐步追加投资,减轻初期投资的负担(而有线网络则需要预先铺设所有线路,初期投资大);能实现多种多媒体新应用,包括视像监控、视频会议、数据网接入、Internet接入和话音。 当然,无线网络传输也有传输带宽比有线网络小,信息传输易受到建筑物阻隔,室外使用可能受到附近电磁环境和天气状况的不利影响等等缺陷。但这些缺点对于体育运动会上的竞赛而言,基本上可以避免或比较方便地解决。  体育竞赛的场所都比较空旷,较少有墙体等对无线传输的阻挡,且运动场地内的电磁环境通常都比较干净,有利于无线信号的传输。运动会上管理工作的位置变化,如竞赛位置变化引起的裁判员位置的变化,也发挥了无线网络可以移动的优势。它们相对低廉的安装、维护成本,简捷方便的移动、组合工作方式,与有线网络相近的安全级别。恰好可以应对体育竞赛及其管理过程中的特点和需要。目前正在迅速推广普及的是基于802.11b协议的无线局域网络,其主要由无线交换设备(AccessPoint,AP)和接收设备(USB无线网卡和PCMCIA无线网卡)等构成,最大传输速率11M,室外二点间传输距离可达300米54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统,基本是在视距内传输。若二点间超过300米或有障碍物,可通过增设中转点进行传输。单个交换设备可以连通25个接收设备,多个交换设备配合,可以互联几百个接收设备。利用这样的无线局域网,形成运动场地内的主干传输通道,完全可以适应体育场内竞赛管理工作的需要。同时,基于802.11g协议的无线网络也即将进入市场,其最大可达54M的传输速率,室外300米距离上仍然可以达到6M的传输速率,将给用户带来更多的方便。当然发挥已有的有线网络的作用,也是有价值的,比如对配置有大显示屏的场地,利用有线传输的形式,广播发布相关的信息,对提高运动会的管理效果,也是有明显作用的。对不同的竞赛项目和不同的场地,用于管理的无线网络设备的配置是可以有所不同的。    其中,实时数据采集系统仍然采用传统的人工方式实现。竞赛时,用人工在现场将竞赛的数据录入到笔记本电脑,由其内插的无线网卡发送给工作站和服务器等构成的成绩处理系统,成绩处理完毕,或是通过无线网络将信息传输给附近能接收无线信息的电脑,或是通过接口,将信息发送给大屏幕显示器、有线网络及互联网等。上述工作流程中,现场的笔记本电脑的无线网卡和工作站连接的AP构成通信子系统,工作站及其相连的装置构成成绩处理系统,其他人员持有的电脑和上述的服务器、大屏幕显示器、有线网络及互联网等形成信息查询系统。2.1.3网络操作系统选型目前比较常见的网络操作系统有Novell公司的NovellNetware和Microsoft公司的WindowsAdvancedServer2000(基于NT)。这两种产品各有所长,Netware以文件服务见长,但是它的应用服务功能并不强大,而WindowsAdvancedServer2000则以强大的应用服务见长,它是支持客户/服务器系统的两大主力平台(Unix系统和WindowsNT)之一。WindowsAdvancedServer2000在实现Internet连接和提供Web服务时,结合MSSQLServer2000以及C#能够获得较好的性能,同时该操作系统的维护和管理相对容易。所以系统的网络操作系统选用WindowsAdvancedServer2000。2.2设计系统软件介绍2.2.1Microsoft.NET概述2002年3月22日,微软推出了他的MicrosoftVisualStudio.NET54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统的第一个正式版,这个时间的选择是意味深长的,因为这正是微软的开发平台VisualBasic诞生十周年之际,他宣告了VisualBasic的结束,也宣告了编程理念的一个新的时代的开始。在正式版推出以前,微软已经花了两年的时间检验它的测试版,并且,对它的测试版进行了几次大的改造,所以,我们会发现.NET的正式版和测试版有很大的不同。但是,即使是测试版推出来的时候,这种新的编程理念已经在国外造成了很大的反响,但令人奇怪的是国内反响并不大。但是从去年开始,国内对.NET的需求开始升温,人们终于认识到,在今后十年,.NET必将成为一种占统治地位的编程体系,它是过去十年人们对编程探索的一个总结,也是对未来十年编程体系的一个架构。我们必然的会提出一个问题,什么是.NET,为什么需要.NET.新一代开发平台的需求,主要是技术环境的变化,自从上个世纪90年代末Internet出现以来,人们在不断的开发Internet软件,但是这些软件所基于的技术都是在早期形成的,例如:Windows是上个世纪80年代的技术,COM是20世纪90年代初实现的,Unix的出现是1970年的事情,Java最初是为家用电器开发的,后来转而应用在Internet上。以上这些平台最大的问题,就是它们出现的时候都不是为了Internet,所有网络功能都是后添加上去的,使用起来总是不能尽如人意。进入21世纪以后,人们急需要一种全新观念的开发平台,在这样的背景下,微软经过多年研究,终于推出了全新的VisualStudio.net平台,这预示着一种技术上的全面更新和突破,因为它从一开始就考虑了Internet。2.2.2.NET的构建基础.NETEnterpriseServer是Microsoft的服务器应用程序的大家族,用于构建、部署和管理可伸缩的、集成的基于Web的解决方案。由于以着至关重要的性能为设计理念,.NETEnterpriseServer为使用Web的全球性大企业提供了可伸缩性、可靠性和可管理性。.NETEnterpriseServer从一开始就是为实现互操作性而构建的,使用了XML等开放Web标准。第一代.NETEnterpriseServer现已可以提供给客户,让他们可以开始创建、部署和组织可伸缩而且可靠的Web服务和应用程序了。54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统2.2.3.NET企业级解决方案.NET平台的全称是VisualStudio.netEnterpriseArchitect(企业架构),这样的命名对.NET是用来干什么,它有什么特点提供了很好的说明,换句话说,.NET平台主要是用来实现企业级解决方案的。企业(Enterprise),是指以实现其价值为目标的组织机构。这个价值可以是商业价值也可以是非商业价值。组织机构可以是大、中、小型或者是政府组织。事实上,Enterprise的含义,本来就包含了国内所分出来的企业和事业两种形式。企业级应用体系结构是指用于用于企业和商业组织的应用软件分布式实现体系结构。这种分布式小到可以在企业各部门中分布,大到可以跨国分布。当我们学习了C#.NET或者VB.NET语言,学习了ADO.NET数据库处理,学习了ASP.NET为基础的Web应用程序开发以后,往往还会有一些疑虑,难道这些内容就是企业级开发吗?当然不是,这只是为了实现企业级开发的技术基础,企业级开发还需要有更深层次的问题需要解决。本课程的任务,就是研究.NET环境下的企业级软件开发的技术实现。简而言之,是在前面.NET编程学习的基础之上,在企业级解决方案的层面更深入的讨论问题,也以说,不学习这门课程,你并不会真正懂得.NET。在微软推出.NET以前,唯一能称之为企业级开发的就是Sun提供的Java2企业版(J2EE),我们都知道,J2EE在此前很多大型商业应用中有很好的表现,被看成是事实上的标准,并且,许多服务供应商也在编写插入和内容丰富的模块工具。正是由于J2EE的这种表现,大批java程序员才有如此广阔的施展天地。但是,至少在Windows为基础的服务器上,J2EE的表现还是比较成问题的,它的速度比较慢,消耗资源比较多,而且无法和微软的主流Web服务器(IIS)融合,人们急需要一种具备J2EE所有能力,但又和Windows服务器很好结合的开发和运行平台,正是在这样的背景下,微软的VisualStudio.netEnterpriseArchitect应运而生。关于开发平台的选择,有很多是来自于经验,很难说哪种平台更好一些,一般来说,如果你的服务器是采用Windows平台,那么无论项目多大,采用.NET平台开发是最佳的选择。如果你的服务器是使用UNIX54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统系统的大型计算机,那开发平台只有采用J2EE。如果你只是想做一个小型的网站,那就没有必要这么麻烦,你可以使用ASP、PHP甚至更简单的一些东西。.NET是微软推出来的企业级应用程序开发工具,因此,应用.NET开发,必须了解企业级开发的基本思想。当前,企业级用程序的开发趋势,是提供N层框架,以便于实现安全、可升级、可维护、实用的应用程序。2.3应用需求分析基于网络的数据采集与信息发布需要满足来自以下几方面的需求,这几个方面分别是通过IE浏览器在线注册、登录,成功进入运动会统一报名系统。然后在线填写报名信息,其中包括:姓名、系别、参赛项目等等。同时可以进行查询、修改、删除本人的信息。运动会管理人员可以通过在线安排参赛日期、参赛号、分组等,运动员通过信息点查询比赛安排,比赛成绩;系统用户通过分布于各处的信息点,查询相关赛事信息。系统用户可以直接查看运动会的赛事安排,成绩等相关信息,他们通过管理员分配的帐号和密码登陆系统,还能够维护个人信息。一般情况下系统用户只能够查看和维护本人的相关信息,若查看和维护其他用户的个人信息,就要知道其他用户的帐号和密码,这是很难办到的,特别是密码。所以不但满足了系统用户的要求,还能很好的保护系统用户的个人隐私。第三章数据库总体设计54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统3.1数据库设计数据库的设计过程如下图所示。在数据库设计过程中,需求分析和概念设计可以独立于任何数据库管理系统进行。逻辑设计和物理设计与具体的数据库管理系统密切相关。由于需求分析比较重要。我们在设计的时候,花了比较多的时间。在获得这些资料之后,进行分析从中提取有用的部分,分析各种用户的权限。数据库设计过程如下图[4]。现实世界需求分析需求分析说明书概念数据库设计概念数据库模式独立于数据(高级数据模型)库管理系统与数据库管逻辑数据库设计理系统相关逻辑数据库模式(特定数据模型)物理数据库设计物理数据库模式图3-1数据库设计过程在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。3.1.1设计局部ER模式实体和属性的定义:项目(项目名称,预赛时间,决赛时间,是否需要自动编组)运动员(编号,姓名,系别,性别,联系电话,团体赛,径赛,田赛)信息(项目名称,姓名)用户表(编号,用户名,密码,级别)ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。 一个用户可以借阅多本不同的书,而一本书也可以被多个不同的用户所借阅。3.1.2设计全局ER模式所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。1)确定公共实体类型为了给多个局部ER模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。在这一步中我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。2)局部ER模式的合并合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。3)消除冲突冲突分为三类:属性冲突、结构冲突、命名冲突。54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。4)全局ER模式的优化在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。综上所述,“运动会管理系统”的全局ER模式如图所示。项目比赛记录运动员系别系别名称信息表姓名名称运动员电话编号姓名性别bie系别团体赛田赛径赛54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统项目信息项目名称预赛成绩决赛成绩是否分组信息表姓名项目名称图3-2后台全局ER模式3.2关系数据库的逻辑设计由于概念设计的结果是ER图,DBMS一般采用关系型(本人所使用的MSSQLServer就是关系型的DBMS),因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。设计结果是一组关系模式的定义。我选用MicrosoftSQLServer2000(企业版)数据库来进行数据库的逻辑设计。根据全局ER图,建立各个表如下:表3-1运动员信息表数据库表项中文说明数据类型ID编号Int(4)54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统tbname姓名VarChar(50)Xiebie系别Varchar(10)Sex性别Varchar(10)Height身高Varchar(10)Tel联系电话Varchar(20)Tts团体赛Varchar(20)Js1径赛1Varchar(20)Js2径赛2Varchar(20)Ts1田赛1Varchar(20)Ts2田赛2Varchar(20)Beiz备注Varchar(255)表3-2用户表ID编号Int(4)Username用户名Varchar(20)Password密码Varchar(20)[Level]级别Varchar(10)表3-3项目信息表数据库表项中文说明数据类型Xiangmu项目名称VarChar(20)Pro_try_time预赛时间Varchar(20)pro_fin_time决赛时间Varchar(20)pro_needgroup是否需要机器分组Bit(1)表3-4信息表数据库表项中文说明数据类型Xiangmu项目名称VarChar(20)tbname姓名VarChar(50)本系统采用适宜于网络应用的数据库,数据库选型主要针对Server端考虑系统对DBMS的性能要求较高,目前可选做DBMS的常用软件有:SybaseSQLServer(AdaptiveServerEnterprise,简称ASE),MicrosoftSQLServer,Oracle,等。下面简单地介绍一下这几种产品的特点。(1)SybaseAdaptiveServerEnterpriseSybaseASE(原称SQLServer)是Sybase公司于1987年推出的关系型数据库管理系统(RDBMS)。它是第一个采用Client/Server体系结构、采用多线程技术的可编程的高性能数据库管理系统。ASE的最新版本是今年推出的12.5.054\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统.2(ASE)。Sybase产品目前已遍布全国,受到越来越多的用户的青睐。SybaseASE的最大的特点是在内核上支持Client/server模式。ASE允许用户在内核上执行存储过程和触发器,以保证数据的完整性和一致性。Sybase的OpenServer和OpenClient功能强大,能支持没有SQLServer内核的分布数据的管理。Sybase提供了建立在OpenServer基础上的EnterpriseConnect,从而使得不同的关系数据库、非关系数据库和文件系统之间能够实现异构查询和位置透明的异构数据库连接。Sybase的产品线坚持开放性和应用集成化的思想,对不断适应应用环境的变化和提高系统的可扩充性具有较大的意义。(2)MicrosoftSQLServer2000MicrosoftSQLServer是微软公司在购得SybaseSQLServer4.2的基础上,专门为WindowsNT系统开发的。它的优点是性能价格比较高,它对标准SQL语言完全支持而且易于安装使用,MicrosoftSQLServer的图形化界面简洁明了,管理者的日常维护非常方便。MicrosoftSQLServer提供了与其它数据的转化接口和图形化工具,能够快速实现不同数据库之间的数据转换[5]。而且从Web应用服务来考虑,采用MicrosoftSQLServer2000+MicrosoftAdvancedServer2000+ASP是比较好的搭配。(3)OracleOracle公司于1977年开始涉足RDBMS市场,是目前世界上最大的数据库厂商。Oracle产品于1986年进入我国。Oracle的设计初衷是基于小型机系统的集中式数据管理系统,因而Oracle在内核上是不支持Client/Server的。为了适应Client/Server的分布处理,Oracle采用SQL*NET进行功能上的弥补。Oracle不是基于线程的,它采用进程进行管理,因而对操作系统的依赖性较大,为了获得高性能的数据管理,必须具备较高的硬件配置。Oracle也采用存储过程和触发器保证数据完整性和一致性,但他们不是在内核上运行,而是通过SQL*FORM工具来实现数据的完整性控制。Oracle对异构网络异种机的适应能力要比Sybase强得多。Oracle的开放性体现在其在PC、RISC工作站以及小型机直至大型机上均能运行,且具有统一的界面。本着简单、实用、易用、稳定性好等要求,系统在以上四种DBMS产品中选用了MicrosoftSQLServer2000作为数据库系统的解决方案。3.3关系数据库关系图54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统可以使用“服务器资源管理器”创建新的数据库关系图。数据库关系图以图形方式显示数据库的结构。使用数据库关系图可以创建和修改表、列、关系和键。另外,可以修改索引和约束。在“服务器资源管理器”中,右击“数据库关系图”文件夹或该文件夹中的任何关系图。选择快捷菜单中的“新建关系图”。即会出现“添加表”对话框。在“表”列表中选择所需表,然后单击“添加”。这些表以图形方式显示在新的数据库关系图中。可以继续添加或删除表、修改现有表或更改表关系,直到新的数据库关系图完成为止。”Ydh”数据库关系图如下:图3-3“Ydh”数据库关系3.4数据库操作系统数据库系统信息安全性依赖于两个层次:一层是数据库管理系统本身提供的用户名/口令字识别、视图、使用权限控制、审计等管理措施,大型数据库管理系统均有此功能;另一层就是靠应用程序设置的控制管理,如使用较普遍的权限问题。SQLServer提供多层安全性。在最外层,SQLServer的登录安全性直接集成到WindowsNT安全性上,它允许WindowsNT服务器验证用户。使用这种"WindowsNT验证”,SQLServer就可以直接利用WindowsNT的安全性。例如密码加密、密码期限、以及对密码最大长度限制等。WindowsNT验证功能依赖于54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统“信用连接”。这其中要用到WindowsNT的模仿功能。通过模仿,SQLServer可以利用WindowsNT用户帐号中的安全内容来对连接进行初始化,并检测其中的安全标志是否达到了合法授权级别。当连接到运行WindowsNT下的SQLServer时。WindowsNT的模仿功能和信用连接对所有的网络接口都适用。SQLServer能够安装在“混合的安全”模式中。也就是说,基于WindowsNT的客户能够用WindowsNT验证来连接,能够用SQLServer验证连接。另外,当连接到安装在混合安全模式中的SQLServer事例时,连接总是明确地提供SQLServer登录用户名。这就允许用与登录WindowsNT时不同的用户名来连接在监测与管理安全性方面,SQLServer很容易检测登录的成功与失败。SQLServerEnterpriseManager管理员只需在SQLServer的安装程序中选中Properties对话框Security选项卡中适当的复选即可。当用这种方法进行登录检测时,对每次成功或不成功登录SQLServer的企图,都会将一条消息写入WindowsNT的事件日志中,记录SQLServer错误或者指明时间、日期和试图登录的用户。SQLServer有许多方法管理数据的安全性。对某些用户或用户组,可以授予或撤回他们访问某些对象的权力。可以通过本地存储过程和扩展存储过程授予执行权在有效性方面,SQLServer在许多关键性的环境中,保证应用程序每周,天,每天24小时正常运转是至关重要的。SQLServer通过多种手段来提供联机备份、联机维护、自动恢复、以及能够因防止出现错误而在群集中安装SQLServer。利用SQLServer的动态联机备份功能,当用户在查询和更新数据库时也可以对数据库进行备份。SQLServerAgent服务提供了内置的调试引擎,该引擎使数据库能自动进行定时各份,无须管理员干涉。其他的维护任务,以及对完整性的修改,都可以在不关闭SQLServer.不限制用户访问的情况下进行。只有少数整个系统范围内配置发生变化,才需要重新启动SQLServer。在计划周全,精心设计使用的产品系统中,上述情况很少发生。但是即使发生了这种情况,通常关掉SQLServe;的时间不到一分钟即可完成修改工作。如果出现了系统失灵,例如掉电了,那么当系统服务恢复后,SQLServer可以保证数据库快速恢复。通过利用与各数据库相关的事务日志SQLServer启动时可以很快地恢复各个数据库,重新执行未完成的事务,接着继续执行己经确认但尚未写入磁盘的事务。此外,可以将SQLServerAgent服务设置成连续监测SQLServer状态。如果有错误发生使得SQL54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统Server意外停止,那么SQLServerAgent服务可以检铡到这种情况,并且能在最短的中断时间内,重新启动SQLServer,SQLServer的身份认证:只有合法的数据库操作员才能修改和维护相应的数据库数据。数据库管理员为程序用户创建登录帐号,规划权限。非法的用户通过数据库前端管理软件理论上是可以登录到数据库的,但没有帐号和密码是做不到的,运动会管理系统的操作系统身份认证又分为两级:一级是WindowsNT合法用户身份认证,即只有WindowsNT的合法用户才能访运动会后台管理系统,另一级是数据库操作的身份认证,只有合法的数据库操作员才能修改和维护相应的数据库数据[6]。3.5新建SQLServer注册在发布服务器和订阅服务器上互相注册企业管理器,右键SQLServer组,新建SQLServer注册—>可用的服务器中,输入你要注册的远程服务器名--添加—>连接使用,选择第二个"SQLServer身份验证"—>输入用户名和密码—>选择SQLServer组,也可以创建一个新组—>完成。过程图如下:54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统图3-4SQLServer注册过程图54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统第四章系统详细设计与实现系统主要分为两个功能模块:面向运动员的在线注册与登陆管理模块和面向运动员报名与信息查询模块。其系统模块图如图所示。信息查询模块用户注册修改报名信息信息备份用户信息维护比赛成绩查询赛事安排查询运动员在线报名用户登陆基于B\S结构的运动会管理系统在线报名与信息发布子系统运动员报名模块图4-1系统模块图由于运动会管理系统的特殊性确定了,在线报名与查询系统必须依赖浏览器,实现网上报名与查询赛事信息。系统总体分两大块:(运动员利用浏览器实现在线报名功能、在线信息查询功能)[7]。4.1浏览器实现在线报名功能.NET软件可以提供实现该功能,可以很好的实现浏览器与服务器的数据连接,不需要特意安装软件,只需要知道服务器的机器名就可以了,通过在系统设计时用代码就可以实现浏览器与服务器数据库连接,可以实现从浏览器写入数据库,从浏览器输入查询信息可以在数据库找到相应数据,同时把数据显示到浏览器上。4.2服务器上数据库设计54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统由于服务器与浏览器不是在同一台机器上,同时我们的数据库是放在远程服务器上,所以我们必须对数据库进行设置,过程如下:1、首先打开MicrosoftSQLServer->企业管理器->SQLServer组->新建SQLServer注册->选择服务器机器名,并设置一个用户名->完成。如图:[8]图4-2SQLServer服务管理器2、然后就是服务器上的数据库上建立数据表过程为:在数据库上击右键->新建数据库->填写数据库名字’Ydh’->确定。3、数据库已经建立,然后在数据库上建立数据表Users、Sporters表图如下:图4-3Users数据表的设计图54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统图4-4Sporters数据表的设计图4、数据表Users、Sporters的存储过程如下:------------------------------------------------------------------Users的数据匹配------------------------------------------------------------------CREATEPROCEDUREGetUserByNamePwd@UsernameVarchar(50),@PasswordVarchar(50)asselectUser_Id,Username,Password,LevelfromuserswhereUsername=@Username//判断输入数据是否与数据表Users的数据项匹配ANDPassword=@Passwordreturn0GO数据库上的设计基本完成,值得注意的就是用户的权限设置,在安全性上的登陆上面设置即可。4.3浏览器与服务器之间的连接由于我们开发工具是.net,所以我们首先打开MicrosoftVisualStudio.NET54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统2003,新建一个项目,过程为:文件—>新建—>新建项目—>其他项目—>企业级模板项目—>VisualC#简单分布式应用程序—>输入名称“caoliaoyuan”—>确定。一个项目就生成了。完成之后我们要对它进行一些设置,把项目里面的各个类的属性名称加上“caoliaoyuan”,然后添加引用,注意:SystemFrameworks的级别最高,不可以引用其他类,依次Common、DataAccess,WebUI,下一级可以引用上一级。设置配置信息:为解决方案“caoliaoyuan”新建一个新项Common,在Common增加一个项caoliaoyuanConfiguration.cs(存放访问服务器的配置信息),设置Web.config指定服务器的名字跟访问路径。代码如下[9]:下面实现:----------------------------------------------------------------------------------------如下功能为:设置服务器的名称(如果是本机可以设置为LOCAL)、数据库访问的用户名、密码以及访问的数据库名称。///UserData的摘要说明。///publicclassUserData:DataSet{publicconstStringUSER_TABLE="users";publicconstStringUSER_ID_FIELD="User_ID";publicconstStringUSERNAME_FIELD="Username";publicconstStringPASSWORD_FIELD="password";publicconstStringLEVEL_FIELD="Level";publicUserData(){BuildDataTable();}privatevoidBuildDataTable(){DataTabletable=newDataTable(USER_TABLE);DataColumnCollectioncolumns=table.Columns;columns.Add(USER_ID_FIELD,typeof(System.Int32));columns.Add(USERNAME_FIELD,typeof(System.String));columns.Add(PASSWORD_FIELD,typeof(System.String));columns.Add(LEVEL_FIELD,typeof(System.String));columns[USER_ID_FIELD].AllowDBNull=false;columns[USER_ID_FIELD].AutoIncrement=true;this.Tables.Add(table);}}}浏览器写入服务器的数据库包括浏览器端进行注册、登陆,填写数据,查询信息,信息发布等。4.4.2在浏览器上注册过程我们要实现在线注册,就要把用户的资料写入数据库,我们首先在SQLserver2000数据库上建立一个用户表(users),然后在存储过程中编写users的存储过程的代码(界面与源代码如下:)54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统图4-5注册界面privatevoidPage_Load(objectsender,System.EventArgse){if(ddLevel.Items.Count==0){this.ddLevel.Items.Add("超级用户");this.ddLevel.Items.Add("普通用户");}}#regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){InitializeComponent();base.OnInit(e);}privatevoidInitializeComponent(){this.bTijiao.Click+=newSystem.EventHandler(this.bTijiao_Click);this.Load+=newSystem.EventHandler(this.Page_Load);}#endregionprivatevoidbTijiao.Click(objectsender,System.EventArgse){UserDatadata=newUserData();DataRowrow=data.Tables[UserData.USER_TABLE].NewRow();row[UserData.USERNAME_FIELD]=this.tbUsername.Text.Trim();row[UserData.PASSWORD_FIELD]=this.tbPassword1.Text.Trim();row[UserData.LEVEL_FIELD]=this.ddLevel.SelectedItem.Text;54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统data.Tables[UserData.USER_TABLE].Rows.Add(row);(newUsers()).InsertUser(data);Response.Redirect("LoginForm.aspx");}4.4.3在浏览器上登陆过程通过注册后就可以得到一个用户名、密码,在浏览器上建立一个登陆界面,在将写入的用户名、密码跟服务器上users表的记录进行比较,是否有匹配的记录,有则表示登陆成功,可以进入登陆权限下面的浏览页面进行操作。无则登陆失败,必须先回到注册页进行注册。验证是否登陆成功的代码如下[11]:图4-6用户登陆界面privatevoidblogin_Click(objectsender,System.EventArgse){UserDatadata=(newUsers()).GetUser(tbUsername.Text.Trim(),tbPassword.Text.Trim());if(data.Tables[UserData.USER_TABLE].Rows.Count>0){Response.Redirect("MainForm.aspx");}elsethis.Label4.Visible=true;}privatevoidtbUsername_TextChanged(objectsender,System.EventArgse){}privatevoidBzhuce_Click(objectsender,System.EventArgse){Response.Redirect("ZhuceForm.aspx");}4.4.4从浏览页写入服务器的数据库过程54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统通常在网页上填写,将信息保存到远程服务器的数据库里,必须在系统页面上编写代码,首先在新建一个新的系统1、Sporter在浏览页上的对应界面图如下:图4-7运动员报名界面图4-8报名结果54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统图4-9DataGrid设计界面4.4.5浏览器上信息查询过程通过浏览页输入信息,找到相关的信息,该节是通过运动员一些基本信息,在浏览端查询,查找服务器上相关信息,如果满足该条件的所有运动员的详细信息都显示到浏览页上。查询包括模糊查询和精确查询,这里我们只要实现模糊查询功能[12]。具体操作如下:下面是要查找计算机系的学生,把整个报名信息内计算机的学生显示出来,包括每个学生的详细信息,先输入“计算机”关键字,界面图如下:54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统图4-10运动员查询界面查询“计算机”运动员结果如下:图4-11查询结果54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统4.4.6浏览器上信息删除过程当运动员报名信息不符合要求,管理员必须将其删除,所以通过选择要删除的运动员信息,然后点击删除,即可成功的删除该运动员的报名信息,删除“张三”的信息如下:图4-12删除张三信息54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统第五章系统测试随着国内软件行业的不断发展,国内软件公司也越来越注重于软件的质量,越来越关注软件的可靠性,因此,做为质量保证的重要手段,软件测试过程的实施与管理成为一个热点,其中系统测试是整个测试活动的一个重要的阶段。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。系统测试的对象不仅仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,在系统实际运行环境下来进行测试。系统开发遵循原型化开发方式,自顶向下进行,所以程序测试从界面设计时就开始了。前期每设计一层界面就需要运行程序进行测试,以确定界面布局的合理性与用户是否认可该界面和该界面所实现的功能。软件测试的方法和技术是多种多样的。对于软件测试技术,可以从不同的角度加以分类:从是否需要执行被测软件的角度,可分为静态测试和动态测试。从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。1、黑盒测试黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。对于报名信息的收集,我们采用的就是黑盒测试的方法。数据采集的主要功能就是对运动员的报名信息的收集,运动员信息结果发布。所以它的真实性和准确性是非常重要的。对此我们针对它设计了一组数据。小李报名信息图如下:54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统图5-1小李报名现场小李报名结果如下:(写入数据库内信息,测试成功)图5-2小李报名结果54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统2、白盒测试 白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。通过测试,我们找出了系统的存在的不足,通过改进使系统更加完善。54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统结论系统是一个面向高校运动会,以现有运动会管理信息系统为基础,并针对它的不足而设计的基于无线网的数据采集与通信系统。它主要完成对运动会的运动员报名信息采集、查询、维护,以及运动员、系统用会信息的管理。本系统采用当前流行的面向对象的开发工具——MicrosoftVisualStudio.NET2003来完成整个系统的设计,在数据库的设计上利用了SQL Server2000的便利性和实用性。系统具有相当的实用功能。在浏览页上写入数据库时,实现了远程报名功能,节省了大量的人力物力开支,实现了信息、网络一体化。在查询方面,系统实现了报名信息查询,同时在详细查询上也得到了实现,系统可以自动识别用户不同的输入。在运动员信息录入和查询二者之间建立了良好的链接关系,某一部分地修改均会自动引发系统对与其相关的部分进行连锁修改。在用户管理方面,系统较好地实现了用户注册、登陆,用户注销和密码修改等各项功能。系统基本上完成了设计的要求,同时根据未来的需要留有了发展的余地,象比赛成绩的采集、自动录入、数据安全性提高等都可以是我们系统的发展方向。相信在不断的改进中,系统将更完善。54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统致 谢论文完成的前提是学校给我提供了舒适的学习环境,并给予我悉心的关怀与指导。在些表示衷心地感谢,特别是我的导师杨红杰老师在毕业设计的完成过程中给了我很大的帮助,她不仅让我对课题有了更深刻的认识,更重要的是老师认真负责的工作态度、严谨的治学风格,使我深受启发。毕业设计的过程中,与我共同开发这个系统的同学也让我感受良多,同学们之间的相互探讨使我获益匪浅,我们间的合作,也让我深深的认识到团队合作的重要性。3个月的时间转眼就过去了,我觉得我收获最大的不是学会了开发某个系统,也不是某种开发工具有了更深的认识,对我更重要的是从老师那学到了兢兢业业,奋发向上的精神和一丝不苟的严谨的治学作风,还有从同大家合作中体味到的那种团队合作精神。这些将是我今后人生前进道路上的一种力量、一种财富。我再次感谢老师和我的同学们,谢谢你们。54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统参考文献[1]谭宏等.第五届全国大学生运动会田径比赛电子设备配置情况综述[J].西安:体育学院学报.1997,(2):85-88[2]沙捷,费青松,王雁.高校运动会竞赛管理系统[J].中国计算机报.2004,4.20:15-16[3]李香敏.SQLServer2000编程员指南[M].北京:希望电子出版社.2000[4]马红华.新编SQLServer2000图解教程[M].北京:希望电子出版社.2001[5]谢云等.全自动足球机器人通信子系统的设计与实现[J].广州:计算机工程与应用.2005.03:30-33[6]王承文.SQLServer数据库的优化及保护[N].电脑知识与技术.2002.21(3):53-56[7]陈卫.B/S结构应用程序开发秘籍[M].北京:国防工业大学出版社,2001[8]李和林.IIS的安全机制[J].山西电子技术.2003,4(5):45-48[9]Web程序数据库连接调试,www.yesky.com天极网[10]马世霞,潘红.管理信息系统的设计[J].平原大学学报.2002,2(5):21-34[11]徐济仁,黄发文.基于ODBC的数据库接口应用程序的开发[N].系统工程与电子技术.2002,(6):87-90[12]HawthomeR.MicrosoftSQLServer2000DatabaseDevelopmentfromScrath.北京:人民邮电出版社,2001.4(3):56-90附录54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统源代码:Sporter数据表在内存中建立虚拟表的过程-----------------------------------------------Sporter------------------------------------------------usingSystem;usingSystem.Data;usingSystem.Runtime;usingSystem.Runtime.Serialization;namespacecaoliaoyuan.Common{//////SporterData的摘要说明。///publicclassSporterData:DataSet{publicconstStringSPORTER_TABLE="sporters";//定义一个在内存虚拟表的表名publicconstStringID_FIELD="编号";publicconstStringTBNAME_FIELD="姓名";publicconstStringTBXIBIE_FIELD="系别";publicconstStringTBXUEHAO_FIELD="学号";publicconstStringTBSEX_FIELD="性别";publicconstStringTBHEIGHT_FIELD="身高";publicconstStringTBTEL_FIELD="电话";publicconstStringDDTTS_FIELD="团体赛";publicconstStringDDJS1_FIELD="径赛1";publicconstStringDDJS2_FIELD="径赛2";publicconstStringDDTS1_FIELD="田赛1";publicconstStringDDTS2_FIELD="田赛2";publicconstStringTBBEIZ_FIELD="备注";privateSporterData(SerializationInfoinfo,StreamingContextcontext):base(info,context){}publicSporterData()//建表过程{////TODO:在此处添加构造函数逻辑//BuildDataTable();}privatevoidBuildDataTable()//建表函数的实现代码{DataTabletable=newDataTable(SPORTER_TABLE);DataColumnCollectioncolumns=table.Columns;DataColumnColumn=columns.Add(ID_FIELD,typeof(System.Int64));Column.AllowDBNull=false;Column.AutoIncrement=true;columns.Add(TBNAME_FIELD,typeof(System.String));columns.Add(TBXIBIE_FIELD,typeof(System.String));columns.Add(TBXUEHAO_FIELD,typeof(System.String));columns.Add(TBSEX_FIELD,typeof(System.String));columns.Add(TBHEIGHT_FIELD,typeof(System.String));54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统columns.Add(TBTEL_FIELD,typeof(System.String));columns.Add(DDTTS_FIELD,typeof(System.String));columns.Add(DDJS1_FIELD,typeof(System.String));columns.Add(DDJS2_FIELD,typeof(System.String));columns.Add(DDTS1_FIELD,typeof(System.String));columns.Add(DDTS2_FIELD,typeof(System.String));columns.Add(TBBEIZ_FIELD,typeof(System.String));this.Tables.Add(table);}}}Users的数据插入-----------------------------------InsertUser--------------------------------------------CREATEPROCEDUREInsertUser//在Users表中实现数据的插入功能;@UsernameVARCHAR(50),@PasswordVARCHAR(50),@LevelVARCHAR(50),@User_IDintoutput//ID自动生成加1;ASinsertusers(Username,Password,Level)select@Username,@Password,@Levelselect@User_ID=@@identityreturn0GOSporters的数据插入--------------------------------------InsertSporters---------------------------------------CREATEPROCEDUREInsertSporters@lbCodeVARCHAR(50)=0,//定义变量长度;@tbNameVARCHAR(50)=NULL,@tbXibieVARCHAR(50)=NULL,@tbXuehaoVARCHAR(50)=NULL,@tbSexVARCHAR(50)=NULL,@tbHeightVARCHAR(50)=NULL,@tbTelVARCHAR(50)=NULL,@ddTtsVARCHAR(50)=NULL,@ddJs1VARCHAR(50)=NULL,@ddJs2VARCHAR(50)=NULL,@ddTs1VARCHAR(50)=NULL,@ddTs2VARCHAR(50)=NULL,@tbBeizVARCHAR(255)=NULL,@IDBIGINT=NULLOUTPUTASSETNOCOUNTONSETXACT_ABORTON--SELECT*FROMpart--WHEREcode=@codeorold_code=@old_code--orfactory_code=@factory_codeorpart_code=@part_code--if@@ROWCOUNT>0--RETURN0--BEGINTRANSACTION54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统INSERTsporters(tbName,tbXibie,tbXuehao,tbSex,tbHeight,tbTel,ddTts,ddJs1,ddJs2,ddTs1,ddTs2,tbBeiz)SELECT@tbName,@tbXibie,@tbXuehao,@tbSex,@tbHeight,@tbTel,@ddTts,@ddJs1,@ddJs2,@ddTs1,@ddTs2,@tbBeizSELECT@ID=@@IDENTITY--COMMITTRANSACTIONRETURN0GO-------------------------------------------------DetailModule-----------------------------------------//////DetailModule的摘要说明。///publicclassDetailModule:System.Web.UI.UserControl{protectedSystem.Web.UI.WebControls.ImageImage1;protectedSystem.Web.UI.WebControls.PanelPanel1;protectedSystem.Web.UI.WebControls.ImageImage2;protectedSystem.Web.UI.WebControls.ImageImage3;protectedSystem.Web.UI.WebControls.LabellbCsh;protectedSystem.Web.UI.WebControls.PanelPanel2;protectedSystem.Web.UI.WebControls.PanelPanel3;protectedSystem.Web.UI.WebControls.PanelPanel4;protectedSystem.Web.UI.WebControls.PanelPanel6;protectedSystem.Web.UI.WebControls.PanelPanel5;protectedSystem.Web.UI.WebControls.TextBoxtbName;protectedSystem.Web.UI.WebControls.TextBoxtbXibie;protectedSystem.Web.UI.WebControls.TextBoxtbXuehao;protectedSystem.Web.UI.WebControls.TextBoxtbSex;protectedSystem.Web.UI.WebControls.TextBoxtbHeight;54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统protectedSystem.Web.UI.WebControls.TextBoxtbTel;protectedSystem.Web.UI.WebControls.DropDownListddTts;protectedSystem.Web.UI.WebControls.DropDownListddJs1;protectedSystem.Web.UI.WebControls.DropDownListddJs2;protectedSystem.Web.UI.WebControls.DropDownListddTs1;protectedSystem.Web.UI.WebControls.DropDownListddTs2;protectedSystem.Web.UI.WebControls.TextBoxtbBeiz;protectedSystem.Web.UI.WebControls.LabelID;protectedSystem.Web.UI.WebControls.ValidationSummaryValidationSummary1;privatevoidPage_Load(objectsender,System.EventArgse){//在此处放置用户代码以初始化页面}#regionWeb窗体设计器生成的代码overrideprotectedvoidOnInit(EventArgse){//CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。//InitializeComponent();base.OnInit(e);}//////设计器支持所需的方法-不要使用代码编辑器///修改此方法的内容。///privatevoidInitializeComponent(){this.tbBeiz.TextChanged+=newSystem.EventHandler(this.tbBeiz_TextChanged);this.Load+=newSystem.EventHandler(this.Page_Load);}#endregion--------------------------------------InsertSporter--------------------------------------privatevoidtbBeiz_TextChanged(objectsender,System.EventArgse){}publicvoidInsertSporter(){SporterDatadata=newSporterData();DataRowdr=data.Tables[SporterData.SPORTER_TABLE].NewRow();dr[SporterData.TBNAME_FIELD]=this.tbName.Text;dr[SporterData.TBXIBIE_FIELD]=this.tbXibie.Text;dr[SporterData.TBXUEHAO_FIELD]=this.tbXuehao.Text;dr[SporterData.TBSEX_FIELD]=this.tbSex.Text;dr[SporterData.TBHEIGHT_FIELD]=this.tbHeight.Text;54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统dr[SporterData.TBTEL_FIELD]=this.tbTel.Text;dr[SporterData.DDTTS_FIELD]=this.ddTts.SelectedValue;dr[SporterData.DDJS1_FIELD]=this.ddJs1.SelectedValue;dr[SporterData.DDJS2_FIELD]=this.ddJs2.SelectedValue;dr[SporterData.DDTS1_FIELD]=this.ddTs1.SelectedValue;dr[SporterData.DDTS2_FIELD]=this.ddTs2.SelectedValue;dr[SporterData.TBBEIZ_FIELD]=this.tbBeiz.Text;data.Tables[SporterData.SPORTER_TABLE].Rows.Add(dr);using(Sportersporter=newSporter()){sporter.InsertSporter(data);}Response.Write("");}}}数据插入功能实现代码如下-----------------------------------------------Insert---------------------------------------------#regionInsertprivateSqlCommandGetInsertCommand(){if(insertCommand==null){insertCommand=newSqlCommand("InsertSporters",newSqlConnection(caoliaoyuanConfiguration.ConnectionString));insertCommand.CommandType=CommandType.StoredProcedure;SqlParameterCollectionsqlParams=insertCommand.Parameters;sqlParams.Add(newSqlParameter("@Id",SqlDbType.BigInt));sqlParams.Add(newSqlParameter("@tbName",SqlDbType.VarChar,50));sqlParams.Add(newSqlParameter("@tbXibie",SqlDbType.VarChar,50));sqlParams.Add(newSqlParameter("@tbXuehao",SqlDbType.VarChar,50));sqlParams.Add(newSqlParameter("@tbSex",SqlDbType.VarChar,50));sqlParams.Add(newSqlParameter("@tbHeight",SqlDbType.VarChar,50));sqlParams.Add(newSqlParameter("@tbTel",SqlDbType.VarChar,50));sqlParams.Add(newSqlParameter("@ddTts",SqlDbType.VarChar,50));sqlParams.Add(newSqlParameter("@ddJs1",SqlDbType.VarChar,50));sqlParams.Add(newSqlParameter("@ddJs2",SqlDbType.VarChar,50));sqlParams.Add(newSqlParameter("@ddTs1",SqlDbType.VarChar,50));sqlParams.Add(newSqlParameter("@ddTs2",SqlDbType.VarChar,50));sqlParams.Add(newSqlParameter("@tbBeiz",SqlDbType.VarChar,255));sqlParams["@Id"].SourceColumn=SporterData.ID_FIELD;sqlParams["@Id"].Direction=ParameterDirection.Output;sqlParams["@tbName"].SourceColumn=SporterData.TBNAME_FIELD;sqlParams["@tbXibie"].SourceColumn=SporterData.TBXIBIE_FIELD;sqlParams["@tbXuehao"].SourceColumn=SporterData.TBXUEHAO_FIELD;sqlParams["@tbSex"].SourceColumn=SporterData.TBSEX_FIELD;sqlParams["@tbHeight"].SourceColumn=SporterData.TBHEIGHT_FIELD;sqlParams["@tbTel"].SourceColumn=SporterData.TBTEL_FIELD;sqlParams["@ddTts"].SourceColumn=SporterData.DDTTS_FIELD;sqlParams["@ddJs1"].SourceColumn=SporterData.DDJS1_FIELD;sqlParams["@ddJs2"].SourceColumn=SporterData.DDJS2_FIELD;sqlParams["@ddTs1"].SourceColumn=SporterData.DDTS1_FIELD;sqlParams["@ddTs2"].SourceColumn=SporterData.DDTS2_FIELD;54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统sqlParams["@tbBeiz"].SourceColumn=SporterData.TBBEIZ_FIELD;}returninsertCommand;}publicboolInsertSporter(SporterDatasporter){if(dsCommand==null){thrownewSystem.ObjectDisposedException(GetType().FullName);}dsCommand.InsertCommand=GetInsertCommand();dsCommand.Update(sporter,SporterData.SPORTER_TABLE);if(sporter.HasErrors){sporter.Tables[SporterData.SPORTER_TABLE].GetErrors()[0].ClearErrors();returnfalse;}else{sporter.AcceptChanges();returntrue;}}#endregion}-------------------------------------SporterData--------------------------------------------------singSystem;usingSystem.Data;usingSystem.Runtime;usingSystem.Runtime.Serialization;namespacecaoliaoyuan.Common{//////SporterData的摘要说明。///publicclassSporterData:DataSet{publicconstStringSPORTER_TABLE="sporters";publicconstStringID_FIELD="编号";publicconstStringTBNAME_FIELD="姓名";publicconstStringTBXIBIE_FIELD="系别";publicconstStringTBXUEHAO_FIELD="学号";publicconstStringTBSEX_FIELD="性别";publicconstStringTBHEIGHT_FIELD="身高";publicconstStringTBTEL_FIELD="电话";publicconstStringDDTTS_FIELD="团体赛";publicconstStringDDJS1_FIELD="径赛1";publicconstStringDDJS2_FIELD="径赛2";publicconstStringDDTS1_FIELD="田赛1";publicconstStringDDTS2_FIELD="田赛2";publicconstStringTBBEIZ_FIELD="备注";privateSporterData(SerializationInfoinfo,StreamingContextcontext):base(info,context){}publicSporterData()54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统{////TODO:在此处添加构造函数逻辑//BuildDataTable();}privatevoidBuildDataTable(){DataTabletable=newDataTable(SPORTER_TABLE);DataColumnCollectioncolumns=table.Columns;DataColumnColumn=columns.Add(ID_FIELD,typeof(System.Int64));Column.AllowDBNull=false;Column.AutoIncrement=true;columns.Add(TBNAME_FIELD,typeof(System.String));columns.Add(TBXIBIE_FIELD,typeof(System.String));columns.Add(TBXUEHAO_FIELD,typeof(System.String));columns.Add(TBSEX_FIELD,typeof(System.String));columns.Add(TBHEIGHT_FIELD,typeof(System.String));columns.Add(TBTEL_FIELD,typeof(System.String));columns.Add(DDTTS_FIELD,typeof(System.String));columns.Add(DDJS1_FIELD,typeof(System.String));columns.Add(DDJS2_FIELD,typeof(System.String));columns.Add(DDTS1_FIELD,typeof(System.String));columns.Add(DDTS2_FIELD,typeof(System.String));columns.Add(TBBEIZ_FIELD,typeof(System.String));this.Tables.Add(table);}------------------------------------UserData----------------------------------usingSystem;usingSystem.Data;namespacecaoliaoyuan.Common{//////UserData的摘要说明。///publicclassUserData:DataSet{publicconstStringUSER_TABLE="users";publicconstStringUSER_ID_FIELD="User_ID";publicconstStringUSERNAME_FIELD="Username";publicconstStringPASSWORD_FIELD="password";publicconstStringLEVEL_FIELD="Level";publicUserData(){////TODO:在此处添加构造函数逻辑//BuildDataTable();}privatevoidBuildDataTable()54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统{DataTabletable=newDataTable(USER_TABLE);DataColumnCollectioncolumns=table.Columns;columns.Add(USER_ID_FIELD,typeof(System.Int32));columns.Add(USERNAME_FIELD,typeof(System.String));columns.Add(PASSWORD_FIELD,typeof(System.String));columns.Add(LEVEL_FIELD,typeof(System.String));columns[USER_ID_FIELD].AllowDBNull=false;columns[USER_ID_FIELD].AutoIncrement=true;this.Tables.Add(table);}-----------------------------------mgeSearch-------------------------------------------------privatevoidimgeSearch_Click(objectsender,System.Web.UI.ImageClickEventArgse){StringstrSearch="";//功能是:查询与输入信息相匹配的字段,然后把它复制给strSearch;if(this.ddField.SelectedIndex==0){strSearch+=SporterData.TBNAME_FIELD+"like'%"+tbkey.Text+"%'";strSearch+="or"+SporterData.TBXIBIE_FIELD+"like'%"+tbkey.Text+"%'";strSearch+="or"+SporterData.DDTTS_FIELD+"like'%"+tbkey.Text+"%'";strSearch+="or"+SporterData.DDJS1_FIELD+"like'%"+tbkey.Text+"%'";strSearch+="or"+SporterData.DDJS2_FIELD+"like'%"+tbkey.Text+"%'";strSearch+="or"+SporterData.DDTS1_FIELD+"like'%"+tbkey.Text+"%'";strSearch+="or"+SporterData.DDTS2_FIELD+"like'%"+tbkey.Text+"%'";strSearch+="or"+SporterData.TBBEIZ_FIELD+"like'%"+tbkey.Text+"%'";}elseif(this.ddField.SelectedIndex==1){strSearch+=SporterData.TBXUEHAO_FIELD+"like'%"+tbkey.Text+"%'";strSearch+=SporterData.TBTEL_FIELD+"like'%"+tbkey.Text+"%'";}Sportersporter=newSporter();SporterDatasdata=newSporterData();sdata=sporter.GetSporters(-2);sdata.Tables[SporterData.SPORTER_TABLE].DefaultView.RowFilter=strSearch;//实现把内存表内的信息写入DataGrid1里,同时显示出来;DataGrid1.DataSource=sdata.Tables[SporterData.SPORTER_TABLE].DefaultView;DataGrid1.DataBind();-----------------------------------Users------------------------------------usingSystem;usingSystem.Data;usingcaoliaoyuan.Common;54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统usingSystem.Data.SqlClient;namespacecaoliaoyuan.DataAccess{//////Users的摘要说明。///publicclassUsers{privateSqlDataAdapterdsCommand;publicUsers(){////TODO:在此处添加构造函数逻辑//dsCommand=newSqlDataAdapter();dsCommand.TableMappings.Add("Table",UserData.USER_TABLE);}publicUserDataGetUser(StringUsername,StringPassword){dsCommand.SelectCommand=newSqlCommand();dsCommand.SelectCommand.Connection=newSqlConnection(caoliaoyuanConfiguration.ConnectionString);dsCommand.SelectCommand.CommandType=CommandType.StoredProcedure;dsCommand.SelectCommand.CommandText="GetUserByNamePwd";dsCommand.SelectCommand.Parameters.Add("@Username",SqlDbType.VarChar,50);dsCommand.SelectCommand.Parameters.Add("@Password",SqlDbType.VarChar,50);dsCommand.SelectCommand.Parameters["@Username"].Value=Username;dsCommand.SelectCommand.Parameters["@Password"].Value=Password;UserDatadata=newUserData();dsCommand.Fill(data);returndata;}publicboolInsertUser(UserDatadata){dsCommand.InsertCommand=newSqlCommand();dsCommand.InsertCommand.Connection=newSqlConnection(caoliaoyuanConfiguration.ConnectionString);dsCommand.InsertCommand.CommandType=CommandType.StoredProcedure;dsCommand.InsertCommand.CommandText="InsertUser";dsCommand.InsertCommand.Parameters.Add("@User_ID",SqlDbType.Int,4);dsCommand.InsertCommand.Parameters.Add("@Username",SqlDbType.VarChar,50);dsCommand.InsertCommand.Parameters.Add("@Password",SqlDbType.VarChar,50);dsCommand.InsertCommand.Parameters.Add("@Level",SqlDbType.VarChar,50)dsCommand.InsertCommand.Parameters["@User_ID"].Direction=ParameterDirection.Output;54\n基于B/S和C/S混合模式的高校运动会管理系统——B/S端子系统dsCommand.InsertCommand.Parameters["@User_ID"].SourceColumn=UserData.USER_ID_FIELD;dsCommand.InsertCommand.Parameters["@Username"].SourceColumn=UserData.USERNAME_FIELD;dsCommand.InsertCommand.Parameters["@Password"].SourceColumn=UserData.PASSWORD_FIELD;dsCommand.InsertCommand.Parameters["@Level"].SourceColumn=UserData.LEVEL_FIELD;dsCommand.Update(data,UserData.USER_TABLE);data.AcceptChanges();returntrue;54

相关文档