1. 程式人生 > >SQL Server子查詢填充DataSet時報500內部錯誤的解決辦法

SQL Server子查詢填充DataSet時報500內部錯誤的解決辦法

and 但是 itl bsp 出錯 子查詢 企業 sql 數據

運行環境為Visual Studio 2010,數據庫為SQL Server 2008。

執行下面SQL語句

SELECT SubsiteId, SubsiteTitle, count(CollectionID) CollectionNumber,count(LName) PlantNumber
   FROM (SELECT DISTINCT SubsiteId, SubsiteTitle, CollectionID, LName, CName
              FROM Cumplag_Garden_Plants where lname=Agave sisalana) 
group
by SubsiteId, SubsiteTitle

在企業管理器中運行正常,可以查詢到結果,但是放在程序中卻始終提示500內部錯誤。以下是C#代碼:

1 SqlConnection conn = new SqlConnection(strConn);
2 SqlCommand cmd = new SqlCommand(sql, conn);
3 conn.Open();
4 SqlDataAdapter sda = new SqlDataAdapter(cmd);
5 sda.Fill(ds, "ds");  //這裏出錯
6 conn.Close();

對代碼try catch也捕獲不到異常。


解決方法:只要將內部子查詢添加一個別名即可。

SELECT  q.SubsiteId, q.SubsiteTitle, count(q.CollectionID) CollectionNumber,count(q.LName) PlantNumber
    FROM (SELECT DISTINCT SubsiteId, SubsiteTitle, CollectionID, LName, CName
             FROM Cumplag_Garden_Plants where lname=Agave sisalana) q
group by SubsiteId, SubsiteTitle

SQL Server子查詢填充DataSet時報500內部錯誤的解決辦法