毕业论文 图书管理系统_第1页
毕业论文 图书管理系统_第2页
毕业论文 图书管理系统_第3页
毕业论文 图书管理系统_第4页
毕业论文 图书管理系统_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、福建商业高等专科学校 2009 届毕业论文 图书管理系统 学生姓名: 林宏弘 学生学号: 09537003 年 级: 2009 专 业: 软件技术 指导教师: 林峰 职 称: 讲 师 2012年 05 月 毕业论文原创性声明毕业论文原创性声明 兹呈交的毕业 论文,是本人在指导老师指导下独立完成的。本人 在毕业论文写作中参考的其他个人或集体的研究成果,均在文中心明确 方式标明。本人依法享有和承担由此论文而产生的权利和责任 声明人: 林宏弘 2012 年 05 月 内 容 摘 要 科研管理系统是针对我校日常科研管理工作的具体要求,从科研成果管 理、科研项目管理、科研经费管理、科研机构及科研人员等方

2、面进行建设的 系统。 随着科研管理系统数据日益增加,数据量的庞大,教师对数据查看的要 求也随之提高,尤其是报表方面,旧的报表已经不能满足教师的需求。为此 ,对科研系统进行改进,主要是报表数据显示方面。本系统是在 windows xp 下,采用 asp.netweb 技术和 microsoft sql server 2000 数据库,开发工 具为 microsoft visual studio 2008,采用 c#技术模拟 pet.shop 架构开发 的一种系统。应用数据层基类 、数据层工厂类、接口层 、接口实现层 、 实体类 、业务逻辑层、表示层的分层体系结构。主要用了 asp.net 中的用

3、 户自定义控件和 usercontrol 类。 关键字关键字:c#;sqlserver2005; pet.shop 架构;报表; 科研管理系统 目目 录录 中英文摘要. (i) 1.引言.(1) 2.可行性分析.(1) 2.1 可行性研究的前提.(1) 2.1.1 目的.(1) 2.1.2 条件.(1) 2.1.3 决定可行性的主要因素.(1) 2.2 系统技术可行性分析.(2) 2.2.1 开发环境的选择 .(2) 2.2.2 编程语言的选择.(4) 2.2.3 数据库服务器的选择 .(4) 3.模块分析及总体设计.(4) 3.1模块需求. (4) 3.1.1 系统结构分析.(5) 3.1.

4、2 功能描述.(6) 3.1.3 功能模块详细描述.(6) 3.2 系统开发工具 . (6) 3.2.1 系统开发所用技术.(7) 3.2.2 运行环境.(7) 4.模块开发设计.(7) 4.1开发框架的设计. (7) 4.1.1 模型设计.(10) 4.1.2 控制器设计.(11) 4.1.3 视图设计.(11) 4.2 数据库设计 . (11) 4.2.1 数据库表设计的准则.(11) 4.2.2 数据库表的设计(前台).(11) 5.系统设计.(15) 5.1 首页登录界面.(15) 5.2 报表分析.(16) 5.3 年度报表.(18) 5.3.1 年度报表.(18) 5.3.2 个人

5、报表.(27) 5.3.3 年度工作.(32) 6.总结 (21) 致谢.(33) 参考文献.(34) 1.引 言 计算机是新技术革命的一支主力,也是推动社会向现代化迈进的活跃因素。计算机 科学与技术是第二次世界大战以来发展最快、影响最为深远的新兴学科之一。计算机产 业已在世界范围内发展成为一种极富生命力的战略产业。随着社会的发展,计算机网络 日趋成熟,走进了我们的生活,成为我们生活的主流,同时也被广泛应用于教学,科研, 事业等各个方面。所谓科研管理系统就是针对日常科研管理工作的具体要求而实现科研 工作的网络化管理的一种系统,本系统的建设也是计算机网络飞速发展给人们带来方便 的一种表现。 本系

6、统模拟 pet.shop 框架开发,在 microsoft visual studio 2005 平台下使用 c# 语言开发的,数据库使用 microsoft sql server 2005。通过前用户界面和后台代码的建 设共同完成了科研成果管理、科研项目管理、科研经费管理、科研机构及科研人员等模 块从而充分展示了科研管理系统所带来的便利。 2.可行性分析 2.1 可行性研究的前提 .1 目的 尽可能在最短的时间内确定完成系统模块,以便学校科研工作更加顺利进行。 .2 条件 现所具有的软、硬件设备如下: 开发设备:pc 机(cpu:intel(r) core(t

