zoukankan      html  css  js  c++  java
  • SQL Server子查询填充DataSet时报500内部错误的解决办法

    运行环境为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
  • 相关阅读:
    架构漫谈读后感
    阅读笔记六
    阅读笔记五
    阅读笔记四
    阅读笔记三
    第二次冲刺周期第二天
    第二次冲刺周期第一天
    一轮项目冲刺——移山小分队(10)
    一轮项目冲刺——移山小分队(9)
    一轮项目冲刺——移山小分队(8)
  • 原文地址:https://www.cnblogs.com/yaotome/p/7124025.html
Copyright © 2011-2022 走看看