2014-02-27 51 views
0

經過一點建議。格式存儲過程中的數據

我們正在生成帶有過濾器的標準數據列表。

該過濾的列表可以具有代表在不同莊園數據3個備選視圖 我的問題是:

  • 應存儲的過程中所需要的每個視圖用於前的格式返回數據結束?

  • 或者業務層應該重新格式化數據嗎?

我一直認爲最好儘快進出數據庫,並允許業務層處理格式。

預先感謝任何建議

UPDATE: - 由格式化,

1視圖包含的所有數據withing可滾動表

2視圖將組數據withing標題,(點擊一個標題以展開查看)

3視圖將數據分組爲日期組並顯示日期爲表格行標題(7天無效),數據計數將顯示在這些無效數據中

+1

定義格式? – ChrisBint

+0

毫無疑問,您的業務層應該用於演示和格式化。數據庫儘可能處理數據,並且您的報告工具處理演示文稿。您可以通過各種努力,在SQL中進行一些表示類型的操作,但這並不值得。 – Andrew

+0

@ChrisBint問題更新,謝謝 – Simon

回答

2

我一直認爲最好儘可能快地進出數據庫,並允許業務層處理格式化。

簡而言之:正確的,你已經回答了你自己的問題。

數據庫將數據返回給您的應用程序,它如何呈現取決於應用程序。當你想提供相同的數據到另一個應用程序會發生什麼?你是否想在每次你想以不同的格式存儲數據時編寫程序?當然不是。

1:視圖包含所有數據withing可滾動表

不能從過程返回一個滾動窗口。無論如何,數據庫如何知道需要滾動多少數據?它不知道您正在使用的窗口/視口的大小。

2:視圖將組數據withing標題,(點擊標題展開以查看)

這需要用戶交互,其僅僅是表示層的結構域。

3:視圖將組數據爲日期組和顯示日期,如表 行標題(第7天intivials)和數據計數,將顯示那些intivals內

可以返回多個結果從程序中設置,給出結果和計數,但這在應用程序中更容易處理。

0

一般而言,您應該使用表示層來格式化數據輸出。您可以讓存儲過程返回原始數據集,然後進行設置,例如針對3種不同的表示類型的3個不同的XSLT文件。這樣,您始終可以執行DataTable.ToXML並將XSLT模板應用於此輸出以生成用戶需要的格式。