计算机科学与技术学院本科学位论文_第1页
计算机科学与技术学院本科学位论文_第2页
计算机科学与技术学院本科学位论文_第3页
计算机科学与技术学院本科学位论文_第4页
计算机科学与技术学院本科学位论文_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机科学与技术学院本科学位论文吉 林 大 学本 科 学 位 论 文 基于vb实现的关系数据库数据到excel电子表格数据的转换作者姓名:牛如美专业:计算机科学与技术学号:21042122导师姓名及职称: 杨瀛涛 讲师学位类别:本科生论文起止年月:2008年3月至2008年5月目录摘要3英文摘要4第一章 绪论51.1 选题意义51.1.1 指导思想与原则51.1.2 实现目标与展望5第二章 需求分析和开发方案62.1 数据转换的需求分析和主要应用的技术6 2.1.1 软硬件需求6 2.1.2 开发环境及技术简介 12 2.1.3 数据转换系统的基本要求20第三章 数据转换系统的总体设计21 3

2、.1 总体设计21 3.1.1数据转换系统层次结构图(功能设计)21 3.1.2 excel对象介绍 21第四章 数据库转换系统的详细设计23 4.1 数据库的设计23 4.1.1 数据表的设计23 4.1.2 vb环境下与数据库的连接23 4.1.3利用ado对象连接sql server 2000数据库 29第五章 程序的实现代码30 5.1 软件的实现30 5.1.1 excel电子表格数据到sql数据库数据的转化 30 5.1.2 sql数据库数据到excel电子表格数据的转化 31第六章 测试与维护36 6.1 测试与维护36 6.1.1 系统测试与维护36 6.1.2 软件性能评价3

3、6 6.1.3 结论与展望38参考文献 39致谢 40摘要关于关系数据库和excel电子表格数据的相互转换国内外的研究已经很多,例如某公司的开发的总店门店销售管理软件可以实现如下功能: 适用于商业批发、零售企业、工业生产型企业。对某种产品成本的核算、某项目的成本核算变得轻而易举.存货可以进行五级分类,让你能很方便地从仓库中调出你想要查找的商品.自动的报表功能:采购汇总表、销售汇种表、销售利润表等等,自定义汇总模块,能让客户得到想要的任何数据,并且所有资料可以完全导出到excel. abstracton the relations between the database and excel s

4、preadsheet data conversion at home and abroad, has been a lot of research, such as the development of a companys headquarters store sales management software can achieve the following functions: apply to commercial wholesale, retail businesses, industrial production-oriented enterprises. the cost of

5、 a product accounting and a project costing become easy. inventory can be five classifications, so that you can very easily from the warehouses you want to find out the merchandise. automated reporting features: summary of procurement and sales of the table, sales of a profit report, and so on, sinc

6、e the definition of aggregate module, allowing customers to receive any data, and all information can be fully exported to excel.第一章 绪论1.1课题的研究意义和目的excel工作簿是我们日常工作中大量用到的桌面电子表格,而关系数据库是功能强大的后台数据库管理系统.在c/s、b/s体系结构的数据库应用中被广泛使用.该文从应用的角度介绍了excel电子表格和关系数据库表之间的相互转换.操作简便.技术实用.能大大提高实际工作效率。数据库的数据转换成电子表格数据后,可以方

7、便大多数对编程不是很熟悉的工作人员进行操作。同时当对数据库数据的报表不是有特殊要求的时候,也可以利用excel所提供的报表打印功能,可以减少程序的开发量。目的是要实现一个可以完成从指定数据库数据转换到excel电子表格数据的系统。1.1.1指导思想与原则因为excel电子表格的易操作性,现在在做数据统计的时候被许多人用到。使用excel表格进行数据统计,不要求使用者有编程基础,简单易学。但是其也有不足的地方,比如做复杂的统计计算的时候显得有些力不从心,而不需要编程同时也减少了灵活性,用户无法对数据进行复杂的再处理。而关系数据库的数据都存储在数据表中,用户可以通过编程对数据进行任何处理,但这就对

8、使用者有较高的要求。本课题希望通过实现excel电子表格数据与关系数据库数据数据之间的相互转换,以便可以根据需要来使用不同的工具来处理数据。同时因为很多企业以前的数据都是用电子表格存储的,而现在的企业管理软件所使用的都是关系数据库,如果能有工具可以方便的将电子表格数据转换成为关系数据库数据,就会大大提高数据转换的效率。1.1.2实现目标与展望要实现的主要功能:1. excel电子表格数据到关系数据库数据的转换2. 关系数据库数据到excel电子表格数据的转换这里的关系数据库可以使常用的数据库,如ms acess, oracle等,实现时实现到一种数据的转换或者多个数据库的转换。excel以97