7、m)2 cpu 4300 1.80ghz (2 cpus) ,内存: 2046mb) 开发环境:windows xp 开发软件:visual studio 2008 数据库服务器:sql server 2005 其它辅助工具:dreamweaver 以上设备可以满足本系统的开发。 .3 决定可行性的主要因素 一个良好的科研管理系统可以帮助我校科研工作的网络化管理。完成此系统有助 于科研管理沟通平台的构建,系统维护只要在后台进行编辑,前台的用户界面操作就 能很好地按一定方式进行以达到你所要的效果。服务于学校科研工作人员的工作,具 有较强的使用性。当然,系统的完整性离不开各模块的完

8、整性。 2.2 系统技术可行性分析 .1开发环境的选择 c#(读做 c sharp) 是微软推出的一种基于 .net 框架的、面向对象的高级编程语 言。c#由 c 语言和 c+派生而来,继承了其强大的性能,同时又以 .net 框架类库作 为基础,拥有类似 visual basic 的快速开发能力。 c#由安德斯海尔斯伯格 主持开 发,微软在 2000 年发布了这种语言。 c#看起来与 java 有着惊人的相似 ;它包括了诸 如单一继承,界面,与 java 几乎同样的语法 ,和编译成中间代码再运行的过程 .但是 c#与 java 有着明显的不同 ,它借鉴了 delphi 的一个特

9、点 ,与 com(组件对象模型 )是 直接集成的,而且它是微软公司 .net windows 网络框架的主角 . 其特性: (1)语言特性 相对于 c 和 c+,这个语言在许多方面进行了限制和增强: 指针(pointer)只能被用于不安全模式。大多数对象访问通过安全的引用实现, 以避免无效的调用,并且有许多算法用于验证溢出,指针只能用于调用值类型,以 及受垃圾收集控制的托管对象。对象不能被显式释放,代替为当不存在被引用时 通过垃圾回收器回收。只允许 单一继承(single inheritance) ,但是一个类可 以实现多个接口(interfaces) 。 c#比 c+更加类型安全。默认的安全

10、转换是 隐含转换,例如由短整型转换为 长整型和从派生类转换为基类。而接口布尔型同整型,及枚举型同整型不允许隐含 转换,非空指针(通过引用相似对象)同用户定义类型的隐含转换必段被显式的确 定,不同于 c+的复制构造函数。数组声明语法不同( int a = new int5 而不是 int a5) 。枚举位于其所在的 命名空间中。 c#中没有模版(template) ,但是在 c# 2.0 中引入了泛型(generic prog ramming) ,并且支持一些 c+模版不支持的特性。比如泛型参数中的类型约束。 另一方面,表达式不能像 c+模版中被用于类型参数。 属性支持,使用类似访问 成员的方式

11、调用。完整的 反射支持。 (2)泛型 泛型,或参数化类型,是被 c#支持的.net 2.0 特性。不同于 c+模版,.ne t 参数化类型是在运行时被实例化,而不是编译时,因此它可以跨语言,而c+ 模版却不行。它支持的一些特性并不被c+模版直接支持,比如约束泛型参数实 现一个接口。另一方面, c# 不支持无类型的泛型参数。不像 java 中的泛型,在 cli 虚拟机中, .net generics 使用 具化 生成泛型参数,它允许优化和保存类 型信息。 (3)静态类 静态类它不能被实例化,并且只能有静态成员。这同很多过程语言中的模块 概念相类似。 (4)两个基本类分部方法 允许代码生成器生成方

12、法声明作为扩展点,如果有人在另一个部分类实现了它 才会被包含于原代码编译。分部方法 (partial methods) 必须定义在分部类 ( partial classes) 中。定义分部方法 需要用 partial 做修饰符。分部方法不 一定总是有执行内容的,也就是说定义的方法 可以一句操作语句都没有 。分部 方法返回值必须是 void。分部方法可以是静态 (static) 方法。分部方法可以 包含参数,参数可以包含以下修饰词 :this,ref,params。分部方法必须是私有 (private) 方法 (5)linq 语言集成查询 (英语:language integrated quer

13、y,缩写:linq):5 上下文相关关键字 from, where, select 可用于查询 sql、xml、集合等。这 些标识符在 linq 上下文中被作为关键字,但是它们的增加不会破坏原有的名为 from、where 或 select 的变量。 (6)程序的执行 c#并不被编译成为能够直接在 计算机上执行的二进制本地代码。与 java 类 似,它被编译成为中间代码 (microsoft intermediate language),然后通过 .n et framework 的虚拟机被称之为通用语言运行库 (common language runti me)执行。 所有的.net 编程语言

