熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#高級編程:執行命令[2]

2013-11-13 12:18:31  來源: .NET編程 
    ——此文章摘自《C#高級編程(第版)》定價元 特價元 購買

    ExecuteScalar()方法

    在許多情況下需要從SQL語句返回一個結果例如給定表中的記錄個數或者服務器的當前日期/時間ExecuteScalar方法就可以用於這些場合
    using System;
    using SystemDataSqlClient;
    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);
          connOpen();
          SqlCommand cmd = new SqlCommand(select conn);
          object o = cmdExecuteScalar();
          ConsoleWriteLine ( 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 SystemDataSqlClient;
    using SystemXml;
    public class ExecuteXmlReaderExample
    {
       public static void Main(string[] args)
       {
          string source =server=(local)\\NetSDK; +
                      integrated security=SSPI; +
                      database=Northwind;
          string select = SELECT ContactNameCompanyName +
                      FROM Customers FOR XML AUTO;
          SqlConnection conn = new SqlConnection(source);
          connOpen();
          SqlCommand cmd = new SqlCommand(select conn);
          XmlReader xr = cmdExecuteXmlReader();
    xrRead()
    string s;
          do
          {
             s = xr ReadOuterXml();
             if (s!=)
                ConsoleWriteLine(s);
          } while (s!=);
          connClose();
       }
    }

    注意必須導入SystemXml命名空間才能輸出返回的XML這個命名空間和NET Framework其他的XML功能將在第章中詳細論述

    本例在SQL語句中包含了FOR XML AUTO子句然後調用ExecuteXmlReader()方法代碼的結果圖如圖所示

    在SQL子句中我們指定了FROM Customers這樣類型Customers的元素就顯示在輸出中為它添加元素每個元素對應於從數據庫中選擇出來的列這就為每個從數據庫中選擇出來的行建立了XML標志


圖 

[]  []  


From:http://tw.wingwit.com/Article/program/net/201311/15626.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.