9、-03的xls格式为准,若可以同时实现到最新的xlsx数据的转换更佳。次要功能:1. 从excel到关系数据库时,应可以支持多个格式相同的excel合并到同一个数据表中;支持自定义字段名;支持excel中的多列合并到数据表中的同一个字段中;支持同一excel分存到多张数据表中;其他功能可根据需要添加。2. 从关系数据库到excel时,应可以支持同个数据表数据到同一个excel中;支持一个或多个数据表中的部分或者全部字段数据通过指定运算合并到一个excel或多个excel中;支持数据表中满足条件的数据转入excel中;其他功能可根据需要添加。第二章 需求分析和开发方案2.1.1 软硬件要求本系统

10、的主要功能是关系数据库数据到excel电子表格数据的相互转换,需要性能良好而且稳定的服务器。为了加快数据转换的速度,服务器的配置要求高1visual studio 2005 集成开发环境(1)visual studio 2005 简介:visual studio .net 是一套完整的开发工具,用于生成 asp web 应用程序、xml web services、桌面应用程序和移动应用程序。visual basic .net、visual c+ .net、visual c# .net 和 visual j# .net 全都使用相同的集成开发环境 (ide),该环境允许它们共享工具并有助于创建混

11、合语言解决方案。另外,这些语言利用了 .net framework 的功能,此框架提供对简化 asp web 应用程序和 xml web services 开发的关键技术的访问。 本主题包含有关下列内容的信息: visual studio .net 的特色 阅读 visual studio .net 中的 visual j#、智能设备应用程序、asp.net 移动设计器、windows 窗体、xml web services 以及 xml 支持的概述。 .net framework 阅读公共语言运行库、统一编程类和 asp.net 的简要概述。 入门 找出教程、模板和迁移信息,使您为使用此 v

12、isual studio 版本做好准备。 visual studio .net 的特色 本节包含有关此 visual studio 版本中的一些最新工具和技术的信息。 visual j# visual j# 是一种开发工具,供熟悉 java 语言语法的开发人员在 .net framework 上生成应用程序和服务时使用。该工具将 java 语言语法集成到 visual studio .net 集成开发环境 (ide) 中。visual j# 还支持 visual j+ 6.0 中具有的大多数功能,包括 microsoft 扩展。visual j# 不是一种用于开发在 java 虚拟机上运行的应

13、用程序的工具。使用 visual j# 生成的应用程序和服务只在 .net framework 上运行。visual j# 由 microsoft 独立开发。它没有经过 sun microsystems, inc. 的认可和批准。 智能设备应用程序 visual studio .net 集成开发环境现在包括开发智能设备(如 pocket pc)应用程序的工具。通过使用这些工具和 .net framework 精简版(.net framework 的子集),您可以在个人数字助理 (pda)、移动电话和其他资源受约束的设备中,创建、生成、调试和部署在 .net framework 精简版上运行的应

14、用程序。 asp.net 移动设计器 asp.net 移动设计器扩展了 asp.net 和 .net framework,可用来生成移动电话、pda 和寻呼机的 web 应用程序。此设计器集成在 visual studio ide 中。您可以创建移动 web 应用程序,使用移动设计器修改移动 web 窗体,然后生成和运行该应用程序(所有这些操作都是在 visual studio 中完成的)。 web 窗体 web 窗体是用于创建可编程 web 页的 asp.net 技术。web 窗体将自己呈现为浏览器兼容的 html 和脚本,这使任何平台上的任何浏览器都可以查看 web 页。使用 web 窗体

15、,通过将控件拖放到设计器上然后添加代码来创建 web 页,与创建 visual basic 窗体的方法相似。 windows 窗体 windows 窗体是用于 microsoft windows 应用程序开发的、基于 .net framework 的新平台。此框架提供一个有条理的、面向对象的、可扩展的类集,使您能够开发功能丰富的 windows 应用程序。另外,windows 窗体可作为多层分布式解决方案中的本地用户界面。 xml web services xml web services 是可以通过 http 使用 xml 接收请求和数据的应用程序。xml web services 不受特定