14、都被编译成这种被称为 msil(microsoft intermedia te language )的中间代码。因此虽然最终的 程序在表面上仍然与传统意义上的 可执行文件都具有 “.exe”的后缀名。但是实际上,如果计算机上没有安装 .ne t framework,那么这些程序将不能够被执行。 在程序执行时, .net framework 将中间代码翻译成为二进制机器码,从而使 它得到正确的运行。最终的二进制代码被存储在一个缓冲区(buffer)中。所以一 旦程序使用了相同的代码,那么将会调用缓冲区中的版本。这样如果一个.net 程序第二次被运行,那么这种翻译不需要进行第二次,速度明显加快。

15、(7)索引下标标准化 一个索引与属性除了不使用属性名来引用类成员而是用一个方括号中的数字来 匿名引用(就象用数组下标一样 )以外是相似的 . 可以用一个循环器来匿名引用 字符串内部数组成员 . 微软公司已经向 ecma 申请将 c#作为一种标准。在 2001 年 12 月,ecma 发布了 e cma-334 c#语言规范。c#在 2003 年成为一个 iso 标准(iso/iec 23270) 。现在 有一些独立的实现正在进行,包括: 自由软件基金会 的 dotgnu portable.net、 mono、baltie - c# ide for children and young balt

16、ie (8)编译器 c# 有 5 个著名的编译器( compilers): 最标准的 c# 的实现当属微软自己推出、并被包含在 .net framework 内 的 c# 编译器。 微软的 rotor 项目(rotor project) (目前称为 shared source common l anguage infrastructure) ,提供了 通用语言运行庫 (common language runti me)的实现与 c# 编译器。 由 novell 赞助的 mono 项目提供了 c# 编译器,同时也接近百分之百地实 现了.net framework 类库。 dot gnu 项目也提

17、供了另一个自由版本的 c# 编译器, 也提供了.net fra mework 类库的实现。 borland 提供了项目级的 c# 集成开发环境,内部所使用的编译器仍是 微 软.net framework 所提供的 c# 编译器(这也意味着你仍须安装 微软的.net fr amework) 。产品: c# builder(商业版本) ,turbo c# explorer(免费版本) 。 .2编程语言的选择 c# 无疑是这个星球上有史以来最好的编程语言,它几乎集中了所有关于软件 开发和软件工程研究的最新成果。面向对象、类型安全、组件技术、自动内存管理 、跨平台异常处理、版本控制、代

18、码安全管理 你不可能在另外的一种语言中 找到所有这些特性。 c# 和 java 一样,简直就是照搬了 c+的部分语法,用 c# 开发应用软件可以大大缩短开发周期,同时可以利用原来除用户界面代码之外的c +代码。 .3数据库服务器的选择 该网站的数据库选择 microsoft 公司出的 sql server 2005,该数据库具有高 可用性,sql server 2005 的失败转移集群和数据库镜像技术确保企业向员工、客户 和合作伙伴提交高度可靠和可用的应用系统;管理工具则引进了一套集成的管理工具 和管理应用编程接口(apis) ,以提供易用性、可管理性、及对大型 sql ser

19、ver 配置 的支持;通过数据库加密、更加安全的默认设置、加强的密码政策和细化许可控制、 及加强的安全模型等特性,为企业数据提供最高级别的安全性。安全性增强;可伸缩 性的先进性包括表格分区、复制能力的增强和 64 位支持。较为良好。 sql server 2005 通过在可伸缩性、数据集成、开发工具和强大的分析等方面的 革新更好的确立了微软在 bi 领域的领导地位。sql server 2005 能够把关键的信息 及时的传递到组织内员工的手中,从而实现了可伸缩的商业智能。从 ceo 到信息工 作者,员工可以快速的、容易的处理数据,以更快更好的做出决策。sql server 2005 全面的集成

