数据库数据到Excel电子表格数据的转换论文.doc_第1页
数据库数据到Excel电子表格数据的转换论文.doc_第2页
数据库数据到Excel电子表格数据的转换论文.doc_第3页
数据库数据到Excel电子表格数据的转换论文.doc_第4页
数据库数据到Excel电子表格数据的转换论文.doc_第5页
免费预览已结束,剩余44页可下载查看

下载本文档

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

文档简介

吉林大学计算机科学与技术学院 2008 年本科学位论文 I 摘摘 要要 关于关系数据库和 Excel 电子表格数据的相互转换国内外的 研究已经很多 例如某公司的开发的总店门店销售管理软件可以 实现如下功能 适用于商业批发 零售企业 工业生产型企业 对某种产品成本的核算 某项目的成本核算变得轻而易举 存货 可以进行五级分类 让你能很方便地从仓库中调出你想要查找的 商品 自动的报表功能 采购汇总表 销售汇种表 销售利润表 等等 自定义汇总模块 能让客户得到想要的任何数据 并且所 有资料可以完全导出到 Excel 关键词 Excel 对象 ADO 对象 SQL Server 吉林大学计算机科学与技术学院 2008 年本科学位论文 II Abstract On the relations between the database and Excel spreadsheet 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 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 since the definition of aggregate module allowing customers to receive any data and all information can be fully exported to Excel Key words Excel object ADO object SQL Server 吉林大学计算机科学与技术学院 2008 年本科学位论文 1 目目 录录 摘摘 要要 I ABSTRACT II 目目 录录 1 第一章第一章 绪论绪论 1 1 1 课题的研究意义和目的 1 1 1 1 指导思想与原则 1 1 1 2 实现目标与展望 1 第二章第二章 需求分析和开发方案需求分析和开发方案 3 2 1 软硬件要求 3 2 1 1 Visual Studio 2005 集成开发环境 3 2 1 1 1 Visual Studio 2005 简介 3 2 1 1 2 Visual Studio 2005 集成开发环境优势 6 2 1 2 Microsoft SQL Server 2000 7 2 1 3 Office 2003 8 2 2 开发工具与技术简介 8 2 2 1 VB环境下连接SQL数据库 9 2 2 2 VB环境下与Excel电子表格的无缝连接 9 2 2 2 1 VB 读写 EXCEL 表 9 2 2 2 2 EXCEL 的宏功能 10 2 2 2 3 VB 与 EXCEL 的相互勾通 11 2 2 2 4 连接举例 11 2 2 3集成开发环境下的数据访问技术 15 2 3 数据转化系统的基本开发方案 18 第三章第三章 数据转换系统的总体设计数据转换系统的总体设计 19 3 1 数据转换系统层次结构 功能设计 19 3 2 EXCEL对象介绍 19 第四章第四章 数据转换系统的详细设计数据转换系统的详细设计 22 4 1 数据表的设计 22 4 2 VB 环境下与数据库的连接 22 4 3 利用 ADO 对象连接 SQL SERVER2000 数据库 28 吉林大学计算机科学与技术学院 2008 年本科学位论文 2 4 4 次要功能的实现 29 第五章第五章 程序的实现代码程序的实现代码 30 5 1 SQL 数据库数据到 EXCEL电子表格数据的转化 主要功能 30 5 2 次要功能的实现 35 第六章第六章 测试与维护测试与维护 39 6 1 系统测试与维护 39 6 1 1 SQL数据库数据源配置的测试 39 6 1 2 VB环境下连接数据库的测试 39 6 1 3 实现次要功能 40 6 2 软件性能评价 40 6 3 结论与展望 41 参考文献参考文献 43 致谢致谢 44 吉林大学计算机科学与技术学院 2008 年本科学位论文 1 第一章第一章 绪论绪论 1 11 1 课题的研究意义和目的课题的研究意义和目的 Excel 工作簿是我们日常工作中大量用到的桌面电子表格 而 关系数据库是功能强大的后台数据库管理系统 在 C S B S 体系 结构的数据库应用中被广泛使用 该文从应用的角度介绍了 Excel 电子表格和关系数据库表之间的相互转换 操作简便 技术实用 能大大提高实际工作效率 数据库的数据转换成电子表格数据后 可以方便大多数对编程不 是很熟悉的工作人员进行操作 同时当对数据库数据的报表不是 有特殊要求的时候 也可以利用 Excel 所提供的报表打印功能 可以减少程序的开发量 目的是要实现一个可以完成从指定数据 库数据转换到 Excel 电子表格数据的系统 1 1 11 1 1 指导思想与原则指导思想与原则 因为 Excel 电子表格的易操作性 现在在做数据统计的时 候被许多人用到 使用 Excel 表格进行数据统计 不要求使用者 有编程基础 简单易学 但是其也有不足的地方 比如做复杂的 统计计算的时候显得有些力不从心 而不需要编程同时也减少了 灵活性 用户无法对数据进行复杂的再处理 而关系数据库的数 据都存储在数据表中 用户可以通过编程对数据进行任何处理 但这就对使用者有较高的要求 本课题希望通过实现 Excel 电子 表格数据与关系数据库数据数据之间的相互转换 以便可以根据 需要来使用不同的工具来处理数据 同时因为很多企业以前的数 据都是用电子表格存储的 而现在的企业管理软件所使用的都是 关系数据库 如果能有工具可以方便的将电子表格数据转换成为 关系数据库数据 就会大大提高数据转换的效率 1 1 21 1 2 实现目标与展望实现目标与展望 要实现的主要功能 吉林大学计算机科学与技术学院 2008 年本科学位论文 2 关系数据库数据到 Excel 电子表格数据的转换 这里的关系数据 库可以是常用的数据库 如 MS Acess Oracle 等 实现时实现 到一种数据的转换或者多个数据库的转换 Excel 以 97 03 的 xls 格式为准 若可以同时实现到最新的 xlsx 数据的转换更佳 次要功能 从关系数据库到 Excel 时 应可以支持同个数据表数据到同 一个 Excel 中 支持一个或多个数据表中的部分或者全部字段数 据通过指定运算合并到一个 Excel 或多个 Excel 中 支持数据表 中满足条件的数据转入 Excel 中 其他功能可根据需要添加 吉林大学计算机科学与技术学院 2008 年本科学位论文 3 第二章第二章 需求分析和开发方案需求分析和开发方案 2 1 软硬件要求软硬件要求 本系统的主要功能是关系数据库数据到 Excel 电子表格数据 的相互转换 需要性能良好而且稳定的服务器 为了加快数据转 换的速度 服务器的配置要求高 2 1 1 Visual Studio 2005 集成开发环境集成开发环境 2 1 1 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 该环境允许它们共享工具并有助于创建混合语言解决方案 另外 这些语言利用了 NET Framework 的功能 此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问 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 虚拟机上运行的应用程序的工具 使用 Visual J 生成的 应用程序和服务只在 NET Framework 上运行 Visual J 由 Microsoft 独立开发 它没有经过 Sun Microsystems Inc 的 认可和批准 吉林大学计算机科学与技术学院 2008 年本科学位论文 4 智能设备应用程序 Visual Studio NET 集成开发环境现在包括开发智能设备 如 Pocket PC 应用程序的工具 通过使用这些工具和 NET Framework 精简版 NET Framework 的子集 您可以在个人数 字助理 PDA 移动电话和其他资源受约束的设备中 创建 生 成 调试和部署在 NET Framework 精简版上运行的应用程序 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 窗体 通过将控件 拖放到设计器上然后添加代码来创建 Web 页 与创建 Visual Basic 窗体的方法相似 Windows 窗体 Windows 窗体是用于 Microsoft Windows 应用程序开发的 基于 NET Framework 的新平台 此框架提供一个有条理的 面 向对象的 可扩展的类集 使您能够开发功能丰富的 Windows 应用程序 另外 Windows 窗体可作为多层分布式解决方案中的 本地用户界面 XML Web Services XML Web services 是可以通过 HTTP 使用 XML 接收请求和 数据的应用程序 XML Web services 不受特定组件技术或对象 调用约定的制约 因此可由任何语言 组件模型或操作系统访问 在 Visual Studio NET 中 可以使用 Visual Basic Visual C JScript C 的托管扩展或 ATL Server 快速创建和包含 XML Web services XML 支持 吉林大学计算机科学与技术学院 2008 年本科学位论文 5 可扩展标记语言 XML 提供描述结构数据的方法 XML 是 SGML 的子集 非常适合在 Web 上传送 万维网联合会 W3C 定义了 XML 标准以使结构化数据保持统一并独立于应用程序 Visual Studio NET 完全支持 XML 提供了 XML 设计器以使编 辑 XML 和创建 XML 架构更容易 NET Framework NET Framework 是用于生成 部署和运行 XML Web services 和应用程序的多语言环境 它由三个主要部分组成 公共语言运行库 运行库实际上在组件的运行时和开发时操作中都起到很大的 作用 尽管名称中没有体现这个意思 在组件运行时 运行库除 了负责满足此组件在其他组件上可能具有的依赖项外 还负责管 理内存分配 启动和停止线程和进程 以及强制执行安全策略 在开发时 运行库的作用稍有变化 由于做了大量的自动处理工 作 如内存管理 运行库使开发人员的操作非常简单 尤其是 与今天的 COM 相比 特别是反射等功能显著减少了开发人员为 将业务逻辑转变为可重用组件而必须编写的代码量 统一编程类 该框架为开发人员提供了统一的 面向对象的 分层的和可 扩展的类库集 API 目前 C 开发人员使用 Microsoft 基 础类 而 Java 开发人员使用 Windows 基础类 框架统一了这 些完全不同的模型并且为 Visual Basic 和 JScript 程序员同 样提供了对类库的访问 通过创建跨所有编程语言的公共 API 集 公共语言运行库使得跨语言继承 错误处理和调试成为可能 从 JScript 到 C 的所有编程语言具有对框架的相似访问 开 发人员可以自由选择它们要使用的语言 ASP NET ASP NET 建立在 NET Framework 的编程类之上 它提供了 一个 Web 应用程序模型 并且包含使生成 ASP Web 应用程序变 得简单的控件集和结构 ASP NET 包含封装公共 HTML 用户界面 元素 如文本框和下拉菜单 的控件集 但这些控件在 Web 服 务器上运行 并以 HTML 的形式将它们的用户界面推送到浏览器 在服务器上 这些控件公开一个面向对象的编程模型 为 Web 开发人员提供了面向对象的编程的丰富性 ASP NET 还提供结构 吉林大学计算机科学与技术学院 2008 年本科学位论文 6 服务 如会话状态管理和进程回收 进一步减少了开发人员必 须编写的代码量并提高了应用程序的可靠性 另外 ASP NET 使 用这些同样的概念使开发人员能够以服务的形式交付软件 使用 XML Web services 功能 ASP NET 开发人员可以编写自己的业 务逻辑并使用 ASP NET 结构通过 SOAP 交付该服务 Visual Studio 2005 集成开发环境示例 图图 1 1 VisualVisual StudioStudio 20052005 集成开发环境界面示例集成开发环境界面示例 2 1 1 2 Visual Studio 2005 集成开发环境优势集成开发环境优势 Visual Studio 2005 包含了一系列高效的 智能的开发工 具 不论是为开发初学者 还是为经验丰富的企业开发团队都提 供了很多全新的 强大的功能 全方位的工具平台 不论您是一位编程初学者还是一个富有 经验的企业开发团队的一员 为您提供高效的开发工具 减少开发的复杂度 确保您能更加轻松发布基于 Framework 的解决方案 包括 Windows Web 移动和基 于 Office 的应用 吉林大学计算机科学与技术学院 2008 年本科学位论文 7 第三方的生态系统 允许您利用来自 Visual Studio 行业合 作伙伴的参与研发的产品 并体验用来补充 Visual Studio 2005 第三方解决方案的全面部署 改善团队的沟通 给您提供高效智能的生命周期工具 通过 使用 Visual Studio 2005 Team System 来增强 IT 周期参与 者之间的交流与协作 2 1 2 Microsoft SQL Server 2000 SQL 是英文 Structured Query Language 的缩写 意思为结 构化查询语言 SQL 语言的主要功能就是同各种数据库建立联系 进行沟通 按照 ANSI 美国国家标准协会 的规定 SQL 被作为关 系型数据库管理系统的标准语言 SQL 语句可以用来执行各种各 样的操作 例如更新数据库中的数据 从数据库中提取数据等 目前 绝大多数流行的关系型数据库管理系统 如 Oracle Sybase Microsoft SQL Server Access 等都采用了 SQL 语言标 准 虽然很多数据库都对 SQL 语句进行了再开发和扩展 但是包 括 Select Insert Update Delete Create 以及 Drop 在内的 标准的 SQL 命令仍然可以被用来完成几乎所有的数据库操作 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 的大型多处理器的服务器等多种平台使用 吉林大学计算机科学与技术学院 2008 年本科学位论文 8 图图 2 2 MicrosoftMicrosoft SQLSQL ServerServer 20002000 开发界面示例开发界面示例 2 1 3 Office 2003 本系统中主要使用的是 Office 2003 中的 Excel 电子表格 图图 3 3 OfficeOffice 20032003 开发界面示例开发界面示例 2 2 开发工具与技术简介开发工具与技术简介 本系统主要开发工具 Visual Studio 2005 集成开发环境下 吉林大学计算机科学与技术学院 2008 年本科学位论文 9 的 VB net Microsoft SQL Server 2000 和 Office 2003 中的 Excel 电子表格 主要涉及 VB 环境下如何连接 SQL 数据库 实现 VB 环境下与 Excel 电子表格的无缝连接 以及在集成开发环境下 的数据访问技术 下面一一介绍这三方面的问题 2 2 1 VB 环境下连接环境下连接 SQL 数据库数据库 这部分技术会在后面系统的详细设计阶段做全面的介绍 2 2 2 VB 环境下与环境下与 Excel 电子表格的无缝连接电子表格的无缝连接 VB 是常用的应用软件开发工具之一 由于 VB 的报表功能有 限 而且一但报表格式发生变化 就得相应修改程序 给应用软 件的维护工作带来极大的不便 因此有很多程序员现在已经充分 利用 EXECL 的强大报表功来实现报表功能 但由于 VB 与 EXCEL 由于分别属于不同的应用系统 如何把它们有机地结合在一起 是一个值得我们研究的课题 2 2 2 1 VB 读写读写 EXCEL 表表 VB 本身提自动化功能可以读写 EXCEL 表 其方法如下 1 在工程中引用 Microsoft Excel 类型库 从 工程 菜单中选择 引用 栏 选择 Microsoft Excel 9 0 Object Library EXCEL2000 然后选择 确定 表示在工程中 要引用 EXCEL 类型库 2 在通用对象的声明过程中定义 EXCEL 对象 Dim xlApp As Excel Application Dim xlBook As Excel WorkBook Dim xlSheet As Excel Worksheet 3 在程序中操作 EXCEL 表常用命令 Set xlApp CreateObject Excel Application 创建 EXCEL 对象 Set xlBook xlApp Workbooks Open 文件名 打开已经存 吉林大学计算机科学与技术学院 2008 年本科学位论文 10 在的 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 启动宏 xlBook RunAutoMacros xlAutoClose 运行 EXCEL 关闭宏 4 在运用以上 VB 命令操作 EXCEL 表时 除非设置 EXCEL 对象不 可见 否则 VB 程序可继续执行其它操作 也能够关闭 EXCEL 同 时也可对 EXCEL 进行操作 但在 EXCEL 操作过程中关闭 EXCEL 对 象时 VB 程序无法知道 如果此时使用 EXCEL 对象 则 VB 程序 会产生自动化错误 形成 VB 程序无法完全控制 EXCEL 的状况 使得 VB 与 EXCEL 脱节 2 2 2 2 EXCEL 的宏功能的宏功能 EXCEL 提供一个 Visual Basic 编辑器 打开 Visual Basic 编辑器 其中有一工程属性窗口 点击右键菜单的 插入模块 则增加一个 模块 1 在此模块中可以运用 Visual Basic 语言编 写函数和过程并称之为宏 其中 EXCEL 有两个自动宏 一个是 启动宏 Sub Auto Open 另一个是关闭宏 Sub Auto Close 它们的特性是 当用 EXCEL 打含有启动宏的工 簿时 就会自动运行启动宏 同理 当关闭含有关闭宏的工作簿 时就会自动运行关闭宏 但是通过 VB 的自动化功能来调用 EXCEL 工作表时 启动宏和关闭宏不会自动运行 而需要在 VB 中通过 命令 xlBook RunAutoMacros xlAutoOpen 和 xlBook RunAutoMacros xlAutoClose 来运行启动宏和关闭宏 吉林大学计算机科学与技术学院 2008 年本科学位论文 11 2 2 2 3 VB 与与 EXCEL 的相互勾通的相互勾通 充分利用 EXCEL 的启动宏和关闭宏 可以实现 VB 与 EXCEL 的相互勾通 其方法如下 在 EXCEL 的启动宏中加入一段程序 其功能是在磁盘中写入 一个标志文件 同时在关闭宏中加入一段删除此标志文件的程序 VB 程序在执行时通过判断此标志文件存在与否来判断 EXCEL 是否 打开 如果此标志文件存在 表明 EXCEL 对象正在运行 应该禁 止其它程序的运行 如果此标志文件不存在 表明 EXCEL 对象已 被用户关闭 此时如果要使用 EXCEL 对象运行 必须重新创建 EXCEL 对象 2 2 2 4 连接举例连接举例 1 在 VB 中 建立一个 FORM 在其上放置两个命令按钮 将 Command1 的 Caption 属性改为 EXCEL 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 temp excel bz Then 判断 EXCEL 是否打开 Set xlApp CreateObject Excel Application 创建 EXCEL 应用类 xlApp Visible True 设置 EXCEL 可见 Set xlBook xlApp Workbooks Open D temp bb xls 打 开 EXCEL 工作簿 Set xlsheet xlBook Worksheets 1 打开 EXCEL 工作表 吉林大学计算机科学与技术学院 2008 年本科学位论文 12 xlsheet Activate 激活工作表 xlsheet Cells 1 1 abc 给单元格 1 行驶列赋值 xlBook RunAutoMacros xlAutoOpen 运行 EXCEL 中的启动 宏 Else MsgBox EXCEL 已打开 End If End Sub Private Sub Command2 Click If Dir D temp excel bz Then 由 VB 关闭 EXCE L xlBook RunAutoMacros xlAutoClose 执行 EXCEL 关闭宏 xlBook Close True 关闭 EXCEL 工作簿 xlApp Quit 关闭 EXCEL End If Set xlApp Nothing 释放 EXCEL 对象 End End Sub 图示如下 吉林大学计算机科学与技术学院 2008 年本科学位论文 13 图图 4 4 VBVB 下创建的工程下创建的工程 1 1 2 在 盘根目录上建立一个名为 Temp 的子目录 在 Temp 目录 下建立一个名为 bb xls 的 EXCEL 文件 3 在 bb xls 中打开 Visual Basic 编辑器 在工程窗口中点鼠 标键选择插入模块 在模块中输入入下程序存盘 Sub auto open Open d temp excel bz For Output As 1 写标志文件 Close 1 End Sub Sub auto close Kill d temp excel bz 删除标志文件 End Sub 图示如下 吉林大学计算机科学与技术学院 2008 年本科学位论文 14 图图 5 5 在工程 在工程 1 1 中添加模块中添加模块 4 运行 VB 程序 点击 EXCEL 按钮可以打开 EXCEL 系统 打开 EXCEL 系统后 VB 程序和 EXCEL 分别属两个不同的应用系统 均 可同时进行操作 由于系统加了判断 因此在 VB 程序中重复点 击 EXCEL 按钮时会提示 EXCEL 已打开 如果在 EXCEL 中关闭 EXCEL 后再点 EXCEL 按钮 则会重新打开 EXCEL 而无论 EXCEL 打开与否 通过 VB 程序均可关闭 EXCEL 这样就实现了 VB 与 EXCEL 的无缝连接 点击 Excel 之前 吉林大学计算机科学与技术学院 2008 年本科学位论文 15 图图 6 6 编辑完成之后的应用程序界面编辑完成之后的应用程序界面 点击之后 就打开了 D 盘 Temp 文件下的 bb xls 文件 图图 7 7 点击点击 Excel Excel 按钮之后打开了按钮之后打开了 ExcelExcel 文件文件 这样我们可以在 VB 环境下修改 Excel 文件 2 2 3 集成开发环境下的数据访问技术集成开发环境下的数据访问技术 1 VB 访问数据库的原则 总则 具体问题具体分析 根据具体的环境 条件 要求而采用 适当的方案 代码的重用和运行的效率 例如 通过使用 ODBC 数据源连接数据库的方法 可在变换 多种数据库类型的情况下 而不用频繁修改代码 用 VBSQL 通 过 DB Library 就做不到 而 ODBC 接口并不是 VB 访问数据库运 行效率最高的方法 同样 同是使用 ODBC 接口的 ADO 的效率 要高于 RDO 实现的简便性 易维护性 吉林大学计算机科学与技术学院 2008 年本科学位论文 16 如果一种方法实现起来很复杂 工程的开发必然造成人力物 力的浪费 同时这样设计出来的应用程序只会支持起来更复杂或 维护时更困难 例如 本地需要访问 ISAM 或 Jet 类型数据源 那么就使用 DAO Jet 而没有必要使用通过 ODBC 的方法 RDC 实现起来要较 RDO 更容易 安全性原则 报这一条应根据环境和条件决定 例如局域网的网络安全性 要好于广域网因而可直接利用数据控件如 DC 这样实现起来方 便快捷 而广域网需要大量的错误捕获 如用 RDC 就不如用 RDO 易控制错误 2 VB 访问数据库的方法 VB 访问数据库的方法很多 一般情况下分成两大类 而每 一类又有很多方法 数据访问接口功能及含义 ADC 高级数据连接器 AdvancedDataConnector 提供绑定 ADO 数据源到窗体的数据绑定控件上 ADC 主要是一种直接访问或者 通过 ADO 访问远程 OLEDB 对象的一种技术 它也支持主要应 用在微软 IE 浏览器上的数据绑定控件 它是特地为 Web 上的浏 览器为基础的应用程序而设计的 ADO Active 数据对象 ActiveDataObjects ADO 实际是一种提 供访问各种数据类型的连接机制 ADO 设计为一种极简单的格式 通过 ODBC 的方法同数据库接口 可以使用任何一种 ODBC 数 据源 即不止适合于 SQLServer Oracle Access 等数据库应用程 序 也适合于 Excel 表格 文本文件 图形文件和无格式的数据 文件 ADO 是基于 OLE DB 之上的技术 因此 ADO 通过其内部 的属性和方法提供统一的数据访问接口方法 DAO 数据访问对象 DataAccessObjects 是一种面向对象的界面 接口 通过 DAO Jet 功能可以访问 ISAM 数据库 使用 DAO ODBCDirect 功能可以实现远程 RDO 功能 使用 DAO 的程 序编码非常简单 DAO 提供丰富的游标 Cursor 类型的结果集和 非游标 Cursor Less 类型的结果集 同 DDL 数据描述语言 的功 能很类似 DAO 模型是设计关系数据库系统结构的对象类的集合 它们提供 了完成管理这样一个系统所需的全部操作的属性和方法 包括创 建数据库 定义表 字段和索引 建立表间的关系 定位和查询 吉林大学计算机科学与技术学院 2008 年本科学位论文 17 数据库等工具 JET 数据连接性引擎技术 JointEngineTechnology 是一种基于 工作站通过 DAO 的数据库访问机制 虽然可以通过微软 Access 提供的 ODBC 驱动程序访问 Jet 数据库 但使用这些驱动程序在 功能上有所限制 Jet 机制有自己的查询和结果集处理功能 并可 对同种或异种数据源作查询处理 0DBC 开放式的数据库连接 OpenDatabaseConnectivity 是一种 公认的关系数据源的接口界面 它快而轻并且提供统一接口的界 面 ODBC 对任何数据源都未作优化 ODBCDirect 是一种基于 DAO 对象的新的 DAO 模式 其方法和 属性与 RDO 功能相同 使用在有 DAO 代码存在的场合 可用来 访问远程数据源 OLEDB 是一种底层数据访问界面接口 是用于第三方驱动程序 商家开发输出数据源到 ADO 技术的应用程序或用于 C 的开发 者开发定制的数据库组件 OLEDB 不能被 VB 直接调用 RDC 远程数据访问控件 RemoteDataControl 是一种对 RDO 数 据绑定的控件 可以输出特定的结果集到数据源控件 RDO 远程数据对象 RemoteDataObjects 远程数据对象和集合为使 用代码来创建和操作一个远程 ODBC 数据库系统的各个部件提供 了一个框架 对象和集合都具有描述数据库的各个部件特征的属 性以及用来操作这些部件的方法 可以在对象和集合之间建立起 关系 这些关系就代表了数据库系统的逻辑结构 RDO 是 ODBCAPI 的一个浅层界面接口 是专为访问远程 ODBC 关系数 据源而设计的 除 RDO 外 还可使用 RDC 访问远程数据库 远程数据控件 RDC 与数据控件 DC 类似 不同之处是 RDC 使用 RDO 连接到 ODBC 驱动程序管理器 而 DC 则使用 DAO 连接到 Jet 数据库引 擎 利用 RDO 和 RDC 无需使用 Jet 引擎就可以访问 ODBC 数 据源 这样 在访问远程数据库时 可以获得更好的性能和更大 的灵活性 可以使用 RDC 执行许多简单的远程数据访问操作 不需编写任何代码 只要填写有关项就可以了 使用起来很方便 但应注意 除非在设计时禁止并只在需要时启动 RDC 否则它至 吉林大学计算机科学与技术学院 2008 年本科学位论文 18 少将消耗一个远程数据库连接 在远程数据库连接资源有限或要 求很高效的情况下 宜慎用 少用 RDC 这种情况下 应尽可能 考虑使用 RDO 并使用存储过程 预编译好的 SQL 语句 最后还应注意 只有 32 位操作系统 如 WindowsNT 或 Windows95 才能支持 RDO 和 RDC RDO 和 RDC 也只能用于 访问 32 位 ODBC 数据源 本数据转换系统中使用到的是 ADO 数据库开发技术 具体的使 用方法会在系统详细设计阶段做详细介绍 2 3 数据转化系统的基本开发方案数据转化系统的基本开发方案 微软的 Excel 对象模型中经常使用的四个对象有 Application 对象 它处于 Excel 对象层次结构的顶层 表示 Excel 自身的运 行环境 Workbook 对象 它直接地处于 Application 对象的下层 表示一个 Excel 工作薄文件 Worksheet 对象它包含于 Workbook 对象 表示一个 Excel 工作表 Range 对象 它包含于 Worksheet 对象 表示 Excel 工作表中一个或者多个单元格 用 VB 程序可 以对这些对象进行直接控制 实现数据的转换以及输出 Excel 的工作表 Sheet 由行和列组成 行可以对应数据库表 格中的一条条记录 列可以对应数据库表中的字段 这样只要我 们建立一一对应的关系 实现数据转换时完全可行的 具体方法 如下 首先对照 SQL 数据库中的相应字段的类型和长度 然后根 据确定的情况在 Excel 中建立相应的列 之后循环处理数据库中 表的数据 输出到 Excel 工作表中相应的行上 吉林大学计算机科学与技术学院 2008 年本科学位论文 19 第三章第三章 数据转换系统的总体设计数据转换系统的总体设计 3 1 数据转换系统层次结构 功能设计 数据转换系统层次结构 功能设计 SQL 数据库中 数据表文件 VB 环境下里利用数据 库连接变量打开数据表 文件 提取数据 导出 Excel 数据 表文件 连接到 VB 环境下 利用 Excel 对 象操作数据 图图 8 8 数据转换系统层次结构 数据转换系统层次结构 3 2 Excel 对象介绍对象介绍 通过使用 Excel 对象 可以很容易的在 Visual Basic 数据 库程序中生成 Excel 报表 程序的最终用户可以用 Excel 程序打 开数据库应用系统生成的报表 并利用 Excel 本身功能完成对报 表的打印预览 打印 保存等功能 Excel 对象封装了 Microsoft Excel 的全部元素 利用 Excel 对象提供的属性 方法和事件 可以很容易的在应用程序 中生成 Excel 报表 Excel 对象模型描述了 Excel 中对象之间的结构关系 如下 图所示 吉林大学计算机科学与技术学院 2008 年本科学位论文 20 Workbook 对象 Worksheet 对象 Range 对象 Application 对象 图图 9 9 ExcelExcel 对象模型对象模型 下面对上图所示的常用 Excel 对象进行详细介绍 1 Application 对象表示 Excel 应用程序 在 Excel 对象模型 中 Application 对象处于模型的顶端 通过使用 Application 对象 可以访问模型中的其他对象 从而可以控制 Excel 应用程序的外 观或功能等 例如打开 Visual Basic 程序所在路径下的 Excel 文件 代码如 下 Application Workbooks Open App Path打开 SQL Server 客户端的 SQL Server 服务管理器 配置服务器设置 吉林大学计算机科学与技术学院 2008 年本科学位论文 23 图图 1111 SQLSQL ServerServer 服务管理器服务管理器 点击 开始 继续 按钮 在本地客户端架设了一个本地服 务器 图图 1212 SQLSQL ServerServer 企业管理器企业管理器 然后 打开 SQL Server 下的企业管理器 在 local Windows NT 下的数据库文件上右键点击 选择 新建数据库 弹出 数据库属性 对话框 设置数据库属性 吉林大学计算机科学与技术学院 2008 年本科学位论文 24 图图 1313 数据库属性对话框 数据库属性对话框 例如创建一个名称为 的数据库 在 上单 击左键 打开根子目录 选择表 在表上右键选择 新建表 新建一个名称为 vs 的数据表 图图 14 14 新建名为新建名为 vs vs 的数据表的数据表 吉林大学计算机科学与技术学院 2008 年本科学位论文 25 设置表达内容和各项属性 以下图为例 图图 1515 vsvs 数据表的内容数据表的内容 以上为配置数据库 SQL 服务器以及建立关系数据文件的操作 过程 之后我们需要在 VB net 环境中连接我们假设的服务器 首先 打开 Visual Studio 2005 新建一个 VB net 项目 以 Windows 应用程序为例 图图 1616 在 在 VisualVisual StudioStudio 20052005 环境下创建项目环境下创建项目 从工具栏中视图下拉菜单中选择服务器资源管理器 吉林大学计算机科学与技术学院 2008 年本科学位论文 26 图图 1717 服务器资源管理器 服务器资源管理器 在服务器资源管理器下属数据连接目录上右键选择添加连 接 图图 1818 添加服务器数据库的连接 添加服务器数据库的连接 打开添加连接对话框 在对话框中添加相关数据 配置服务 器相关资源 然后点击测试连接 吉林大学计算机科学与技术学院 2008 年本科学位论文 27 图图 1919 添加连接对话框 填入相关信息 添加连接对话框 填入相关信息 图图 2020 测试数据库连接状态 测试数据库连接状态 此时我们看到测试连接成功 说明我们已经成功将 Microsoft SQL Server 连接到 VB net 的开发环境当中 点击确 吉林大学计算机科学与技术学院 2008 年本科学位论文 28 定 我们看到左侧的服务器资源管理器当中出现了 SQL Server 服务器的目录 下属目录当中有我们建立的数据库文件 图图 2121 添加数据库连接之后的程序文件界面 添加数据库连接之后的程序文件界面 4 3 利用利用 ADO 对象连接对象连接 SQL Server2000 数据数据 库库 其中有三种方法可以实现连接 使用 ODBC DSN 连接 无 ODBC DSN 连接 以及使用 OLEDB Provider for SQL Server 连 接 本系统实现时使用的是第三种 所以在此详细介绍一下第三 种方法 1 标准 cn open Provider sqloledb Persist Security Info False User ID PSW Initial Catalog Data Source 采用调用存储过程的方法实现次要功 能 导出查询中的数据到 Excel 包含字段名 文件为真正的 Excel 文件 如果文件不存在 将自动创建文件 如果表不存在 将自动创建表 基于通用性考虑 仅支持导出标准数据类型 调用示例 p exporttb sqlstr select from vs path c fname aa xls sheetname vs if exists select from dbo sysobjects where id object id N dbo p exporttb and OBJECTPROPERTY id N IsProcedure 1 drop procedure dbo p exporttb GO create proc p exporttb sqlstr sysname 查询语句 如果查询语句中使用了 order by 请加上 top 100 percent 注意 如果导出表 视图 用上面的 存储过程 path nvarchar 1000 文件存放目录 fname nvarchar 250 文件名 sheetname varchar 250 要创建的工作表名 默认为 文件名 as declare err int src nvarchar 255 desc nvarchar 255 out int 吉林大学计算机科学与技术学院 2008 年本科学位论文 36 declare obj int constr nvarchar 1000 sql varchar 8000 fdlist varchar 8000 参数检测 if isnull fname set fname temp xls if isnull sheetname set sheetname replace fname 检查文件是否已经存在 if right path 1 set path path create table tb a bit b bit c bit set sql path fname insert into tb exec master xp fileexist sql 数据库创建语句 set sql path fname if exists select 1 from tb where a 1 set constr DRIVER Microsoft Excel Driver xls DSN READONLY FALSE CREATE DB sql DBQ sql else set constr Provid

温馨提示

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

评论

0/150

提交评论