作者renmax (竹科学友哥)
看板Visual_Basic
标题[.NET] GridView 显示总和问题
时间Fri Mar 4 18:37:37 2016
请输入专案类型(网站专案或者应用程式专案):vb.net VS2015
各位版友好
DB内有个tableA如下所示:
id name price city
----------------------
1 AAA 1000 台北
2 BBB 1000 台北
3 CCC 1000 台中
1 AAA 1000 台北
3 CCC 1000 台中
4 DDD 1000 台中
我使用GridView想显示出的结果如下:
name SUM(price) city
------------------------
AAA 2000 台北
BBB 1000 台北
CCC 2000 台中
DDD 1000 台中
我使用下面的SQL在Microsoft SQL Server Management Studio上跑是OK的
SELECT name, SUM(price), city
FROM tableA
GROUP BY name, city
但是我放到.aspx上会显示出错误,错误资讯如下:
在选取的资料来源上找不到名称为 'steps' 的栏位或属性。
描述: 在执行目前 Web 要求的过程中发生未处理的例外状况。请检阅堆叠追踪以取得
错误的详细资讯,以及在程式码中产生的位置。
例外状况详细资讯: System.Web.HttpException: 在选取的资料来源上找不到名称为
'steps' 的栏位或属性。
若将SQL改为SELECT name, SUM(price), city FROM tableA
在GridView则会显示资料,不会发生上述错误讯息
.aspx部分程式码如下:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
Width=100% DataSourceID="SqlDataSource1" AllowPaging="True" PageSize="20"
AllowSorting="True">
<Columns>
<asp:CommandField ButtonType="Button" ShowSelectButton="True" />
<asp:BoundField DataField="name" HeaderText="名字"
SortExpression="name" />
............
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ...... %>"
ProviderName="<%$ ........ %>"
SelectCommand="SELECT name, SUM(price), city FROM tableA
GROUP BY name, city">
<SelectParameters>
..........
</SelectParameters>
</asp:SqlDataSource>
请问该怎麽修改才会正确的显示出来呢?
PS.若能照着id或是city的顺序排列会更好
麻烦了,谢谢 <(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.216.21.87
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1457087860.A.657.html
1F:推 ian90911: 在选取的资料来源上找不到名称为 'steps' 的栏位或属性 03/04 20:56
2F:→ ian90911: 我猜是sql捞的栏位名称没有steps DataField却有steps 03/04 20:56
3F:推 JohnYaEPen: 同楼上,你直接用关键字搜寻一下code吧 03/04 22:32
4F:→ renmax: 其实steps 就是price 我PO文章的时候改了名词 两个是一样 03/05 17:32
5F:推 JohnYaEPen: sum(price)加总没给他栏位名称 03/05 18:24
6F:→ JohnYaEPen: 你整段语法进sql执行一次就知道问题在哪了 03/05 18:25
7F:→ renmax: 我在mssql执行是ok的 但的确会显示没栏位名称 03/05 20:59
9F:→ renmax: 我是从这边参考SUM的用法 请问SQL语法该怎麽修正? 03/05 21:00
10F:推 JohnYaEPen: sum(price) as price 03/06 19:12
11F:→ JohnYaEPen: 不过我都会省略as直接sum(price) price 03/06 19:13
12F:→ renmax: 已解决 谢谢 03/07 10:44