20、、分析和报表功能使企业能够提高他们已有应用的价值,即便这些 应用是在不同的平台上。其服务器强大的性能和完备的功能已能得到大众的认可。且 开发该网站所用的开发工具、开发语言、web 服务器等都是 microsoft 公司的产品, 所以选择 microsoft sql server 2005 作为该系统的数据库服务器。 3.模块分析及总体设计 3.1模块需求 此系统主要供学校科研工作者使用,其中报表分析、年度报表模块主要包括以下用 户界面: 报表分析:论文/专著等一览表、研究项目/课题一览表、教材成果一览表、著作成果一 览表等 年度报表:年度报表、年度工作、个人报表 3.1.1 模块结构分析 模块

21、结构图如下图 3-1 所示: 图 3-1 研究项 目/课题 一览表 报表分析用户界面 论文/ 专著等 一览表 教材成 果一览 表 查 询 导 出 著作 成果 一览 表 导 出 查 询 导 出 查 询 查 询 导 出 年度报表用户界面 年 度 报 表 个 人 报 表 打 印 导出 word 导出 exce l 查 询 查 询 科 研 项 目 科 研 成 果 科 研 活 动 年 度 工 作 查 询 导出 word 导出 exce l 打 印 3.1.2功能描述 报表分析: (1) 论文/专著等一览表:将各院系的论文/专著使用列表形式展示,使科研工作人 员有选择性的查看其想要的论文/专著内容。并有导

22、出、查询操作。 (2) 研究项目/课题一览表:将各院系的研究项目/课题使用列表形式展示,方便科 研工作人员查看历年的研究项目/课题信息。并有导出、查询操作。 (3) 教材成果一览表:将各院系的教材成果进行汇总,去除重复的数据,并通过列 表形式展示,并有导出、查询操作。 (4) 著作成果一览表:以列表的形式将著作成果显示,方便用户查看,同时可对其 进行导出、查询操作。 年度报表: (1) 年度报表:将各院系的教师的科研情况进行汇总,方便科研工作者查看,同时 具有打印、导出 word、导出 excel、查询功能,科研工作者可以将选定的年度 科研信息备份成文档。 (2) 年度工作:通过该界面可以将个

23、人的科研工作进行年度工作汇总,并支持打印 导出功能。 (3) 个人报表:此用户界面主要用于查询当前用户一年内的科研项目、科研成果、 科研活动信息。 3.1.3 功能模块详细描述 (1)登入界面 程序启动后,进入用户登陆界面。用户登录页面包括用户名称和用户口令的文 本输入框,确定按钮。输入正确用户名称和用户口令,只有经验证身份成功后,才进 入我的主页的功能,通过导航菜单,继而可进行具体模块的操作。 (2) 报表分析模块 展示所有的报表数据,根据自己的意愿进行相应的操作。 (3) 年度报表模块 显示所有教师的年度科研工作,教师需有这项的权限才可以进行各项具体的操作。 3.2系统开发工具 3.2.1

24、系统开发所用技术 c#:c#是微软推出的一种基于.net 框架的、面向对象的高级编程语言。c#由 c 语言和 c+派生而来,继承了其强大的性能,同时又以.net 框架类库作为基础,拥 有类似 visual basic 的快速开发能力。此次修改系统的.net 框架是用.net framework 3.5。这个版本将包含一个支持 c#和 vb.net 中心的语言特性的编译器, 以及对语言整合查询(linq, language-integrated query)的支援。.net 框架是以 一种采用系统虚拟机运行的编程平台,以通用语言运行库(common language runtime)为基础,支援

