基于UML测试用例的研究和实现_第1页
基于UML测试用例的研究和实现_第2页
基于UML测试用例的研究和实现_第3页
基于UML测试用例的研究和实现_第4页
基于UML测试用例的研究和实现_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于UML测试用例的研究和实现密级: UNIVERSITY 学 士 学 位 论 文THESIS OF BACHELOR( 20 年 ) 题 目 学 院: 系 专 业: 班 级: 学 号: 学生姓名: 指导教师: 起讫日期: 摘 要计算机是一门研究用计算机进行信息表示和处理的科学,这就需要我们能够有效的表示信息,处理信息。随着计算机的普及,信息量的增加,信息范围的拓宽,使许多系统程序和应用程序的规模很大,结构又相当复杂,因此,为了编写出一个“好”的程序,必须分析待处理的对象的特征及各对象之间存在的关系,这就是程序设计这所要研究的问题。计算机解决一个具体问题时,大致需要经过下列几个步骤:首先要从

2、具体问题中抽象出一个适当的数学模型,然后设计一个解此数学模型的算法(Algorithm),最后编出程序、进行测试、调整直至得到最终解答。寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。计算机算法与数据的结构密切相关,算法无不依附于具体的数据结构,数据结构直接关系到算法的选择和效率。设计充分利用C#的强大力量,提高了编程效率和可靠性。算法设计是软件工程、计算机科学及相关专业重要的专业技术基础课程和关键性核心课程,是系统软件及大型应用软件的重要基础。本课程系统的介绍了软件设计中常用的算法设计与分析方法,锻炼学生分析问题和解决问题的能力,

3、为开发高效的软件系统及相关领域的研究工作奠定坚实的基础,为学习专业课程及提高软件设计水平打下良好的基础。关键字 :编程;C#;窗体System Based on C#Abstract :The computer is a study of computer science and processing, which requires that we can effectively represent information, process information. With the proliferation of computers, the increase in the amount

4、of information, information on the scope of expanding, and so many systems and applications a large scale, the structure is quite complex, Therefore, in order to write a "good" program, you must analyze the pending the relationship that exists between the characteristics of the object and

5、the object, this is the program designed to study the problem. Computer to solve a specific problem, roughly the following steps: first abstract from specific issues in an appropriate mathematical model, and then design a solution of this mathematical model algorithm (Algorithm), and finally compile

6、 the program, test, adjustment until you get the final answer. Seeking the essence of the mathematical model of the problem, extract the object of the operation, and to identify the relationship between the operation target containing, and then use the language of mathematics will be described. Comp

7、uter algorithms and data related to the structure, algorithms are all attached to a specific data structure, the data structure directly related to the selection and efficiency of the algorithm. Designed to take advantage of the powerful force of the C # programming efficiency and reliability. The a

8、lgorithm design software engineering, computer science and related professional important professional and technical foundation courses and critical core curriculum is an important foundation of the system software and large-scale applications. This course introduces the software design algorithm de

9、sign and analysis methods, training students to analyze problems and problem-solving skills, and lay a solid foundation for the development of efficient software systems and related research in the field, learning curriculum and improve software design level and lay a good foundation.Keywords: Progr

10、amming; C #; Forms目 次摘要IAbstractII摘 要II1 绪论11.1 课题背景及其意义11.2 当前国内外发展概况调研11.2.1 系统理论的发展11.2.2应用技术的发展11.3 课题任务21.4 本文的组织结构32 系统需求分析42.1 系统可行性分析42.2 功能需求分析42.5 本章小结53 系统概要设计63.1 系统功能设计63.2 系统的体系结构设计73.2.1 系统实现技术73.2.2 开发语言93.2.3 系统结构93.4 本章小结104 系统数据库设计114.1 数据库表结构114.2 本章小结115 系统的具体实现125.1 数据访问层的实现125

11、.1.1 配置数据库连接125.1.2数据库类成员125.2 业务逻辑层的实现135.3 页面显示层的实现135.4 本章小结156 系统测试166.1 系统测试目的166.2 测试方法166.3 测试结果166.3.1 结构信息测试166.3.2 系统用户界面测试176.3.3 系统登录测试177 总结与展望187.1 总结187.2 展望18参考文献191 绪论1.1 课题背景及其意义有限状态自动机(FSM "finite state machine" 或者FSA "finite state automaton" )是为研究有限内存的计算过程和某些语

