2011-03-03 69 views

回答

5

的CTE在SQL Server是一個普通的SQL查詢語句的一部分 - 所以無論你做什麼,以執行一個SQL查詢也將與CTE工作:

string cteQuery = ";WITH yourCTE AS (SELECT .... FROM :... WHERE.....) SELECT * FROM yourCTE"; 

using(SqlConnection _con = new SqlConnection(connectionString)) 
using(SqlCommand _cmd = new SqlCommand(cteQuery, _con)) 
{ 
    // provide parameters to the query, if needed 

    _con.Open(); 

    using(SqlDataReader rdr = _cmd.ExecuteReader()) 
    { 
     while(rdr.Read()) 
     { 
      // grab your data from the data reader here 
     } 

     rdr.Close(); 
    } 

    _con.Close(); 
} 

或者你有什麼做的?

+0

WITH Sales_CTE(NumberOfOrders,費) AS ( SELECT ID,名稱 FROM前 ) SELECT * FROM Sales_CTE; GO 這是我的CTE ...我可以直接撥打Sales_CTE在C sharp.please電話給我如何撥打 – saran 2011-03-03 05:57:13

+0

哈哈哈!瞬間! :P – FarligOpptreden 2011-03-03 05:58:02

+0

正如馬克(和我)建議的那樣,你可以。這與從C#執行任何其他查詢一樣... – FarligOpptreden 2011-03-03 06:00:48

0

CTE只是T-SQL查詢的一部分,所以從C#執行語句應該調用CTE。我不確定這是否回答你的問題?