SQL Server子查询填充DataSet时报500内部错误的解决办法

运行环境为Visual Studio 2010,数据库为SQL Server 2008。

执行下面SQL语句文章来源地址:https://www.yii666.com/article/756036.html

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#代码:文章来源地址https://www.yii666.com/article/756036.html文章地址https://www.yii666.com/article/756036.html网址:yii666.com<网址:yii666.com

 SqlConnection conn = new SqlConnection(strConn);
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(ds, "ds"); //这里出错
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

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png