12、言类而抽象出的一种计算模型。有限状态自动机拥有有限数量的状态,每个状态可以迁移到零个或多个状态,输入字串决定执行哪个状态的迁移。有限状态自动机可以表示为一个有向图。有限状态自动机是自动机理论的研究对象。经过大学四年理论课程的学习,以及校内校外的实践,极大的丰富了自身的理论基础,并且也具备了一些处理简单问题的能力,但即将踏上社会的我深知这还远远不够,因此我利用了毕业设计的机会,在老师的指导下去完成一个具有挑战性的,其具体应用及社会服务相结合的项目,深知通过对它的开发,将对我的能力有更高层次的突破。开发软件的一个目的是针对目前市面上的系统存在的功能不全,操作复杂,系统要求高等一系列问题,而设想一个

13、具有个性化系统。管理人员软件操作的适应时间和操作感觉这些方面都将大大的提高。给定xml格式的自动机(自动机描述了逻辑信息)(有代码),xml里面存储逻辑控制信息,生成脚本(这个脚本里面就是控制信息)(所谓的控制信息,就是 测试场景),这些信息是由自动机转换来的,自动机里有什么逻辑,转换的脚本就包含什么逻辑,然后和数据库里的数据 合并为一个最后的执行脚本二当自动机描述的逻辑是,加减乘除的时候,就是用来测试计算器的三数据驱动脚本是将测试输入和期望输出存储在数据文件中,而不是存储在脚本中,脚本中只存放控制信息。执行测试时,从文件中而不是从脚本中读取测试输入。 1.2 当前国内外发展概况调研1.2.1

14、 系统理论的发展系统的基本理论研究,正朝着以下几个方向的发展:(1)系统研制方法的进一步系统化的研究。(2)系统研制工具的进一步改善和完善的研究。(3)系统模型的进一步研究。(4)信息系统对人、组织和社会影响的进一步研究。1.2.2应用技术的发展C#是Microsoft为.NET平台量身定做的语言,是基于.NET平台的最佳语言。它不仅能轻松的完成其他语言的程序设计任务,对高级程序设计任务的支持也吸引了大批的程序员,如网络编程、数据库连接1、多线程、安全和保护特性等。C#是Microsoft专用在.NET Framework平台上进行开发的一门新型编程语言。.NET Framework由两部分构

15、成:托管代码执行的运行环境和几乎可以完成所有编程任务的众多类库。虽然很多语言都能够编写.NET代码,但C#是惟一针对.NET Framework而设计的语言,因此在今后几年内,C#将会成为编写.NET应用程序的首选。 B/S模式:将服务器分解成一个数据服务器和一个或多个应用服务器,从而构成一个三层结构体系。利用B/S构架技术,即可在内部网上发布各种信息,供查询、借阅。在查询过程中,我们可以在客户机通过浏览器实现,不必另外安装软件,从而减少了维护工作量,同时还可以不断推出新的查询版本,以满足用户不断增长的需要。C/S模式: 将系统分布于两个独立的实体客户机和数据库服务器中,开发的应用程序安装在每

16、个客户机端,并与网络服务器数据库相连。其优点在于人机交互方面具有更大的灵活性,在数据访问处理速度和数据安全上有一定的优势;缺点是在更新客户端服务程序时,大大增加维护量,造成维护工作困难。1.3 课题任务有多种类型的有限状态自动机:接受器判断是否接受输入;转换器对给定输入产生一个输出。常见的转换器有 Moore 机 与 Mealy 机。Moore 机对每一个状态都附加有输出动作,Mealy 机对每一个转移都附加有输出动作。有限状态自动机还可以分成确定与非确定两种。非确定有限状态自动机可以转化为确定有限状态自动机。有限状态自动机识别的语言是正规语言。有限状态自动机除了它在理论上的价值,还在数字电路

17、设计、词法分析、文本编辑器程序等领域得到了应用。自动机接受的所有字串构成了自动机识别的语言 L(M)。非确定有限状态自动机一个非确定有限状态自动机(NFA "Non-deterministic finite automaton")M 是由下述元素构成的五元组 (Q,q0,F)有穷状态集合 Q ;有穷输入字母表 ;转移函数 : Q × -> 2Q;初始状态 q0;终结状态集合 F,F 包含于 Q 。自动机从初始状态 q0 起,逐一读入输入串(由输入字母表 的字母构成)的每一个字母,根据当前状态、输入字母和转移函数 决定自动机的下一步状态;如果输入串结束时,自动

