要测试该应用程序,请将 Startup 对象更改为 Form3 并运行应用程序(按 F5 键)。单击 GetXML。Customers 表的内容将作为 XML 返回并显示在文本框中(如图 24 所示)。 
图24:示例应用程序输出结果
SQLXML 3.0
在前面的示例中,我们讨论了 SQL Server 对 XML 的内置支持,有时也称其为 SQLXML。SQLXML 3.0 包含以下托管类,可以简化 SQLXML 在 Visual Studio .NET 中的使用。
| 类 | 说明 |
| SqlXmlCommand 对象 | 将 XML 数据从 SQL Server 返回到一个新的或现有的 Stream 对象,或将数据返回到一个 XMLReader 对象。此对象还包含一个用于创建参数的方法。 |
| SqlXmlParameter 对象 | 用于填充使用 SqlXMLCommand 对象创建的参数。 |
| SqlXmlAdapter 对象 | 用 SQL Server 中的 XML 数据填充数据集。此对象还将更新应用于数据集中的 SQL Server 数据。 |
这些托管类允许您通过多种方法处理 SQL Server 中的 XML 数据,包括:
◆执行 SQL 查询以返回 XML 数据
◆对 XML 数据应用 XSL 转换
◆对 XML 数据执行 XPath 查询
对于最后一个示例应用程序,我们将扩展以前的示例,使用 SQLXML 托管类返回 SQL 查询中的 XML 数据。
重要信息:必须安装 SQLXML 3.0 才能运行此示例应用程序。SQL Server 2000 http://dev.chinaitpower.com/dotnet/webservice/' target='_blank'>Web Services 工具包附带了 SQLXML 3.0,也可以从 SQLXML and XML Mapping Technologies(英文)下载 SQLXML 3.0。
必须将 SQLXML 组件引用添加到项目中后才能使用 SQLXML 托管类。
添加 SQLXML 组件引用
1、打开解决方案资源管理器:在 View(视图)菜单中,单击 Solution Explorer(解决方案资源管理器)。
2、在 ServiceCall 项目下,右键单击 References(引用),然后单击 Add Reference(添加引用)。
3、在 Add Reference(添加引用)对话框中,单击 .NET 选项卡。
4、找到名为 Microsoft.Data.SqlXml 的组件,并突出显示该组件。
5、单击 Select(选择),然后单击 OK(确定)。
6、保存 ServiceCall 项目。
7、打开 Form3.vb,在该窗体中 GetXML 按钮旁边添加一个新按钮,然后将新按钮的 Name 属性和 Text 属性更改为 SQLXML。
8、双击 SQLXML 按钮打开单击事件的代码窗口并添加以下代码。请记住更改数据源、用户 ID 和密码,使其与您的服务器匹配。
|
在此代码示例中,我们首先定义要使用的对象和变量。Stream 对象 (strm) 将保存从查询返回的 XML 数据。然后,定义 SqlXmlCommand 对象 (sqlXmlCmd),并将连接字符串作为参数传递给该对象。
下一步,设置 SqlXmlCommand 对象上的参数。CommandType 被设置为 Sql,它是一个默认值,在此列出以帮助您理解。CommandText 被设置为查询的值,该查询就是我们在此示例的第一部分使用的同一个查询。然后,我们将调用 SqlXmlCommand 对象的 ExecuteStream 方法,该方法将执行 SQL 语句,并将 XML 数据放入 Stream 对象中。
下一步,我们定义 StreamReader 对象 (streamRdr),并将 Stream 对象 (strm) 作为参数传递给该对象。这样将使用 XML 数据填充 StreamReader 对象。在最后一步中,我们将加载带有来自 StreamReader 对象的 XML 数据的文本框。
应仍将 Startup 对象设置为 Form3,然后保存项目、运行应用程序(按 F5 键)并单击 SQLXML 按钮。输出结果应该与单击 GetXML 按钮时的输出完全一样,如图 24 所示。
| 共15页: 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] 13 [14] [15] 下一页 | ||
|
|
|||
| · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. · 51CTO技术自测 挑战自.. · CISSP认证成长之路 · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 |
· 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·拯救系统管理员 ·美国选民:我为什么选布什 |
·VMware公司中文命名挑战赛 ·我们真缺乏创新吗? |
| ·J0ker的CISSP之路:复习-.. ·J0ker的CISSP之路:复习-I.. |
·9月第3周安全回顾 内网安.. ·教你几招识别和防御Web网.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· 费力不讨好 数据中心主.. · AMD Phenom三核处理器解.. · 51CTO主编推荐经典专题 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |