在Microsoft Office中使用ADO.NET1

时间:2010-01-30 09:36:56  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:     给我留下最深印象的是什么?主要有三点:      创建 XML Web Service 非常容易。   我的客户和第三方可以使用 XML Web Service 迅速找到有用信息。   XML Web Service 配合 Microsoft? Office 一起使用非常容易。     但是,我再次发现对构造集成的 Microsoft Office 和 XML ...
  正文:XML Web Service!XML Web Service!XML Web Service 无处不在!当然,您早就知道这一点。但是,如果您没有加入使用 XML Web Service 的行列,就无法读懂有关 XML Web Service 的文章。亲自用过后,我发现 XML Web Service 是极其有用的。
  
    给我留下最深印象的是什么?主要有三点:
  
  创建 XML Web Service 非常容易。
  我的客户和第三方可以使用 XML Web Service 迅速找到有用信息。
  XML Web Service 配合 Microsoft? office/ target=_blank class=infotextkey>Office 一起使用非常容易。
    但是,我再次发现对构造集成的 Microsoft Office 和 XML Web Service 解决方案的需求尚未得到满足。我发现自己经常需要将已被序列化为 XML 并已通过 XML Web Service 传输的 ADO.NET 数据集应用到使用 Microsoft Office 创建的解决方案中。有这种需求的不止我一个,我在新闻组中看到有很多人都要求有完成这一任务的便捷方法。由于 Microsoft .net 刚刚问世,因此 Microsoft Office 的当前版本不能提供现成的解决方案以使用 ADO.NET 数据。但是这也并非完全没有可能。
  
    在本文中,我将介绍如何通过可以重复使用的方法将 XML Web Service 提供的 ADO.NET 数据集应用到 Microsoft Office 中。这里介绍的解决方案可以与 Microsoft Office XP 和 Microsoft Office 2000 配合使用。Microsoft Visual Basic? for Applications (vbA) 源代码还要求具备 MSDN SOAP Developer Center中提供的 Microsoft SOAP Toolkit 3.0 和 Microsoft XML (MSXML) Core Services 4.0 库。
  
    首先,我们需要查看已被序列化为 XML 的数据集的结构。然后,在了解了 XML 的结构之后,我们将讨论两种在 Microsoft Office 中使用这些数据的方法。
  
    获得数据集
    首先,让我们来看看我在文章一开始的评价中提到的第一点:创建 XML Web Service 的便捷性。在 Microsoft Visual Studio? .NET 中,我介绍了一个可以返回 ADO.NET 数据集的简单函数。仅需添加 <WebMethod()> 属性,我就可以立即将同样的代码转换为 XML Web Service:
  
  Private sConnNwind As String = "Data Source=localhost;" & _
  "Initial Catalog=northwind;" & _
  "User ID={UserID};" & _
  "password={Password}"
  <WebMethod()> Public Function RunQuery() As DataSet
  Dim cn As SqlConnection = New SqlConnection(sConnNwind)
  Dim cmd As SqlCommand = New SqlCommand("SELECT * from Orders", cn)
  Dim da As SqlDataAdapter = New SqlDataAdapter()
  da.SelectCommand = cmd
  cn.Open()
  Dim dsAuthors As DataSet = New DataSet()
  da.Fill(dsAuthors)
  cn.Close()
  Return dsAuthors
  End Function
  
    Visual Studio .NET 使所有这一切变得如此便捷!我简直无法想像如果编写代码先将其转换为 XML 文档,然后再转换为 SOAP 消息以作为 XML Web Service 传输会多么繁琐。不仅如此,我根本不想在 Visual Basic .NET 代码上花费太多时间;这些概念在 MSDN 上随处可见。对于这一代码节选,您应该注意主要两点:
  
  该函数可以运行来自罗斯文数据库的查询并返回数据集。
  <WebMethod()> 属性对该函数进行标记,使其作为 XML Web Service 可见。
    还需要顺便提一下,数据集类似于 ADO Recordset 对象,但功能要强大得多。它可以将查询的多个结果及其关系存储在 DataSet 对象中,最重要的是,它可以将包含的数据序列化为 XML 流。
  
    同样,当 RunQuery 函数被调用时,ADO.NET 会连接到罗斯文 Microsoft SQL Server? 数据库,并将查询结果检索至 DataSet 对象。此时,函数即可返回数据集。.NET 能够序列化数据集,并且 XML 流会被发送回调用者。已序列化的数据集类似于如下所示:
  
  <?xml version="1.0" encoding="utf-8"?>
  <DataSet xmlns="http://tempuri.org/WS_XML">
  <xs:schema id="NewDataSet" xmlns=""
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
"在Microsoft Office中使用ADO.NET1"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/12646.html


关键字:

关于《在Microsoft Office中使用ADO.NET1》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td