18、机处于终结状态集合 F 的某一个状态,这表示自动机接受该字串;否则自动机不接受该字串。非确定有限状态自动机与确定有限状态自动机的唯一区别是它们的转移函数不同。确定有限状态自动机对每一个可能的输入只有一个状态的转移。非确定有限状态自动机对每一个可能的输入可以有多个状态转移,接受到输入时从这多个状态转移中非确定地选择一个。自动机接受的所有字串构成了自动机识别的语言 L(M)。1.4 本文的组织结构本文以基于C#的设计与实现为主题,围绕c#所采用的技术,及其需求和设计进行详细阐述,分为七部分:第一章主要介绍了课题产生的背景,围绕背景阐述此课题研究目的和意义,并结合国内外的研究现状,分析理论的发展以及

19、在实际应用中的发展。接着介绍了课题任务和文章的章节安排。第二章主要对进行系统的可行性分析,并按照由简单到细致的顺序对用户需求进行分析以及从业务流程的角度对系统的功能需求进行详细描述。第三章主要研究分析系统的功能模块和体系结构。第四章主要是对系统的实现进行数据库设计。第五章陈述了系统的具体实现过程,分别对系统的表示层、业务层和数据层的实现进行了说明。第六章介绍了系统的测试过程。第七章总结了全文的工作,并提出了系统需要进一步完善和改进的地方。 2 系统需求分析2.1 系统可行性分析可行性分析又称为可行性研究,是在系统调查的基础上针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社

20、会方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定难题是否得到解决。作为该系统的开发,该系统的可行性分析包括以下几个方面。(1)经济可行性。主要指费用的支出与收益回报的比例,二者是否匹配。用计算机代替人工进行录入,核对,统计,不但节约了时间,也节约了人力,例如实现了无纸化输入,节约了纸张的开销;网上订购和信息发布,可以减少采购中间环节的成本,及时将读者的需求进行反馈,大大提高了工作的效率。(2)技术可行性。随着Internet网络的发展,利用互联网进行信息的采集和发布已经用在任何地方任何场合,为此本系统考虑采用C/S结构,利用先进

21、的、效率高的新的系统开发工具C#来开发该系统,后台数据库2使用安全性高、可移植性好的SQL Server 2000,利用ADO.NET接口技术实现对后台数据库的访问。(3)人力资源可行性。可行性的重点应在人员素质方面。在使用c#的过程中,新的业务流程,新的操作方式。(4)时机可行性。为了提高学C#编程研管理能力,改变以往传统的管理方法,考虑使用效率更高、技术更先进的管理方式。在这种环境下,开发该系统有非常大的实际意义和可行性。2.2 功能需求分析用户对系统的功能要求主要包括:信息要求、处理要求、安全性要求、完整性要求。信息要求:能够通本系统,达到任务书要求的规范和完成系统功能,。处理要求:当系

22、统信息和交互信息发生变化时候,系统能正确处理。安全性要求:系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用。 完整性要求:各种信息记录的完整性,信息记录内容不能为空;各种数据间相互的联系的正确性;相同的数据在不同记录中的一致性。2.5 本章小结本章首先对系统的可行性进行了详细分析,接着对用户需求进行分析。其次对论文的组织结构进行概述。最后功能需求分析中首先介绍对系统的总体功能需求,然后在简析各个功能的要求。3 系统概要设计3.1 系统功能设计通过前面章节所述的用户需求可以看出,要功能模块如图3.1所示:图3.1 系统主要功能模块图功能描述如下:(1)

23、读取数据库的值。(2)读取XML的符号。(3)自动生成结果。(4)导出txt。 3.2 系统的体系结构设计 3.2.1 系统实现技术sqlDataReader对象 data reader对象允许你获得从command对象的SELECT语句得到的结果。考虑性能的因素,从data reader返回的数据都是快速的且只是“向前”的数据流。这意味着你只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是如果你需要操作数据,更好的办法是使用DataSet。 DataSet对象 该对象包括多个DataTable对象,而DataTable包含列和行,就象一个普通的数据库中的表。你甚至能够定义表

