2013-05-20 141 views
0

我有一個簡單的SQL查詢,我想查詢數據庫並將結果作爲XML返回。我用關鍵詞for XML,但它說XML不是一個有效的語法。 HELP顯示數據庫結果爲XML

using (SqlConnection c= new SqlConnection(cs)) 
     { 
      string s= "select * from Doctor for XML"; 

      using (SqlCommand cmd = new SqlCommand(s,c)) 
      { 
       using (SqlDataAdapter ad = new SqlDataAdapter(cmd)) 
       { 
        ad.Fill(t); // IT SAYS XML IS NOT A VALID SYNTAX 
       } 
      } 
     } 
+0

我想你使用了錯誤的類此任務。搜索'SqlCommand'的方法'ExecuteXmlReader'。 – Novak

回答

1

您可以使用DataAdapter.Fill()方法將查詢結果填充到DataTable然後轉換爲xml。

這裏MSDN鏈接DataTable.WriteXml() method

using (SqlConnection c= new SqlConnection(cs)) 
{ 
    string s= "select * from Doctor"; //remove the for xml 

    using (SqlCommand cmd = new SqlCommand(s,c)) 
    { 
     using (SqlDataAdapter ad = new SqlDataAdapter(cmd)) 
     { 
      DataTable dt; 
      ad.Fill(dt); 

      //Use DataTable.WriteXml() method 
      //dt.WriteXml(parameters); 
     } 
    } 
} 
+0

那麼,我首先要抓取XML,然後使用XML數據填充網格 –

+0

您可以做到這一點。 dt.WriteXml()方法不會更改DataTable(dt)。 – Kaf

+0

你的代碼中的參數是什麼? –