毕业设计(论文)-文档管理系统的设计.doc_第1页
毕业设计(论文)-文档管理系统的设计.doc_第2页
毕业设计(论文)-文档管理系统的设计.doc_第3页
毕业设计(论文)-文档管理系统的设计.doc_第4页
毕业设计(论文)-文档管理系统的设计.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

大庆石油学院本科生毕业设计(论文)摘 要文档管理是企业经营管理中不可缺少的组成部分,其可以实现文档管理自动化的目标,为企业提供了安全、可靠、开放、高效的文档管理功能,而且可以避免手工管理中的错误的发生,提高了办公效率。本系统是根据中小企业的实际需求而开发的,完全能够实现企业对制度文档的自动化管理。本文档管理系统由基本信息、文档管理、系统设置等几个功能模块组成,实现查看文档内容,添加、修改和删除文档等功能。另外,系统设置了日志管理功能,可以记录登陆用户的所有操作,避免了恶意修改、删除或添加特定文档等问题。本系统采用Visual C+ 6.0及SQL Server 2000数据库开发而成,功能全面,可扩展性好,使用及维护方便。关键词:文档管理;Visual C+ 6.0;SQL Server 2000全套设计加扣3012250582 AbstractThe documents management is the essential constituent in the enterprise management and operation. It may achieve the documents management automation goal, has provided safely, reliable, open, the highly effective documents management function for the enterprise, moreover may avoid managing manually mistakes occurrence, raised the office efficiency.This system is developped according to the small and medium-sized enterprise physical demand, which can definitely realize the enterprise to the system documents automated management. This documents management system is constituted by the basic information, the documents management, the system establishment and so on , which realizes the function what the examination documents content, increase, revision and deletion documents and so on. Moreover, the system has established the diary management function, may record the registered user all operations, and avoid the questions which are the evil intention revising, deleting or increase specific documents and so on. This system is developed by Visual C+ 6.0 and SQL the Server 2000 database, the function is comprehensive, the extendibility is good, uses and maintains conveniently. Key words: Document Management System; Visual C+ 6.0; SQL Server 2000目 录第1章 概述11.1 开发背景11.2 系统的功能介绍11.3 设计目标21.4 本章小结2第2章 开发工具32.1 Visual C+ 6.0简介32.2 Visual C+开发数据库技术52.3 在Visual C+中使用ADO62.4 本章小结7第3章 数据库结构93.1 数据库的基本概念93.2 数据库选择103.3 数据访问123.4 结构化查询语言133.5 本章小结14第4章 系统的设计与实现154.1 系统的总体设计154.2 主窗口的设计与实现154.3 菜单资源的设计184.4 登录模块设计194.5 文档管理模块设计214.6 基本信息模块设计234.7 本章小结24结 论25参考文献26致 谢2727第1章 概述1.1 开发背景传统的管理与保存文档的方式是人工生成与保管文件(包括:生成、传阅、审批、进入受控状态等),文件通常是保存在文件柜或电脑中的。随着企业的日益发展,规章制度、技术报告等文档同样会日益增加,在日后的管理中会十分的不便。文档管理系统的全面应用,克服了企业传统文档管理方法的这些缺点,将会大大提高管理部门的日常办公效率,增强企业内部协同合作的能力;文档管理系统的应用,方便管理者有效管理文档的同时,大大提高了文档查找效率,避免一些恶意的修改。1.2 系统的功能介绍根据市场的需求,要求系统具有以下功能:处理大量的复合文档型的数据信息。通过系统查看文档内容。通过系统可以完成对文档一系列日常操作。保证系统的安全性、可靠性。文档管理系统由基本信息、文档管理、系统设置等功能模块组成,现将该系统的各个模块功能介绍如下:基本信息包括部门档案、文档类别2部分。部门档案中需录入部门编号、部门名称、部门经理、联系电话、办公地点及备注信息,通过部门列表可以了解当前系统中各个部门的上述信息。文档类别中的部门编号要与部门档案中录入的相应部门的编号相一致,类别编号在整个企业中是唯一的,不能有重复,否则将无法保存文档,所以建议沿用原有的编号。文档管理可实现添加文档、修改文档、删除文档、文档浏览四种功能。此模块是本系统的一个重要部分。通过录入文档管理基本信息中的部门名称、文档类别、文档编号、文档名称、关键字、文档路径及备注可以对文档进行准确的管理。通过文档浏览可以看到当前录入系统的所有文档,方便查找和管理。系统设置包括用户管理、口令修改、日志管理、退出系统4部分。用户管理可以添加不同级别的新用户和删除已有用户。日志管理中详细记录了每个用户的动作及其时间。从而提高了系统的安全性。1.3 设计目标本系统是根据中小企业的实际需求而开发的,完全能够实现企业对制度文档的自动化管理,通过本系统可以达到以下目标:系统运行稳定,安全可靠。界面设计美观,人机交互界面友好。信息查询灵活、方便、快捷、准确,数据存储安全可靠。操作员可以随时修改自己的口令。对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。数据保密性强,为每个用户设置相应的权限级别。1.4 本章小结本章简要介绍了本文档管理系统的开发背景和系统设计目标,从基本信息、文档管理和系统设置单方面重点介绍了本系统所具有的功能,提出了大体的设计思路。第2章 开发工具2.1 Visual C+ 6.0简介Visual C+6.0是美国微软公司开发的C+集成开发环境,它集源程序的编写、编译、连接、调试、运行,以及应用程序的文件管理于一体,是当前PC机上最流行的C+程序开发环境。C+是既适合于作为系统描述语言,也适合于编写应用软件的既面向对象又面向过程的一种混合型程序设计语言,它是在C语言的基础上发展起来的。最初的C语言只是为描述和实现UNIX操作系统而提供的一种程序设计语言。1973年,美国贝尔实验室的K.Thompson和D.M.Ritchie俩人合作把UNIX的90%以上的代码用C语言改写(即UNIX第五版)。后来C语言又作了多次改进,1978年以后,C语言已先后移植到大、中、小及微型机上。美国AT&T贝尔实验室的本贾尼斯特劳斯特卢普(Bjarne Stroustrup)博士在20世纪80年代初期发明并实现了C+(最初这种语言被称作“C with Classes”)。一开始C+是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、名字空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C+程序设计语言的国际标准ISO/IEC 14882-1998。C+是具有国际标准的编程语言,通常称作 ANSI/ISO C+。1998年是C+标准委员会成立的第一年,以后每5年视实际需要更新一次标准,下一次标准更新将是在2009年,目前我们一般称该标准C+0x。遗憾的是,由于C+语言过于复杂,以及他经历了长年的演变,直到现在(2004年)只有少数几个编译器完全符合这个标准(这么说也是不完全正确的,事实上,至今为止没有任何一款编译器完全支持ISO C+)。在C+的发展过程中,先后有Visual C+1.0、1.5、2.0、4.0、5.0、6.0及.NET等更高版本1。Visual C 的核心是Microsoft基础类库,即通常所说的MFC。MFC相当彻底的封装了Win32软件开发工具包(Software Development Kit,即通常所说的SDK)中的结构、功能,它为编程者提供了一个应用程序框架,这个应用程序框架为编程者完成了很多Windows编程中的例行性工作,如管理窗口、菜单和对话框,执行基本的输入和输出、使用集合类来保存数据对象等等,并且,MFC使得在程序中使用很多过去很专业、很复杂的编程课题,如ActiveX、OLE、本地数据库和开放式数据库互联(Open Database Connectivity,简写为ODBC)、Windows套接字和Internet应用程序设计等,以及其它的应用程序界面特性,如属性页(也叫标签对话框)、打印和打印预览、浮动的和可定制的工具条变得更加的容易。早在1989年,Microsoft的程序员们开始试图将C 和面向对象的编程概念应用于Windows编程中,以编写出一个可以使Windows编程更加简便的应用程序框架。他们把这个应用程序框架叫做AFX (AFX这个词来源于Application Framework,但奇怪的是这个词组中并没有包含“X”这个字母)。直到今天,AFX小组早已不存在了,AFX这个名称也于1994年初不再使用,但在Visual C 和MFC中,AFX的影子却随处可见,很多全局函数、结构和宏的标识符都被加上了AFX的前缀。最初的AFX版本在经过一年的艰苦之后诞生,却未能被大多数Windows程序员所接受。AFX的确是经过了精心的规划和编码,并且,它也提供了对Windows API的高度抽象,建立了全新的面向对象的AFX API,但最要命的是AFX API库根本不兼容于现有的Windows API。由此导致的最严重后果是大量的SDK代码无法移植,而程序员将学习两种完全不同的编程方法。AFX不得不重新做所有的一切,他们所创建的新的应用程序框架是一套扩展的C 类,它封装和映射了Windows API,这就是MFC的前身。过去的AFX小组也变成了MFC小组。最终,MFC的第一个公开版本于1992年3月随Microsoft C/C 7.0一起推出。那时距Windows 3.1发布尚有好几个月。在MFC 1.0中还没有文档/视结构,但有类CObject和CArchive。在12个月之后,MFC 2.0随Microsoft新的编程工具Visual C+1.0一道出炉。与MFC 1.0一样,MFC 2.0仍是16位的,因为32位的Windows NT 3.1直到1993年7月才问世。在MFC 2.0中,增加了对文档/视结构、OLE 1.0、Windows 3.1公用对话框的支持和消息映射等。在Windows NT 3.1面世一个月以后,Microsoft推出了32版本的Visual C 和MFC 2.1,它实际上是MFC 2.0的Win32接口。最后一个16位的Visual C+ 编译器是1993年12月推出的Visual C+ 1.5,直到今天,一些为Windows 3.1编写16位应用程序的程序员还在使用这个版本。1994年9月,32位的MFC 3.0伴随着Visual C+ 2.0的一道面市,在今天的计算机图书市场上,还有着大量的关于Visual C+ 2.0和MFC 3.0的图书出售,因此,可以想象得出Visual C+2.0所取得的成功和它所产生的影响。但是,在Visual C+ 5.0中包括的MFC版本不是MFC 5.0,而是MFC 4.21。发展到今天,MFC已发展成一个稳定和涵盖极广的C 类库,为成千上万的Win32程序员所使用。MFC库是可扩展的,它和Windows技术的最新发展到目前为止始终是同步的。并且,MFC类库使用了标准的Windows命名约定和编码格式,所以有经验的Windows SDK程序员很容易过渡到MFC。MFC结合了Windows SDK编程概念和面向对象的程序设计技术,从而具有极大灵活性和易用性。虽然现在Visual C+已经推出了更高版本,但是由于Visual C 6.0运行稳定,功能强大,还在被广大程序员所使用2。鉴于以上原因,本系统采用了Visual C +6.0作为开发平台。2.2 Visual C+开发数据库技术Visual C+提供了多种访问数据库的技术,如ODBC、DAO、OLE DB、ADO。1. ODBC(Open DataBase Connectivity) ODBC是客户应用程序访问关系数据库时提供的一个统一的接口,对于不同的数据库,ODBC提供了一套统一的API,使应用程序可以应用所提供的API来访问任何提供了ODBC驱动程序的数据库。而且,ODBC已经成为一种标准,所以,目前所有的关系数据库都提供了ODBC驱动程序,这使ODBC的应用非常广泛,基本上可用于所有的关系数据库。但由于ODBC只能用于关系数据库,使得利用ODBC很难访问对象数据库及其它非关系数据库。由于ODBC是一种底层的访问技术,因些,ODBC API可以使客户应用程序能够从底层设置和控制数据库,完成一些高层数据库技术无法完成的功能。MFC ODBC(Microsoft Foundation Classes ODBC) 由于直接使用ODBC API编写应用程序要编制大量代码,在Visual C+中提供了MFC ODBC类,封装了ODBC API,这使得利用MFC来创建ODBC的应用程序非常简便。2. DAO (Data Access Object) DAO提供了一种通过程序代码创建和操纵数据库的机制。多个DAO构成一个体系结构,在这个结构中,各个DAO对象协同工作。MFC DAO是微软提供的用于访问Microsoft Jet数据库文件(*.mdb)的强有力的数据库开发工具,它通过DAO的封装,向程序员提供了DAO丰富的操作数据库手段。3. OLE DB(Object Link and Embedding DataBase) OLE DB是Visual C+开发数据库应用中提供的新技术,它基于COM接口。因此,OLE DB对所有的文件系统包括关系数据库和非关系数据库都提供了统一的接口。这些特性使得OLE DB技术比传统的数据库访问技术更加优越。与ODBC技术相似,OLE DB属于数据库访问技术中的底层接口。直接使用OLE DB来设计数据库应用程序需要大量的代码。在VC中提供了ATL模板,用于设计OLE DB数据应用程序和数据提供程序。4. ADO(ActiveX Data Object) ADO技术是基于OLE DB的访问接口,它继承了OLE DB技术的优点,并且,ADO对OLE DB的接口作了封装,定义了ADO对象,使程序开发得到简化,ADO技术属于数据库访问的高层接口。ADO是ActiveX数据对象(ActiveX Data Object),这是Microsoft开发数据库应用程序的面向对象的新接口。ADO访问数据库是通过访问OLE DB数据提供程序来进行的,提供了一种对OLE DB数据提供程序的简单高层访问接口。ADO技术基于通用对象模型(COM),它提供了多种语言的访问技术,同时,由于ADO提供了访问自动化接口,所以,ADO可以用描述的脚本语言来访问VBScript,VCScript等3。本文根据系统需求,采用ADO技术。2.3 在Visual C+中使用ADO可以使用Visual C+ 6.0提供的ActiveX控件开发应用程序,还可以用ADO对象开发应用程序。使用ADO对象开发应用程序可以使程序开发者更容易地控制对数据库的访问,从而产生符合用户需求的数据库访问程序。使用ADO对象开发应用程序也类似其它技术,需产生与数据源的连接,创建记录等步骤,但与其它访问技术不同的是,ADO技术对对象之间的层次和顺序关系要求不是太严格。在程序开发过程中,不必选建立连接,然后才能产生记录对象等。可以在使用记录的地方直接使用记录对象,在创建记录对象的同时,程序自动建立了与数据源的连接。这种模型有力的简化了程序设计,增强了程序的灵活性。下面讲述使用ADO对象进行程序设计的方法。1.引入ADO库文件使用ADO前必须在工程的stdafx.h文件里用直接引入符号import引入ADO库文件,以使编译器能正确编译。代码如下。#define INITGUID#import c:/program files/common files/system/ado/msado15.dll no_namespace rename(EOF,EndOfFile)#include icrsint.h这行语句声明在工程中使用ADO,但不使用ADO的名字空间,并且为了避免冲突,将EOF改名为EndOfFile。2.初始化ADO环境在使用ADO对象之前必须先初始化COM环境。初始化COM环境可以用以下代码完成::CoInitialize(NULL);在初始化COM环境后,就可以使用ADO对象了,如果在程序前面没有添加此代码,将会产生COM错误。在使用完ADO对象后,需要用以下的代码将初始化的对象释放::CoUninitialize();此函数清除了为ADO对象准备的COM环境。3.接口简介ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口、_RecordsetPtr接口,_ConnectionPtr接口返回一个记录集或一个空指针。通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。用_ConnectionPtr接口返回一个记录集不是一个好的使用方法。通常同CDatabase一样,使用它创建一个数据连接,然后使用其它对象执行数据输入输出操作。_CommandPtr接口返回一个记录集。它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。在使用_CommandPtr接口时,可以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。如果只执行一次或几次数据访问操作,后者是比较好的选择。但如果要频繁访问数据库,并要返回很多记录集,那么,应该使用全局_ConnectionPtr接口创建一个数据连接,然后使用_CommandPtr接口执行存储过程和SQL语句。_RecordsetPtr是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等。同_CommandPtr接口一样,它不一定要使用一个已经创建的数据连接,可以用一个连接串代替连接指针赋给_RecordsetPtr的connection成员变量,让它自己创建数据连接。如果要使用多个记录集,最好的方法是同Command对象一样使用已经创建了数据连接的全局ConnectionPtr接口,然后使用_Recordse7tPtr执行存储过程和SQL语句4。4.使用ADO访问数据库现在已经有了一个数据连接和一个记录集,接下来就可以使用数据了。从以下代码可以看到,使用ADO的_RecordsetPtr接口,就不需要像DAO那样频繁地使用大而复杂的数据结构VARIANT,并强制转换各种数据类型了,这也是ADO的优点之一。必须始终在代码中用try和catch来捕获ADO错误,否则ADO错误会使你的应用程序崩溃。当ADO发生运行错误时(如数据库不存在),OLE DB数据提供者将自动创建一个_com_error对象,并将有关错误信息填充到这个对象的成员变量5。2.4 本章小结本章介绍了Visual C+ 6.0的发展历程和Visual C+四种访问数据库技术及其特点,重点讲述了在Visual C+ 6.0如何使用ADO对象开发应用程序,包括引入ADO库文件、初始化ADO环境、ADO库三种基本接口的介绍及使用ADO访问数据库四部分内容。从而说明了本系统采用Visual C+ 6.0作为开发平台的理由。第3章 数据库结构3.1 数据库的基本概念数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。 数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。 1. 物理数据层。它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。 2. 概念数据层。它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。 3. 逻辑数据层。它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合14。 数据库不同层次之间的联系是通过映射进行转换的。数据库具有以下主要特点: 1. 实现数据共享。数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。 2. 减少数据的冗余度。同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,维护了数据的一致性。 3. 数据的独立性。数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。 4. 数据实现集中控制。文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。 5. 数据一致性和可维护性,以确保数据的安全性和可靠性。主要包括:安全性控制:以防止数据丢失、错误更新和越权使用;完整性控制:保证数据的正确性、有效性和相容性;并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏15。3.2 数据库选择3.2.1 SQL Server 2000简介SQL Server 是一个关系数据库管理系统它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本,在Windows NT 推出后Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。SQL Server 2000是Microsoft 公司推出的SQL Server 数据库管理系统的新版本。该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 98 的膝上型电脑,到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用6。3.2.2 SQL Server 2000的主要特点1. Internet集成SQL Server 2000增加了对XML(Extensible Markup Language,可扩展标记语言)的全面支持,具有构成Web站点数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000程序设计模型与Windows DNA开发模型集成,用于开发Web应用程序。此外,SQL Server 2000支持English Query和Microsoft搜索服务等功能,为Web应用程序提供易于使用的查询和强大的搜索功能。2. 可伸缩性和可用性从运行Windows 98的便携式电脑,到运行Windows 2000数据中心版的大型多处理器服务器,都可以使用SQL Server 2000数据库引擎。SQL Server 2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。3. 企业级数据库功能SQL Server 2000关系数据库引擎支持当今各种数据处理环境所需的功能,能够充分保护数据的完整性,同时管理上千个数据库,并把修改数据库的工作量减到最小。SQL Server 2000分布式查询使用户可以引用来自不同数据源的数据,就好像这些数据是SQL Server 2000数据库的一部分,同时分布式查询支持充分保护任何分布式数据更新的完整性,复制功能使用户得以维护多个数据副本,同时确保单独的数据副本同步,并可将一组数据复制到多个移动的脱接用户,使他们自主地工作,然后将他们所做的修改合并回发到服务器。4. 易于安装、部署和使用SQL Server 2000提供了一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQL Server的过程。SQL Server 2000还支持基于标准的、与Windows DNA集成的程序设计模型,使SQL Server数据库和数据仓库的使用变得更加简单。这些功能将使用户得以快速交付SQL Server应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。5. 数据仓库SQL Server 2000提供了用于提取和分析汇总数据、进行联机分析处理(OLAP)的工具,以及其他一些工具,可用来直观地设计数据库并通过English Query来分析数据7。3.2.3 本系统数据库概要说明文档管理数据库中包括部门表、类别表、文档表、日志表、用户表5个数据表。图3-1所示的即为本系统中数据库中的数据表结构图,该数据表结构图包含系统所有数据表。可以清晰地反应数据库信息。表3-13-5列出了主要数据表的结构。图3-1 数据库概要说明表3-1 Zdxxb(文档表)字段名数据类型长度描述DWbhInt4员工编号WDbhInt4文档编号LBbhInt4类别编号WDmcVarchar300文档名称GJzVarchar200关键字WJljVarchar300文件路径MemoVarchar200备注TirxmVarchar50添加用户表3-2 Dwxxb(部门表)字段名数据类型长度描述DWbhInt4部门编号DWmcVarchar50部门名称LxrVarchar50联系人LxdhVarchar50联系电话LxdzVarchar50联系地址MemoVarchar200备注表3-3 Zdmlb(类别表)字段名数据类型长度描述DWbhInt4员工编号LBbhInt4类别编号LBmcVarchar50类别名称表3-4 Rizhib(日志表)字段名数据类型长度描述NameVarchar50用户名DLsjVarchar50登录时间DZVarchar200动作表3-5 Users(用户表)字段名数据类型长度描述UsernameVarchar50用户名PwdVarchar30密码JBVarchar2级别3.3 数据访问使用ADO前必须在工程的stdafx.h文件里用直接使用符号import引入ADO动态链接库msado15.dll文件,以使编译器能正确编译。该动态库位于系统盘下的“Program FilesCommon FilesSystemado”目录下。如果系统盘为C盘,则该文件位于“C: Program FilesCommon FilesSystemado” 目录。在Visual C+中,使用预处理命令#import,将动态库导入到系统中,本系统实现数据库访问的核心代码如下。#import C:Program FilesCommon FilesSystemadomsado15.dll no_namespace rename(EOF,adoEOF)rename(BOF,adoBOF)这行语句声明在工程中使用ADO,但不使用ADO的名字空间,并且为了避免冲突,将EOF改名为adoEOF ,BOF改名为adoBOF。添加一个用来连接的ADO的类。在系统菜单中选择“Insert-New Class”选项,打开“New Class”窗口,选择“Generic Class”,然后输入类名,即完成了类的添加。创建ADO连接类核心代码如下。m_pConnection.CreateInstance(ADODB.Connection); 表明创建一个connection对象。_bstr_t strConnect=Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=WenDGL;Data Source=MRLZJ;表明设置连接字符串,采用SQL server 2000数据库,数据源名为“MRLZJ”。3.4 结构化查询语言在对数据的添加、修改、删除工作中都使用到了SQL语句,SQL 的完整名称为 Structure Query Language,中文一般称为“结构化查询语言”。近些年来,随着服务器结构应用程序的流行,SQL语法己经广泛应用于个入计算机领域,成为关系型数据库普遍使用的标准。SQL语句是国际标准化语言,所有的关系型数据都支持SQL语言。此种标准的数据库语言的建立,不仅造福了程序设计者,而且也给数据库管理者的维护工作省去很多麻烦。数据一旦被存入数据库中,可用 SQL 语言提出各种问题,这种问题称为查询。SQL已经演变成为与数据库“交谈”的最广泛的可接受的方法。基本上可用SQL语言提出各种问题。查询通常包含要搜索的各种表的名称、要返回的列的名称和设定此次搜索范围的信息。例如,在本窗体中加载事件过程中,就是利用 SQL 语句(Select 语句)对内容数据进行查询。在70年代初,E.E.Codd首先提出了关系模型。70年代中期,IBM公司在研制 SYSTEM R关系数据库管理系统中研制了SQL语言,最早的SQL语言-SEQUEL2是在1976年11月的IBM Journal of R&D上公布的。1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2和SQL/DS数据库系统中也实现了SQL。1986年10月,美国ANSI采用SQL作为关系数据库管理系统的标准语言(ANSI X3. 135-1986),后为国际标准化组织(ISO)采纳为国际标准。1989年,美国ANSI采纳在ANSI X3.135-1989报告中定义的关系数据库管理系统的SQL标准语言,称为ANSI SQL 89, 该标准替代ANSI X3.135-1986版本。该标准为下列组织所采纳:国际标准化组织(ISO),为ISO 9075-1989报告“Database Language SQL WithIntegrity Enhancement”美国联邦政府,发布在The Federal Information Processing StandardPublication(FIPS PUB)127目前,所有主要的关系数据库管理系统支持某些形式的SQL语言, 大部分数据库打算遵守ANSI SQL89标准8。SQL 的特点是 JET 数据库引擎在数据处理上提供了查找及并联两种搜索方式,其中查找模式是指运用记录集指针在各个记录间移动,以当前记录为对象,进行数据处理。前面删除选定知识点的操作便是这种模式。而并联模式则是以结构化查询语言SQL 为基础的方式,进行数据查询及访问等操作。使用 SQL 语句不再如查找模式那样受到限制,每次只针对某个记录或字段进行操作,而把视野扩展到整个数据表,甚至还可以经过并联性的建立,进行数据表与数据表之间的数据处理。此种方式可使程序设计者不必为如何控制数据库一行行的数据而烦恼,采取主动的方式运用标准的 SQL 语句来排序或筛选数据。SQL语言由四部分组成:1. 数据查询语言(data query language,DQL):SELECT 指按要求查找满足条件的记录的操作。2. 数据操纵语言(data manipulation language,DML):INSERT,UPDATE,DELETE 指对关系中的具体数据进行增、删、改等更新操作。3. 数据定义语言(data definition language,DDL):CREATE,ALTER,DROP是指对关系模式一级的定义。4. 数据控制语言(data control language,DCL):COMMIT WORK,ROLLBACK/GRANT,REVOKE 指对数据访问权限的授予或撤销等9。本系统的开发过程中主要用到了前三种语言。3.5 本章小结本章主要介绍了SQL Server 2000的基本知识及特点、使用Visual C+ 6.0创建ADO连接类的部分核心代码、本系统数据库概要说明和数据化查询语句的简介及SQL语言的四部分组成。基于上述内容的介绍,选择了SQL Server 2000作为本系统的数据库。第4章 系统的设计与实现4.1 系统的总体设计在前面的概述中已对本系统的系统工具进行了的简要介绍,阐述了本系统包含基本信息、文档管理、系统设置三个功能模块。各模块又分别实现了不同功能,设计框图如图4-1所示。图4-1 文档管理功能框图4.2 主窗口的设计与实现1. 打开对话框IDD_WORDGLXT_DIALOG属性窗口,在对话框中添加1个Tree Control和1个RichEdit控件,右键单击Tree Control控件,将Has buttons/Has lines/Client edge/Lines at root选中,属性设置如表4-1所示。表4-1 属性表IDMemberVariablesTypeMemberIDC_TREE1CtrrCtrlm_treeID_RICHEDITICRichEditCtrlm_tichedit2. 预先在下边留出状态栏,声明Ctime、CstatusBarCtrl类对象实体。在程序中,引用外部变量,在头文件中定义程序变量。3. 在OnInitDialog成员函数中,添加状态栏以及给Tree控件定义图标,添加文本信息,部分核心代码如下。m_treeImageList.Add(theApp.LoadIcon(IDI_ROOTICON);表明给Tree控件定义图标。m_StatusBar.SetText(strdate,0,2);表明给Tree控件定义文本。4. 定义AddtoTree函数,将各表中数据按层次结构添加到Tree控件中,代码如下。void CWordGLXTDlg:AddtoTree(HTREEITEM m_node)int i,j;for(i=0;idwb.a_DWbh.GetSize();i+) arraysi=m_tree.InsertItem(dwb.a_DWmc.GetAt(i),1,1,m_node);for(j=0;jmlb.a_DWbh.GetSize();j+)if(atoi(dwb.a_DWbh.GetAt(i)=atoi(mlb.a_DWbh.GetAt(j)brraysj=m_tree.InsertItem(mlb.a_LBmc.GetAt(j),2,2,arraysi);5. 为Tree控件添加OnDblclkTree1双击事件,用于实现查看文档的功能,程序代码如下。temp = m_tree.GetSelectedItem();/读取当前节点temp = m_tree.GetChildItem(temp);/将当前节点子节点付给tempif (temp != NULL)while (temp!= NULL)strText = m_tree.GetItemText(temp);/取出temp中的文本strWjian+=strText+n;m_richedit.SetWindowText(strWjian);/RichEdit控件显示数据temp = m_tree.GetNextItem(temp,TVGN_NEXT);/将temp的兄弟节点付给tempelsetemp = m_tree.GetSelectedItem();for(int i=0;ixxb.a_WDbh.GetSize();i+)if(temp=hitemi)strWord=xxb.a_WJlj.GetAt(i); /取出temp对应的文档路径_Application app;/word应用程序app.CreateDispatch(word.Application);/初始化连接Documents doc;CComVariant a (_T(strWord),b(false),c(0),d(true),aa(0),bb(1);_Document doc1;doc.AttachDispatch( app.GetDocuments();doc1.AttachDispatch(doc.Add(&a,&b,&c,&d);Range range;range = doc1.GetContent();/求出文档的所选区域str = range.GetText();/取出文件内容m_richedit.SetWindowText(str);app.Quit(&b,&c,&c);/关闭app.ReleaseDispatch();/释放环境*pResult = 0;6. 在Menu组合框中选择IDR_MENU1。单击工具栏中的“运行”按钮,看到系统的主界面如图4-2所示。图4-2 系统运行界面4.3 菜单资源的设计1. 打开ClassWizard窗口,为菜单项添加代码,实现显示文档目录树的功能,核心代码如下。void CWordGLXTDlg:OnMenuliulwd() CStr

温馨提示

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

最新文档

评论

0/150

提交评论