16、组件技术或对象调用约定的制约,因此可由任何语言、组件模型或操作系统访问。在 visual studio .net 中,可以使用 visual basic、visual c#、jscript、c+ 的托管扩展或 atl server 快速创建和包含 xml web services。 xml 支持 可扩展标记语言 (xml) 提供描述结构数据的方法。xml 是 sgml 的子集,非常适合在 web 上传送。万维网联合会 (w3c) 定义了 xml 标准以使结构化数据保持统一并独立于应用程序。visual studio .net 完全支持 xml,提供了 xml 设计器以使编辑 xml 和创建 x

17、ml 架构更容易。 .net framework .net framework 是用于生成、部署和运行 xml web services 和应用程序的多语言环境。它由三个主要部分组成: 公共语言运行库 运行库实际上在组件的运行时和开发时操作中都起到很大的作用,尽管名称中没有体现这个意思。在组件运行时,运行库除了负责满足此组件在其他组件上可能具有的依赖项外,还负责管理内存分配、启动和停止线程和进程,以及强制执行安全策略。在开发时,运行库的作用稍有变化;由于做了大量的自动处理工作(如内存管理),运行库使开发人员的操作非常简单,尤其是与今天的 com 相比。特别是反射等功能显著减少了开发人员为将业务

18、逻辑转变为可重用组件而必须编写的代码量。 统一编程类 该框架为开发人员提供了统一的、面向对象的、分层的和可扩展的类库集 (api)。目前,c+ 开发人员使用 microsoft 基础类,而 java 开发人员使用 windows 基础类。框架统一了这些完全不同的模型并且为 visual basic 和 jscript 程序员同样提供了对类库的访问。通过创建跨所有编程语言的公共 api 集,公共语言运行库使得跨语言继承、错误处理和调试成为可能。从 jscript 到 c+ 的所有编程语言具有对框架的相似访问,开发人员可以自由选择它们要使用的语言。 asp.net asp.net 建立在 .net

19、 framework 的编程类之上,它提供了一个 web 应用程序模型,并且包含使生成 asp web 应用程序变得简单的控件集和结构。asp.net 包含封装公共 html 用户界面元素(如文本框和下拉菜单)的控件集。但这些控件在 web 服务器上运行,并以 html 的形式将它们的用户界面推送到浏览器。在服务器上,这些控件公开一个面向对象的编程模型,为 web 开发人员提供了面向对象的编程的丰富性。asp.net 还提供结构服务(如会话状态管理和进程回收),进一步减少了开发人员必须编写的代码量并提高了应用程序的可靠性。另外,asp.net 使用这些同样的概念使开发人员能够以服务的形式交付软

20、件。使用 xml web services 功能,asp.net 开发人员可以编写自己的业务逻辑并使用 asp.net 结构通过 soap 交付该服务。 入门 您可以通过若干方法来熟悉此 visual studio .net 版本。 visual studio .net 演练 演练指导您使用 visual studio .net 一步步完成任务。使用演练熟悉此产品并了解可以如何一起使用不同的技术。 胖客户端应用程序演练 描述创建基于 mfc 的胖客户端应用程序的过程。 web 窗体应用程序演练 描述创建基于 web 的、与为 visual basic、visual c# 或 c+ 的托管扩展编

21、写的业务对象组件集成在一起的应用程序的过程。 创建和访问 xml web services 演练 描述使用 visual basic 或 c#、c+ 的托管扩展或 atl server 创建 xml web services,然后从应用程序中使用该 xml web services 的过程。 演练:创建分布式应用程序 描述使用 visual basic 或 visual c# 创建多层分布式应用程序的过程。 visual j# 演练 列出许多演练,这些演练集中讲述如何使用 visual j# 完成编程任务,例如创建分布式应用程序、创建和访问 xml web services 以及使用 web

22、窗体等等。 有关其他演练,请参见 visual studio 演练。 企业级模板 visual studio .net 提供了若干项目模板,您可以使用它们来开始开发分布式应用程序。企业级模板定义分布式应用程序的初始结构,并且还提供应用程序设计方面的结构性和技术性指导。除预定义企业级模板外,还可以创建自定义模板,供开发人员在小组环境中使用。有关更多信息,请参见企业级模板演练和使用企业级模板创建分布式应用程序的优点。 迁移现有应用程序 每一个版本中都有一些工具和技术被更好的方法所取代以实现您的编程目标。因此,用早期的 visual studio 版本创建的应用程序可能需要更新,以便用当前的 vis