24、之间的关系来创建主从关系(parent-child relationships)。DataSet是在特定的场景下使用帮助管理内存中的数据并支持对数据的断开操作的。DataSet是被所有Data Providers使用的对象,因此它并不像Data Provider一样需要特别的前缀。 SqlDataAdapter对象 该对象通过断开模型来帮助用户方便的完成对以上情况的处理。当在一单批次的对数据库的读写操作的持续的改变返回至数据库的时候,Data adapter 填充(fill)DataSet对象。data adapter包含对连接对象以及当对数据库进行读取或者写入的时候自动的打开或者关闭连接的引

25、用。另外,data adapter包含对数据的SELECT,INSERT,UPDATE和DELETE操作的command对象引用。你将为DataSet中的每一个table都定义data adapter,它将为你照顾所有与数据库的连接。所有你将做的工作是告诉data adapter什么时候装载或者写入到数据库3.2.2 开发语言C#是微软公司研究员Anders Hejlsberg的最新成果9。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型

26、)是直接集成的,而且它是微软公司.NET windows网络框架的主角。C#是一种安全的、稳定的、简单的,由C和C+衍生出来的面向对象的编程语言10。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。C#已经成为ECMA与ISO的标准规范11。C#看似基于C+写成,但又融入其它语言如Delphi、Java、VB,大大方便熟悉不同语言的程序员的使用。3.2.3 系统结构C/S (Client/Serve

27、r)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。3.4 本章小结本章首先对系统所包含的功能模块进行划分,明确各功能模块所面向的用户类型和应当实现的功能;

28、最后从系统建设的角度,对系统的宏观结构进行划分,系统结构确定选用C/S架构,选择C#编程语言进行系统的开发。4 系统数据库设计4.1 数据库表结构id int Uncheckednum1nvarchar(MAX)Checkednum2nvarchar(MAX)Checkednum3nvarchar(MAX)Checkednum4nvarchar(MAX)Checked在系统中,数据库还是最佳的数据存储方式,虽然已经有很多的书籍在指导我们进行数据库设计,但应该那种方式是设计数据库的表结构的最好方法、设计时应遵从什么样的原则、四个范式如何能够用一种方式达到顺畅的应用等是我一直在思考和总结的问题,下

29、文是我针对这几个问题根据自己的设计经历准备总结的一篇文章的提纲,欢迎大家一块进行探讨,集思广益。其中提到了领域建模的概念,但未作详细解释,希望以后能够有时间我们针对这个命题进行深入探讨。1)不应该针对整个系统进行数据库设计,而应该根据系统架构中的组件划分,针对每个组件所处理的业务进行组件单元的数据库设计;不同组件间所对应的数据库表之间的关联应尽可能减少,如果不同组件间的表需要外键关联也尽量不要创建外键关联,而只是记录关联表的一个主键,确保组件对应的表之间的独立性,为系统或表结构的重构提供可能性。2)采用领域模型驱动的方式和自顶向下的思路进行数据库设计,首先分析系统业务,根据职责定义对象。对象要

30、符合封装的特性,确保与职责相关的数据项被定义在一个对象之内,这些数据项能够完整描述该职责,不会出现职责描述缺失。并且一个对象有且只有一项职责,如果一个对象要负责两个或两个以上的职责,应进行分拆。3)根据建立的领域模型进行数据库表的映射,此时应参考数据库设计第二范式:一个表中的所有非关键字属性都依赖于整个关键字。关键字可以是一个属性,也可以是多个属性的集合,不论那种方式,都应确保关键字能够保证唯一性。在确定关键字时,应保证关键字不会参与业务且不会出现更新异常,这时,最优解决方案为采用一个自增数值型属性或一个随机字符串作为表的关键字。4)由于第一点所述的领域模型驱动的方式设计数据库表结构,领域模型

31、中的每一个对象只有一项职责,所以对象中的数据项不存在传递依赖,所以,这种思路的数据库表结构设计从一开始即满足第三范式:一个表应满足第二范式,且属性间不存在传递依赖。5)同样,由于对象职责的单一性以及对象之间的关系反映的是业务逻辑之间的关系,所以在领域模型中的对象存在主对象和从对象之分,从对象是从1N或NN的角度进一步主对象的业务逻辑,所以从对象及对象关系映射为的表及表关联关系不存在删除和插入异常。6)在映射后得出的数据库表结构中,应再根据第四范式进行进一步修改,确保不存在多值依赖。这时,应根据反向工程的思路反馈给领域模型。如果表结构中存在多值依赖,则证明领域模型中的对象具有至少两个以上的职责,

