作者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/m.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