23、ual studio 版本正确地加载或生成visual studio 2005 集成开发环境示例:(2) visual studio 2005 集成开发环境优势: visual studio 2005 包含了一系列高效的、智能的开发工具,不论是为开发初学者,还是为经验丰富的企业开发团队都提供了很多全新的、强大的功能: 全方位的工具平台 不论您是一位编程初学者还是一个富有经验的企业开发团队的一员,为您提供高效的开发工具。 减少开发的复杂度 确保您能更加轻松发布基于 framework 的解决方案,包括 windows、web、移动和基 于 office 的应用。 第三方的生态系统 允许您利用来自

24、 visual studio 行业合作伙伴的参与研发的产品,并体验用来补充 visual studio 2005 第三方解决方案的全面部署。 改善团队的沟通 给您提供高效智能的生命周期工具,通过使用 visual studio 2005 team system,来增强 it 周期参与者之间的交流与协作。2. microsoft sql server 2000 sql是英文structured query language的缩写,意思为结构化查询语言。sql语言的主要功能就是同各种数据库建立联系,进行沟通。按照ansi(美国国家标准协会)的规定,sql被作为关系型数据库管理系统的标准语言。sql

25、语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如oracle, sybase, microsoft sql server, access等都采用了sql语言标准。虽然很多数据库都对sql语句进行了再开发和扩展,但是包括select, insert, update, delete, create,以及drop在内的标准的sql命令仍然可以被用来完成几乎所有的数据库操作。 sql server sql server 是一个关系数据库管理系统。它最初是由microsoft sybase 和ashton-tate三家公司共同开发

26、的,于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 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好

27、与相关软件集成程度高等优点,可跨越从运行microsoft windows 98 的膝上型电脑到运行microsoft windows 2000 的大型多处理器的服务器等多种平台使用。3. office 2003本系统中主要使用的是office 2003中的excel电子表格:2.1.2 开发工具与技术简介本系统主要开发工具:visual studio 2005集成开发环境下的vb.net、microsoft sql server 2000和 office 2003 中的excel电子表格;主要涉及vb环境下如何连接sql数据库、实现vb环境下与excel电子表格的无缝连接,以及在集成开发环境

28、下的数据访问技术,下面一一介绍这三方面的问题。(1)vb环境下连接sql数据库:这部分技术会在后面系统的详细设计阶段做全面的介绍;(2)vb环境下与excel电子表格的无缝连接;vb是常用的应用软件开发工具之一,由于vb的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。因此有很多程序员现在已经充分利用execl的强大报表功来实现报表功能。但由于vb与excel由于分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。一、 vb读写excel表:vb本身提自动化功能可以读写excel表,其方法如下:1、在工程中引用micros

29、oft excel类型库:从工程菜单中选择引用栏;选择microsoft excel 9.0 object library(excel2000),然后选择确定。表示在工程中要引用excel类型库。2、在通用对象的声明过程中定义excel对象:dim xlapp as excel.applicationdim xlbook as excel.workbookdim xlsheet as excel.worksheet3、在程序中操作excel表常用命令:set xlapp = createobject(excel.application) 创建excel对象set xlbook = xlapp.

30、workbooks.open(文件名) 打开已经存在的excel工件簿文件xlapp.visible = true 设置excel对象可见(或不可见)set xlsheet = xlbook.worksheets(表名) 设置活动工作表xlsheet.cells(row, col) =值 给单元格(row,col)赋值xlsheet.printout 打印工作表xlbook.close (true) 关闭工作簿xlapp.quit 结束excel对象set xlapp = nothing 释放xlapp对象xlbook.runautomacros (xlautoopen) 运行excel启动宏

31、xlbook.runautomacros (xlautoclose) 运行excel关闭宏4、在运用以上vb命令操作excel表时,除非设置excel对象不可见,否则vb程序可继续执行其它操作,也能够关闭excel,同时也可对excel进行操作。但在excel操作过程中关闭excel对象时,vb程序无法知道,如果此时使用excel对象,则vb程序会产生自动化错误。形成vb程序无法完全控制excel的状况,使得vb与excel脱节。二、 excel的宏功能:excel提供一个visual basic编辑器,打开visual basic编辑器,其中有一工程属性窗口,点击右键菜单的插入模块,则增加一

