SQL Server子查詢填充DataSet時報500內部錯誤的解決辦法
阿新 • • 發佈:2017-07-06
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‘) groupby 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內部錯誤的解決辦法