32、应根据第一条进行设计修正。第四范式:一个表如果满足BCNF,不应存在多值依赖。7)在经过分析后确认所有的表都满足二、三、四范式的情况下,表和表之间的关联尽量采用弱关联以便于对表字段和表结构的调整和重构。并且,我认为数据库中的表是用来持久化一个对象实例在特定时间及特定条件下的状态的,只是一个存储介质,所以,表和表之间也不应用强关联来表述业务(数据间的一致性),这一职责应由系统的逻辑层来保证,这种方式也确保了系统对于不正确数据(脏数据)的兼容性。当然,从整个系统的角度来说我们还是要尽最大努力确保系统不会产生脏数据,单从另一个角度来说,脏数据的产生在一定程度上也是不可避免的,我们也要保证系统对这种情

33、况的容错性。这是一个折中的方案。8)应针对所有表的主键和外键建立索引,有针对性的(针对一些大数据量和常用检索方式)建立组合属性的索引,提高检索效率。虽然建立索引会消耗部分系统资源,但比较起在检索时搜索整张表中的数据尤其时表中的数据量较大时所带来的性能影响,以及无索引时的排序操作所带来的性能影响,这种方式仍然是值得提倡的。9)尽量少采用存储过程,目前已经有很多技术可以替代存储过程的功能如“对象/关系映射”等,将数据一致性的保证放在数据库中,无论对于版本控制、开发和部署、以及数据库的迁移都会带来很大的影响。但不可否认,存储过程具有性能上的优势,所以,当系统可使用的硬件不会得到提升而性能又是非常重要

34、的质量属性时,可经过平衡考虑选用存储过程。10)当处理表间的关联约束所付出的代价(常常是使用性上的代价)超过了保证不会出现修改、删除、更改异常所付出的代价,并且数据冗余也不是主要的问题时,表设计可以不符合四个范式。四个范式确保了不会出现异常,但也可能由此导致过于纯洁的设计,使得表结构难于使用,所以在设计时需要进行综合判断,但首先确保符合四个范式,然后再进行精化修正是刚刚进入数据库设计领域时可以采用的最好办法。11)设计出的表要具有较好的使用性,主要体现在查询时是否需要关联多张表且还需使用复杂的SQL技巧。12)设计出的表要尽可能减少数据冗余,确保数据的准确性,有效的控制冗余有助于提高数据库的性

35、能。5.2 业务逻辑层的实现业务层的设计是整个系统的重点和难点。在该系统中根据需求分析和设计,抽象出主要的业务层组件。5.3 页面显示层的实现在表示层中,主要采用C#来实现。.NET本身提供了比较丰富的控件,基本上可以满足需要,为了维护系统界面的一致性,对一些比较常用的页面元素作成控件,这样每个用到的页面可直接利用这些控件,简化了设计。在实现时,使用C#的Form1结合用户控件写的。例如用户登录页面Login完成登录功能,页面布局如图 所示。在此插入系统图片页面布局图当用户单击“登录”按钮时,系统将根据用户的输入对其进行身份验证,实现代码如下: String str = "Data

36、Source=; Initial Catalog=LMS;User ID=sa;pwd=" SqlConnection conn = new SqlConnection(str);/ 建立数据库连接 String p = "select * from Userid where 用户名 ='" + textBox1.Text.Trim() + "' and 密码 ='" + textBox2.Text.Trim() + "'" SqlDataAdapter adapter =

37、new SqlDataAdapter(p, conn); SqlCommandBuilder build = new SqlCommandBuilder(adapter); DataSet ds = new DataSet(); adapter.Fill(ds); if (ds.Tables0.Rows.Count > 0) MainFrom main = new MainFrom(); main.Show(); this.Visible = false; else i+; MessageBox.Show("信息输入不正确", "提示", Mess

38、ageBoxButtons.OK, MessageBoxIcon.Information); textBox1.Text = "" textBox2.Text = "" if (i > 2) MessageBox.Show("错误次数大于3次,强制退出!"); Application.Exit(); return; catch (Exception) MessageBox.Show("请输入正确信息!"); using System;using System.Collections.Generic;using

39、 System.Text;using System.Data; /添加引用using System.Windows.Forms;using System.Data.SqlClient;using System.Collections; namespace RDSystem.ItemClass class SqlBaseClass #region 代码中用到的变量 SqlDataAdapter G_Da; /声明数据适配器对象 DataSet G_Ds; /声明数据集对象 SqlCommand G_Com; SqlConnection G_Con; /声明链接对象 #endregion #reg