32、个模块1,在此模块中可以运用visual basic语言编写函数和过程并称之为宏。其中,excel有两个自动宏:一个是启动宏(sub auto_open()),另一个是关闭宏(sub auto_close())。它们的特性是:当用excel打含有启动宏的工簿时,就会自动运行启动宏,同理,当关闭含有关闭宏的工作簿时就会自动运行关闭宏。但是通过vb的自动化功能来调用excel工作表时,启动宏和关闭宏不会自动运行,而需要在vb中通过命令xlbook.runautomacros (xlautoopen)和xlbook.runautomacros (xlautoclose) 来运行启动宏和关闭宏。三、

33、vb与excel的相互勾通:充分利用excel的启动宏和关闭宏,可以实现vb与excel的相互勾通,其方法如下:在excel的启动宏中加入一段程序,其功能是在磁盘中写入一个标志文件,同时在关闭宏中加入一段删除此标志文件的程序。vb程序在执行时通过判断此标志文件存在与否来判断excel是否打开,如果此标志文件存在,表明excel对象正在运行,应该禁止其它程序的运行。如果此标志文件不存在,表明excel对象已被用户关闭,此时如果要使用excel对象运行,必须重新创建excel对象。四、举例:1、在vb中,建立一个form,在其上放置两个命令按钮,将ommand1的caption属性改为excel,

34、command2的caption属性改为end。然后在其中输入如下程序:dim xlapp as excel.application 定义excel类 dim xlbook as excel.workbook 定义工件簿类dim xlsheet as excel.worksheet 定义工作表类 private sub command1_click() 打开excel过程if dir(d:tempexcel.bz) = then 判断excel是否打开set xlapp = createobject(excel.application) 创建excel应用类xlapp.visible = tr

35、ue 设置excel可见set xlbook = xlapp.workbooks.open(d:tempbb.xls) 打开excel工作簿set xlsheet = xlbook.worksheets(1) 打开excel工作表xlsheet.activate 激活工作表xlsheet.cells(1, 1) = abc 给单元格1行驶列赋值xlbook.runautomacros (xlautoopen) 运行excel中的启动宏elsemsgbox (excel已打开) end ifend subprivate sub command2_click()if dir(d:tempexcel

36、.bz) then 由vb关闭excel xlbook.runautomacros (xlautoclose) 执行excel关闭宏xlbook.close (true) 关闭excel工作簿xlapp.quit 关闭excelend ifset xlapp = nothing 释放excel对象endend sub图示如下:2、在盘根目录上建立一个名为temp的子目录,在temp目录下建立一个名为bb.xls的excel文件。3、在bb.xls中打开visual basic编辑器,在工程窗口中点鼠标键选择插入模块,在模块中输入入下程序存盘:sub auto_open()open d:temp

37、excel.bz for output as #1 写标志文件close #1end subsub auto_close()kill d:tempexcel.bz 删除标志文件end sub图示如下:4、运行vb程序,点击excel按钮可以打开excel系统,打开excel系统后,vb程序和excel分别属两个不同的应用系统,均可同时进行操作,由于系统加了判断,因此在vb程序中重复点击excel按钮时会提示excel已打开。如果在excel中关闭excel后再点excel按钮,则会重新打开excel。而无论excel打开与否,通过vb程序均可关闭excel。这样就实现了vb与excel的无缝连

38、接。点击“excel”之前:点击之后,就打开了d盘temp文件下的bb.xls文件;这样我们可以在vb环境下修改excel文件;(3)集成开发环境下的数据访问技术;一、vb访问数据库的原则 总则:具体问题具体分析,根据具体的环境、条件、要求而采用适当的方案 *代码的重用和运行的效率 例如:通过使用odbc数据源连接数据库的方法,可在变换多种数据库类型的情况下,而不用频繁修改代码。用vbsql通过db-library就做不到。而odbc接口并不是vb访问数据库运行效率最高的方法。同样,同是使用odbc接口的ado的效率要高于rdo *实现的简便性,易维护性 如果一种方法实现起来很复杂,工程的开发

