Python高级编程 C#高级编程:执行命令[2]
C#高级编程:执行命令[2]
——此文章摘自《C#高级编程(第 版)》定价 元 特价 元 购买ExecuteScalar()方法 在许多情况下 需要从SQL语句返回一个结果 例如给定表中的记录个数 或者服务器的当前日期/时间 ExecuteScalar方法就可以用于这些场合 using System; using System Data SqlClient; public class ExecuteScalarExample { public static void Main(string[] args) { string source = server=(local)\NetSDK; + integrated security=SSPI; + database=Northwind ; string select = SELECT COUNT(*) FROM Customers ; SqlConnection conn = new SqlConnection(source); conn Open(); SqlCommand cmd = new SqlCommand(select conn); object o = cmd ExecuteScalar(); Console WriteLine ( o ) ; } } 该方法返回一个对象 如果需要 可以把该对象的数据类型转换为合适的类型 ExecuteXmlReader()方法(只用于SqlClient提供程序) 顾名思义 这个方法执行命令 给调用者返回一个XmlReader对象 SQL Server允许使用FOR XML子句来扩展SQL子句 这个子句可以带有下述 个选项中的一个 ●FOR XML AUTO 根据FROM子句中的表建立一个树 ●FOR XML RAW 结果集中的行映射为元素 其中的列映射为属性 ●FOR XML EXPLICIT 必须指定要返回的XML树的形状 Professional SQL Server XML(ISBN )一书列出了这些选项的完整描述 下面的示例使用了AUTO using System; using System Data SqlClient; using System Xml; public class ExecuteXmlReaderExample { public static void Main(string[] args) { string source = server=(local)\NetSDK; + integrated security=SSPI; + database=Northwind ; string select = SELECT ContactName CompanyName + FROM Customers FOR XML AUTO ; SqlConnection conn = new SqlConnection(source); conn Open(); SqlCommand cmd = new SqlCommand(select conn); XmlReader xr = cmd ExecuteXmlReader(); xr Read() string s; do { s = xr ReadOuterXml(); if (s!= ) Console WriteLine(s); } while (s!= ); conn Close(); } }
![Python高级编程 C#高级编程:执行命令[2]](http://img.zhputi.com/uploads/89ff/89ffd2d52bd0a1186c6ddc3cd853896b91413.jpg)
注意必须导入System Xml命名空间 才能输出返回的XML 这个命名空间和 NET Framework其他的XML功能将在第 章中详细论述
本例在SQL语句中包含了FOR XML AUTO子句 然后调用ExecuteXmlReader()方法 代码的结果图如图 所示
在SQL子句中 我们指定了FROM Customers 这样类型Customers的元素就显示在输出中 为它添加元素 每个元素对应于从数据库中选择出来的列 这就为每个从数据库中选择出来的行建立了XML标志
图
lishixinzhi/Article/program/net/201311/15626