哎,所以我有一個存儲過程填充一個gridviewASP.NET在存儲過程中的GridView
,在我的存儲過程我有兩列如
Total_Price DataType Money
和
Discount DateType decimal(18, 0)
和我想顯示稱爲Actual Price
派生列是
Total_Price - Discount
是最好在存儲過程中創建此列還是在gridview中加載計算?
繼承人,此刻我的存儲過程
SELECT f.supplier_name,d.product_ID_key, d.product_name AS productName, d.packsize, d.tradePrice, d.IPU_code, d.EAN_code, c.discount, e.stock_indicator
FROM aw_customer AS a INNER JOIN
aw_cust_contract AS b ON a.cust_ID_key = b.cust_ID_key INNER JOIN
aw_contract_line AS c ON b.contract_ID_key = c.contract_ID_key INNER JOIN
aw_product AS d ON c.product_ID_key = d.product_ID_key INNER JOIN
aw_stock AS e ON d.product_ID_key = e.product_ID_key INNER JOIN
aw_supplier AS f ON d.supplier_ID_key = f.supplier_ID_key
WHERE (a.cust_ID_key = @customerId)
ORDER BY d.product_name
嘿看原來的帖子我的存儲過程,我最好的放在視圖會提高速度等? – StevieB
就像@sll所說的那樣,執行計算數據庫級別將提高在GridView綁定內運行計算的性能。不過,我認爲將查詢存儲在視圖中並沒有太大的區別,因爲查詢仍然以任何方式運行。我認爲我喜歡將它存儲在視圖中的原因是它的一致性數據輸出,在整個系統中不會有重複計算的負載。例如,如果'Actual_Price'將來會受到另一列的影響,則必須通過所有存儲過程並更改計算。 – Curt
另一種選擇是創建用戶定義函數。但基本上,爲了回答你最初的問題,運行計算數據庫級別比在應用程序級別綁定GridView要好。 – Curt