39、必然造成人力物力的浪费,同时这样设计出来的应用程序只会支持起来更复杂或维护时更困难。例如:本地需要访问isam或jet类型数据源,那么就使用dao/jet,而没有必要使用通过odbc的方法。rdc实现起来要较rdo更容易 *安全性原则 报这一条应根据环境和条件决定。例如局域网的网络安全性要好于广域网因而可直接利用数据控件如dc,这样实现起来方便快捷,而广域网需要大量的错误捕获,如用rdc就不如用rdo易控制错误。 2.vb访问数据库的方法 vb访问数据库的方法很多,一般情况下分成两大类,而每一类又有很多方法。 数据访问接口功能及含义: adc:高级数据连接器(advanceddataconne

40、ctor):提供绑定ado数据源到窗体的数据绑定控件上。adc主要是一种直接访问或者通过ado访问远程oledb对象的一种技术,它也支持主要应用在微软ie浏览器上的数据绑定控件。它是特地为web上的浏览器为基础的应用程序而设计的。 ado:active数据对象(activedataobjects):ado实际是一种提供访问各种数据类型的连接机制。ado设计为一种极简单的格式,通过odbc的方法同数据库接口。可以使用任何一种odbc数据源,即不止适合于sqlserver、oracle、access等数据库应用程序,也适合于excel表格、文本文件、图形文件和无格式的数据文件。ado是基于ole-

41、db之上的技术,因此ado通过其内部的属性和方法提供统一的数据访问接口方法。 dao:数据访问对象(dataaccessobjects):是一种面向对象的界面接口。通过dao/jet功能可以访问isam数据库,使用dao/odbcdirect功能可以实现远程rdo功能。使用dao的程序编码非常简单,dao提供丰富的游标(cursor)类型的结果集和非游标(cursor-less)类型的结果集,同ddl(数据描述语言)的功能很类似。 dao模型是设计关系数据库系统结构的对象类的集合。它们提供了完成管理这样一个系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位

42、和查询数据库等工具。 jet:数据连接性引擎技术(jointenginetechnology):是一种基于工作站通过dao的数据库访问机制。虽然可以通过微软access提供的odbc驱动程序访问jet数据库,但使用这些驱动程序在功能上有所限制。jet机制有自己的查询和结果集处理功能,并可对同种或异种数据源作查询处理。 0dbc:开放式的数据库连接(opendatabaseconnectivity):是一种公认的关系数据源的接口界面。它快而轻并且提供统一接口的界面,odbc对任何数据源都未作优化。 odbcdirect:是一种基于dao对象的新的dao模式,其方法和属性与rdo功能相同。使用在有

43、dao代码存在的场合,可用来访问远程数据源。 oledb:是一种底层数据访问界面接口。是用于第三方驱动程序商家开发输出数据源到ado技术的应用程序或用于c+的开发者开发定制的数据库组件。oledb不能被vb直接调用。 rdc:远程数据访问控件(remotedatacontrol):是一种对rdo数据绑定的控件。可以输出特定的结果集到数据源控件。 rdo:远程数据对象(remotedataobjects):远程数据对象和集合为使用代码来创建和操作一个远程odbc数据库系统的各个部件提供了一个框架。对象和集合都具有描述数据库的各个部件特征的属性以及用来操作这些部件的方法。可以在对象和集合之间建立起

44、关系,这些关系就代表了数据库系统的逻辑结构。rdo是odbcapi的一个浅层界面接口。是专为访问远程odbc关系数据源而设计的。 vbsql:是visualbasic结构化查询语言。是一种基于api的接口方法,几乎与c的db-libraryapi相同。vbsql只支持微软的sqlserver。vbsql快而且轻但不支持对象界面。 使用rdo的一般方法如下。 先声明变量: publicconasrdoconnection,resasrdoresultset 然后初始化rdoengine,设置用户和口令等缺省参数;withrdoengine .rdodefaultuser=sa用户为sa .rdo

45、defaultpassword=pass口令为pass .rdodefaultcursordriver=rduseserver .rdodefaultlogintimeout=15 endwith 再连接到要访问的远程数据库(可使用dsnconnection和dsn-lessconnection)。 使用dsnconnection举例(连接服务器server上的数据库hotel): setcon=rdoenvironments(0).openconnection (hotel,rddrivernoprompt,false) 使用dsn-lessconnection举例(连接服务器server上

46、的数据库hotel): setcon=rdoenvironments(0).openconnection (,rddrivernoprompt,false,_driver= sqlserver ;server=server;database=hotel) 建立连接后,既可使用openresultset方法执行查询并处理结果集,又可使用execute方法执行包括数据定义和数据操作在内的动作查询。例如: setres=con.openresultset(select*frommenu,rdopenstatic) con.executecreateviewmenu_viewasselect代码,菜名

47、frommenu,rdexecdirect rdo最强大和最重要的特性之一是:它可以查询和处理由存储过程返回的结果,无论它有多么复杂。 除rdo外,还可使用rdc访问远程数据库。 远程数据控件(rdc)与数据控件(dc)类似,不同之处是rdc使用rdo连接到odbc驱动程序管理器,而dc则使用dao连接到jet数据库引擎。利用rdo和rdc,无需使用jet引擎就可以访问odbc数据源。这样,在访问远程数据库时,可以获得更好的性能和更大的灵活性。 远程数据控件msrdc使用举例如下。 connect:driver= sqlserver ;server=server;database=hotel

48、datasourcename: sql:select*frommenu username:sa password:pass cursordriver:3-rduseclient 可以使用rdc执行许多简单的远程数据访问操作,不需编写任何代码,只要填写有关项就可以了,使用起来很方便。但应注意,除非在设计时禁止并只在需要时启动rdc,否则它至少将消耗一个远程数据库连接。在远程数据库连接资源有限或要求很高效的情况下,宜慎用、少用rdc。这种情况下,应尽可能考虑使用rdo,并使用存储过程(预编译好的sql语句)。 最后还应注意,只有32位操作系统(如windowsnt或windows95),才能支持r

49、do和rdc。rdo和rdc也只能用于访问32位odbc数据源。本数据转换系统中使用到的是ado数据库开发技术。具体的使用方法会在系统详细设计阶段做详细介绍。2.1.3 数据转化系统的基本开发方案微软的excel对象模型中经常使用的四个对象有:application对象,它处于excel对象层次结构的顶层,表示excel自身的运行环境;workbook对象,它直接地处于application对象的下层,表示一个excel工作薄文件;worksheet对象它包含于workbook对象,表示一个excel工作表;range对象,它包含于worksheet对象,表示excel工作表中一个或者多个单元

50、格。用vb程序可以对这些对象进行直接控制,实现数据的转换以及输出。 excel的工作表sheet由行和列组成,行可以对应数据库表格中的一条条记录,列可以对应数据库表中的字段。这样只要我们建立一一对应的关系,实现数据转换时完全可行的。具体方法如下:首先对照sql数据库中的相应字段的类型和长度,然后根据确定的情况在excel中建立相应的列,之后循环处理数据库中表的数据,输出到excel工作表中相应的行上。 第三章 数据转换系统的总体设计3.1总体设计3.1.1数据转换系统层次结构图(功能设计)sql数据库中数据表文件vb环境下里利用数据库连接变量打开数据表文件,提取数据导出excel数据表文件连接

51、到vb环境下利用excel对象操作数据3.1.2 excel对象介绍通过使用excel对象,可以很容易的在visual basic数据库程序中生成excel报表。程序的最终用户可以用excel程序打开数据库应用系统生成的报表,并利用excel本身功能完成对报表的打印预览、打印、保存等功能。excel对象封装了microsoft excel的全部元素,利用excel对象提供的属性、方法和事件,可以很容易的在应用程序中生成excel报表。 excel对象模型描述了excel中对象之间的结构关系,如下图所示: workbook对象worksheet对象range对象application对象下面对上

52、图所示的常用excel对象进行详细介绍:(1) application对象表示excel应用程序。在excel对象模型中application对象处于模型的顶端。通过使用application对象,可以访问模型中的其他对象,从而可以控制excel应用程序的外观或功能等。例如打开visual basic程序所在路径下的excel文件,代码如下:application.workbooks.open app.path&“book1.xls”application.visible=true退出excel,代码如下:application.quit(2)workbook对象表示excel中的工作薄,即对

53、应一个excel文件。通过使用workbook对象,可以实现对excel工作薄的各种控制。例如创建一个工作薄,代码如下:application.workbooks.add(3)worksheet对象表示excel的工作表。通过使用worksheet对象,可以实现对excel工作表的控制。例如创建一个工作表,代码如下:application.worksheets.add(4)range对象表示excel中的区间,例如可以代表excel的某一个单元格、某一行、某一列、某个选定区域(该选定区域可以包含一个或若干个连续单元格区域)或者某一个三维区域。例如将excel单元格a1中的值设置为“价格”,代码如下:dim newxls as new excel.applicationdim newbook as new excel.workbookdim newsheet as new excel.works

温馨提示

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

评论

0/150

提交评论