40、ion 连接数据库 public SqlConnection GetCon() string StrConn = "Data Source=.;Initial Catalog=zdj;Integrated Security=True" G_Con = new SqlConnection(StrConn); G_Con.Open(); return G_Con; #endregion #region 构造函数 / <summary> / 构造函数 / </summary> public SqlBaseClass() #endregion /#regio

41、n 连接数据库 / <summary> / 连接数据库 / </summary> / <returns></returns> /public SqlConnection GetCon() / / G_Con = new SqlConnection(G_Str_ConnectionString); / G_Con.Open(); / return G_Con; / /#endregion #region 执行SQL语句 / <summary> / 执行SQL语句 / </summary> / <param name=&

42、quot;cmdtxt">要执行的SQL语句</param> / <returns></returns> public bool GetExecute(string cmdtxt) G_Com = new SqlCommand(cmdtxt, GetCon(); G_Com.ExecuteNonQuery(); if (GetCon().State = ConnectionState.Open) GetCon().Close(); GetCon().Dispose(); return true; #endregion #region 返回数据

43、集类型 / <summary> / 返回数据集类型 / </summary> / <param name="cmdtxt">需要查询的SQL语句</param> / <returns></returns> public DataSet GetDs(string cmdtxt) G_Da = new SqlDataAdapter(cmdtxt, GetCon(); G_Ds = new DataSet(); G_Da.Fill(G_Ds); if (GetCon().State = ConnectionS

44、tate.Open) GetCon().Close(); GetCon().Dispose(); return G_Ds; #endregion #region 返回数据表类型 / <summary> / 返回数据表 / </summary> / <param name="cmdtxt"></param> / <param name="tablename"></param> / <returns></returns> public DataTable GetT

45、able(string cmdtxt,string tablename) DataTable P_tbl; /声明一个DataTable对象 G_Da = new SqlDataAdapter(cmdtxt, tablename); P_tbl = new DataTable(tablename); G_Da.Fill(P_tbl); /将表中对象放入P_tbl中 if (GetCon().State = ConnectionState.Open) GetCon().Close(); GetCon().Dispose(); return P_tbl; #endregion #region 返回

46、SqlDaraReader类型数据 / <summary> / 返回SqlDataReader类型数据 / </summary> / <param name="cmdtxt">要执行的SQL语句</param> / <returns></returns> public SqlDataReader GetReader(string cmdtxt) G_Com = new SqlCommand(cmdtxt, GetCon(); /声明SqlCommand对象 SqlDataReader P_Dr; P_D

47、r = G_Com.ExecuteReader(); if (GetCon().State = ConnectionState.Open) GetCon().Close(); GetCon().Dispose(); return P_Dr; #endregion 5.4 读取XML数据源可扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方

48、法来描述和交换独立于应用程序或供应商的结构化数据。XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是存储数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。XML与HTML的设计区别是:XML 被设计为传输和存储数据,其焦点是数据的内容。而HTML 被设计用来显示数据,其焦点是数据的外观。HTML 旨在显示信息,而 XML 旨在传输信息。XML和HTML语法区别:HTML的标记不是所有的都需要成对出现,XML则要

49、求所有的标记必须成对出现;HTML标记不区分大小写,XML则 大小敏感,即区分大小写。XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows,Mac OS,Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。using System.Xml;/初始化一个xml实例XmlDocument xml=new XmlDocument();/导入指定xml文件xml.Load(path);xml.L

50、oad(HttpContext.Current.Server.MapPath("/file/bookstore.xml");/指定一个节点XmlNode root=xml.SelectSingleNode("/root");/获取节点下所有直接子节点XmlNodeList childlist=root.ChildNodes;/判断该节点下是否有子节点root.HasChildNodes;/获取同名同级节点集合XmlNodeList nodelist=xml.SelectNodes("/Root/News");/生成一个新节点XmlElement node=xml.CreateElement("News");/将节点加到指定节点下,作为其子节点root.AppendChild(node);/将节点加到指定节点下某个子节点前root.InsertBefore(node,root.ChildeNodesi);/为指定节点的新建属性并赋值node.SetAttribute("id","11111");/为指定节点添加子节点root.AppendChild(node);/获取指定节点的指定属性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论