25、多种语言(c#、vb.net、c+、python 等)的开发。 sql:sql 全名是结构化查询语言(structured query language) ,是用于数据 库中的标准数据查询语言,ibm 公司最早使用在其开发的数据库系统中。其功能强大, 简单易学,自从推出以来,得到了广泛的应用,如今大多数的数据库管理系统都支持 sql。 javascript:使用 javascript(客户端脚本语言)实现客户端快速响应的要求以 及网页添加动态功能。 xml:使用 xml 作为少量数据的存储。 css:使用 css 来控制网站的统一界面风格,方便修改。 pet.shop 的三层架构:使用分层架构

26、来提高代码的可读性和可重用性。 3.2.2运行环境 microsoft visual studio 2005 sql server 2005 iis 或 ie6.0 浏览器 4.模块开发设计 4.1开发框架的设计 1项目概述与架构分析 微软刚推出了基于 asp.net 2.0 下的 pet shop 4, 该版本有了一个全新的用户 界面。是研究 asp.net 2.0 的好范例,一直以来,在.net 和 java 之间争论不休,到 底使用哪个平台开发的企业级应用性能最好、结构最优、生产力最高。为了用事实说 话,通过对项目各方面的性能评估进而在比较.net 和 java 的高下。用户做比较的这

27、个项目就是 petshop。正因为 petshop 肩负着上面所说的重任,各方面必须是最优的, 架构设计应该是经过慎重考虑的。所以其一经推出,便成为了开发者、架构师等人学 习、研究的典范。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问 层、业务逻辑层(又或成为领域层) 、表示层,日前微软推出了基于.net framework 2.0 开发的 petshop 4。新的 petshop4 实现了与 petshop 3 相同甚至更多的特性,由 于采用了 master pages,membership,以及 profile,sqlcachedependency,但是代 码量却减少了四分之一

28、。同时,在事务、数据缓存、安全方面使用了.net 2.0 附带 的特性,构建了一个灵活的最佳实践的应用程序。所以此系统选择模拟 pet shop 框 架进行完善系统的构建。 pet shop 利用了 project conversion wizard 把项目从 asp.net 1.1 移植到了 asp.net 2.0,然后做了以下改动: 1用 system.transactions 代替了原来的 serviced components 提供的事务功能 代码实现:petshop.bll.ordersynch 的 publicvoid insert(petshop.model.orderinfo

29、order)。 2用强类型的范型集合代替了原来的弱类型集合 publicilist getproductsbycategory(string category) / return new if the string is empty if (string.isnullorempty(category) returnnewlist(); / run a search against the data store return dal.getproductsbycategory(category); 3采用 asp.net 2.0 membership 来做认证和授权 4创建了针对 oracle

30、10g 的 custom asp.net 2.0 membership provider 5利用 asp.net 2.0 的 custom oracle 和 sql server profile providers 做用户 状态管理,包括购物车等 6采用了 master pages,取代了原来的用户控件,来实现统一的界面效果 7使用了 asp.net 2.0 wizard 控件实现 check-out 8使用了 sqlcachedependency 来实现数据库层次的缓存更新(cache invalidation) 功能 9使用了消息队列来实现异时订单处理。 2.整体架构: 项目列表: 从整体

31、可以看出,pet shop 4 的项目体系已经很庞大,考虑的方面也较 3.0 更全 面复杂。 序号序号项目名称项目名称描述描述 1bll 表示层 2cachedependencyfactory 业务实体 3web 业务逻辑层 4dalfactory 数据层的抽象工厂 5 dbutilty 数据访问层接口定义 6 ibllstrategy sql server 数据访问层 7 icachedependency oracle 数据访问层 8idal 数据库访问组件基础类 9imessaging 缓存依赖类的工厂类 10iprofiledal 缓存依赖接口 11membership 缓存依赖实现类

32、12messagingfactory 同步、异步处理策略接口(实现在 bll 根据配 置反射选择) 13model 异时处理消息列队的抽象工厂 14msmqmessaging 异时处理消息列队接口定义 15oracledal 异时处理消息列队的实现 16oracleprofiledal profile 的数据访问层 17orderprocessor profiledal 的工厂类 18 profile profiledal 的数据访问层接口定义 19profiledalfactory oracle 的 profile provider 做用户状态管理 20sqlprofiledal sql s

33、erver 的 profile provider 做用户状态管理 21sqlserverdal membership 认证和授权管理 22tablecachedependency 后台处理进程,处理订单列队 项目分解: 由于整体已经有 22 个项目,所以,对于初学者不易接受,经分解,可以大体上分 几块去理解。 序号序号项目名称项目名称描述描述 1web 业务逻辑层 2model 缓存依赖类的工厂类 3bll 表示层 4dalfactory 数据层的抽象工厂 5 idal 数据访问类组建 6sqlserverdal 同步、异步处理策略接口 7oracledal 缓存依赖类接口 8dbutilty

34、 数据访问层接口定义 9cachedependencyfactory 异时处理消息列队接口定义 10 icachedependency profilel 的数据访问层接口定义 11tablecachedependency membership 认证和授权管理 12 ibllstrategy 异时处理消息列队的抽象工厂 13messagingfactory 业务实体 14imessaging 异时处理消息列队的实现 15msmqmessaging oracle 数据访问层 16 profile oracle 的 profile provider 做用户状态管理 17profiledalfacto

35、ry 后台处理进程,处理订单列队 18iprofiledal profile 的数据访问层 19oracleprofiledal profiledal 的工厂类 20sqlprofiledal sql server 的 profile provider 做用户状态管理 21membership sql server 数据访问层 22orderprocessor 缓存依赖实现类 3petshop 4 中的设计模式: 工厂模式: : 首当其冲的就是工厂模式,很容易就可以看出来,也是应用最多的。 dalfactory:数据访问层的抽象工厂(决定创建哪种数据库类型的数据访问层。可以 选择:sqlser

36、ver,oracle) cachedependencyfactory:缓存依赖类的工厂类。 (创建具体表的缓存依赖) messagingfactory :异时处理消息队列的抽象工厂(反射创建具体的异时处理类) profiledalfactory:profiledal 的工厂类(反射选择创建 oracle 和 sql server 的 profiledal) 策略模式: : iorderstrategy 中介模式 categorydataproxy itemdataproxy productdataproxy 4.1.1模型设计 在 sql server 2005 中建立 kymis 数据库,并

37、在数据库上创建 tab_incomeandexpenditure 表,tab_incomeandexpenditure_item 表, tab_customerbilling 表,tab_customerbilling 表,tab_employeebilling 表, tab_employeebilling_income 表 并设计相应的数据模型; 4.1.2控制器设计 通过 iis 可浏览主界面,根据客户的请求来操作模型,并把模型的响应结果由 用户界面展现给客户 4.1.3视图设计 系统模块开发中所用到的 c#控件显示页面和后台代码 4.2数据库设计 数据库设计是项目开发中非常重要的一个环节

38、,它是整个项目的根基,如果设 计不好,在后来的系统开发,维护,变更和功能扩充时,将会遇到非常大的困难,大 量工作可能需要重新进行。 4.2.1数据库表设计的准则 数据库设计一个表最好只存储一个实体或对象的相关信息,不同的实体最好存 储在不同的数据表中,如果实体还可以再划分,实体的划分原则是最好能够比当前系 统要开发的实体的颗粒度要小;数据库表的信息结构一定要合适,表的字段的数量一 定不要过多;扩充信息和动态变化的信息一定要分开在不同的表里;对于出现多对多 这样的表关系系统,尽量不出现。 4.2.2数据库表的设计 表 4-1 论文/专著等一览表 tab_disquisition 序序 号号 列名

39、列名数据类型数据类型长度长度小数小数 位位 标标 识识 主主 键键 允许允许 空空 默认 值 说明说明 1oiduniqueidentifier160 是否 id 2disquisitionidvarchar320 否 3kindvarchar160 否 4titlevarchar2560 否成果 名称 5publicationsvarchar2560 否 6levelvarchar160 是刊物 级别 7volumenovarchar640 是卷号 8periodvarchar640 是期号 9publishingdatedatetime83 是发表 /出 版时 间 10wordlength

40、float80 是字数 11knowledgeclassvarchar160 是学科 门类 12firstknowledgevarchar160 是一级 学科 13sourcevarchar160 是成果 来源 14publishingrangevarchar160 是发表 范围 15issnvarchar640 是 16cnvarchar640 是 17orgiduniqueidentifier160 是 18authornamevarchar2560 是 19flagapproveint40 是 20sysempliduniqueidentifier160 否 21sysdatetimed

41、atetime83 否 22flagschoolint40 是 23approvecommentsvarchar5000 是 24systemtypeint40 是 25disnamevarchar1000 是 表 4-2 研究项目/课题一览表 tab_project 序序 号号 列名列名数据类型数据类型长度长度小数小数 位位 标标 识识 主主 键键 允许允许 空空 默认默认 值值 说明说明 1oiduniqueidentifier160 是否 2projectidvarchar320 否项目 编号 3namevarchar2560 否项目 名称 4principaluniqueidentif

42、ier160 否 5typevarchar160 否项目 性质 6kindvarchar160 否项目 级别 7statevarchar160 否项目 状态 8focusvarchar160 否 9sourceunitvarchar640 是 10unitordervarchar160 是承担 单位 排名 11createdatedatetime83 否 立项 时间 12begindatedatetime83 是 开始 时间 13planfinishdatedatetime83 否 计划 完成 日期 14finishdatedatetime83 是结束 时间 15resultvarchar64

43、0 是 16contractamountfloat80 否 上级 拨款 17supportamountfloat80 是 校内 配套 经费 18knowledgeclassvarchar160 否项目 类别 19knowledgekindvarchar160 否学科 分类 20researchkindvarchar160 否 21remarktext160 是备注 22applyiduniqueidentifier160 是 23sysempliduniqueidentifier160 否 24sysdatetimedatetime83 否 25flagkindvarchar10 是 26me

44、mbervarchar2560 是 27approvecommentsvarchar5000 是 28systemtypeint40 是 表 4-3 研究项目/课题人员信息表 tab_project_empl 序序 号号 列名列名数据类型数据类型长度长度小数小数 位位 标标 识识 主主 键键 允许允许 空空 默认默认 值值 说明说明 1oiduniqueidentifier160 是否 2projectiduniqueidentifier160 否项目 id 3sourcekindvarchar160 否 4deptiduniqueidentifier160 是部门 id 5employeei

45、duniqueidentifier160 是人员 id 6deptnamevarchar2560 是部门 名称 7employeenamevarchar320 是人员 名称 8directionvarchar160 是 9sexvarchar20 是 10titlevarchar160 是 11educationvarchar160 是 12signorderint40 是署名 顺序 13contributeratefloat80 是 14workcountint40 是 15rolevarchar160 是 表 4-4 教材成果一览表 tab_book 序序 号号 列名列名数据类型数据类型长

46、度长度小数小数 位位 标标 识识 主主 键键 允许允许 空空 默认默认 值值 说明说明 1oiduniqueidentifier160 是否 2idvarchar320 否 3titlevarchar2560 否教材 名称 4publishunitvarchar2560 是出版 单位 5publishaddressvarchar160 是出版 地 6publishdatedatetime83 是出版 时间 7schoolsignvarchar160 是教材 类别 8kindvarchar160 是教材 类别 9wordlengthfloat80 是 总 字数 10chapternumberin

47、t40 是参与 章数 11knowledgeclassvarchar160 是学科 门类 12firstknowledgevarchar160 是一级 学科 13flagtranslatebit10 是 14languagevarchar160 是语种 15sourcevarchar160 是 16isbnvarchar640 是 17resumetext160 是 18authorcountint40 是 19orgiduniqueidentifier160 是 20authornamevarchar2560 是 21flagapproveint40 是 22sysempliduniquei

48、dentifier160 否 23sysdatetimedatetime83 否 24remarktext160 是 25approvecommentsvarchar5000 是 26systemtypeint40 是 27rolenamevarchar300 是主编 姓名 表 4-5 教材成果人员表 tab_book_author 序序 号号 列名列名数据类型数据类型长长 度度 小数小数 位位 标标 识识 主主 键键 允许允许 空空 默认默认 值值 说明说明 1oiduniqueidentifier160 是否 id 2bookiduniqueidentifier160 否教材 id 3au

49、thorkindvarchar160 是 4signorderint40 否署名 顺序 5authoruniqueidentifier160 否作者 6rolevarchar160 否担当 角色 7wordlengthfloat80 是 8contributeratefloat80 否 9remarktext160 是 表 4-6 教材成果汇总表 tab_reportbooks 序号序号列名列名数据类型数据类型长度长度小数位小数位标识标识主键主键允许空允许空默认值默认值说明说明 1titlevarchar20000 否是是教材名称 2authornamevarchar50000 否否是编著者姓

50、 名 3kindvarchar2000 否否是教材类别 4publishunitvarchar2000 否否是出版单位 5publishdatevarchar1000 否否是出版时间 6remarkvarchar80000 否否是备注 5.系统设计 5.1 首页登录界面 只有当用户输入正确的口令和密码时才显示主页面。主页面中包括综合办公、 科研机构、科研人员、科研项目、科研经费、科研成果、科研活动、报表分析、科研 考核、科研审核、科研统计、年度报表、科研设置等模块。点击我所负责的报表分析 或年度报表,可以在左边出现相应的子模块,右边则是子模块相应的界面,我们可以 通过该界面进行各种操作。 5.

51、2 报表分析 报表分析模块下主要包括的子模块有:论文/专著一览表、研究项目/课题一览表、 教材成果一览表、著作成果一览表等,接下来将会着重介论文/专著一览表。 5.2.1论文/专著一览表(列表) 结构思路及主要代码: 去除列表中的查询条件,增加查询按钮,以及查询页面。先拖动工具箱中的按 钮到report_disquisionlist.aspx页面,分别将值设为查询、导出。其中查询按钮功 能实现的是转到查询页面。在此主要是通过javascript脚本语言实现的,其关键代码 如下: function search() location=report_disquisionsearch.aspx; 用

52、location=report_disquisionsearch.aspx;即可定位到查询页面,其中 report_disquisionsearch.aspx是查询界面。修改后支持更多的查询条件,如作者姓名、 所属单位、刊物级别等等查询条件。在查询条件代码实现如下: protected void btnsearch_click(object sender, eventargs e) string strquery = string.empty; if (this.txtauthor.text != )/作者姓名 strquery += if (this.ddlorgid.selectedval

53、ue != )/所属单位 strquery += if (this.ddllevel.selectedvalue != )/刊物级别 strquery += if (strquery.length 0) strquery = strquery.substring(1); /返回列表页面 response.redirect(report_disquisionlist.aspx? + strquery, true); 在列表页面的report_disquisionlist.aspx.cs接收查询条件,然后查询数据,最后 显示在列表中,代码实现如下: private void showdata()

54、/这段有改动 string strquery = string.empty; if (requestauthorname != null /作者姓名 if (request.querystringorgid != null /所属单位 string strsql = select a.title,a.authorname,c.name source,d.name kind,a.cn,a.period,a.publications,convert(varchar(10),a.publishingdate,120) publishingdate from tab_disquisition a le

55、ft join tab_codelibrary_item b on a.knowledgeclass=b.id and b.codelibraryid=knowledgeclass left join tab_codelibrary_item c on a.source=c.id and c.codelibraryid=source left join tab_codelibrary_item d on a.kind=d.id and d.codelibraryid=disquisionkind where 1=1 + strquery; strsql += order by a.publis

56、hingdate desc,a.orgid desc,a.kind desc,a.publications desc ; objdatatable = comm.executedatatable(strsql); objdatatable.columns.add(infono); for (int i = 0; i objdatatable.rows.count; i+) objdatatable.rowsiinfono = i + 1; this.datagridlist.datasource = objdatatable; this.datagridlist.databind();/绑定数

57、据 导出功能:点击列表中的导出按钮,调用导出的方法,代码如下: protected void btnexp_click(object sender, eventargs e) enterpriseservice.exportservice.toexcel(report.xls, this.datagridlist); /将当前列表中的数据导出(this.datagridlist数据源) 5.3 年度报表 年度报表模块主要包括的子模块有:年度报表、个人报表、年度工作,如图5.3.1所 示: 5.3.1 年度报表 年度报表也是通过绑定数据库将选定年度科研工作信息展示给用户,其基本信息包 括:姓名、

58、职 称、单位和从事专业、科研考核得分等,该用户界面包括的查功能、导出 word、导出excel、打印功能。 图 5.3.1 结构思路及主要代码: 首先需要在reportpersonalyear.aspx源程序中用javascript实现导出 word、excel、打印功能。其代码如下: function allareaexcel()/指定页面区域内容导入excel var oxl = new activexobject(excel.application); var owb = oxl.workbooks.add(); var osheet = owb.activesheet; var sel

59、=document.body.createtextrange(); sel.movetoelementtext(printa); sel.select(); sel.execcommand(copy); osheet.paste(); oxl.visible = true; function allareaword()/指定页面区域内容导入word if(document.all(printa).rows.length=0) alert(没有内容可导!); return; try var owd = new activexobject(word.application); catch(e) a

60、lert(无法调用office对象,请确保您的机器已安装了office并已将本系统的 站点名加入到ie的信任站点列表中!); return; var odc = owd.documents.add(,0,1); var orange =odc.range(0,1); var sel = document.body.createtextrange(); sel.movetoelementtext(printa); /tab 为导出数据所在的表格id sel.select(); sel.execcommand(copy); orange.paste(); owd.application.visib

温馨提示

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

评论

0/150

提交评论