2011-08-25 23 views
0

MSSQL Server可能以XML格式返回查詢結果。我的問題是,我可以使用C#直接調用這個函數嗎?我只想生成XML,而不使用任何序列化或傳統C#代碼中使用的其他方法。我可以使用C#調用SQL Server的輸出爲XML功能嗎?

感謝 SUT

+0

待辦事項你的意思是直接? –

+0

是......抱歉打字錯誤... – SUT

回答

1

你可以使用ExecuteXmlReader

here

using(SqlConnection cn = new SqlConnection("data source=(local);initial catalog=pubs;.....")) { 
     cn.Open(); 
     SqlCommand cmd = new SqlCommand("SELECT * FROM authors FOR XML AUTO, XMLDATA", cn); 

     XmlReader xmlr = cmd.ExecuteXmlReader(); 
     xmlr.Read(); 
     while(xmlr.ReadState != ReadState.EndOfFile) { 
        Console.WriteLine(xmlr.ReadOuterXml()); 
     }      
    } 
0

SqlXml類是你需要使用的東西。但是,鑑於SQL連接的性質,XML數據仍將在序列化和反序列化之下。 (對象只能在相同的內存空間可以用來只要應用程序邊界交叉,將需要某種形式的序列化。)

相關問題