如何將多個複選框列表項輸入數據庫以進行最終報告
(我嘗試在 SO 上發布此內容,但沒有得到答复。從現在開始,我將在此處發布這些理論類型的問題)
我正在為手動創建的表單送出創建幾個 CheckBoxList 中的第一個。我一直在尋找多種方法,不僅可以創建所述 CheckBoxList,而且可以將其輸入數據庫。然而,我面臨的挑戰(主要是因為我以前沒有遇到過這種情況,我想學習這個)是我不僅需要擔心在數據庫中正確輸入項目,而且我最終需要根據這些條目生成報告或製作可列印的表格。
假設我有一張特定類型燒烤架的訂單,我需要將此表格發送到全國各地的配送中心。如果表格上突出顯示,配送中心將需要拉出所述燒烤。
配送中心的 CheckBoxList 如下所示:
全部 達拉斯 邁阿密 天使 西雅圖 紐約 芝加哥 鳳凰 蒙特利爾
如果選中特定城市(或所有城市),則配送中心將拉燒烤架進行發貨。
添加的部分是我想要:
- 能夠從該數據庫創建一個網格視圖,用於報告以記錄哪個配送中心獲得了燒烤訂單和
- 能夠創建報告以告知在給定月份中哪個配送中心發出了燒烤訂單(以及其他報告)。
我正在尋找的是一種設計此表單的理論方法,同時牢記網格視圖和報告。我是否將 CheckBoxList 數據放在特定列的一個單元格中?我是否為每個配送中心創建單獨的列?我什至在正確的軌道上嗎?
注意:此時我不是在尋找編碼幫助,我只是在尋找一些理論/邏輯幫助,以便我可以第一次以正確的方式學習。
::編輯::
首先,請注意我現在擁有的數據庫設計完全處於沙盒模式。什麼都沒有最終確定。一切(同樣是沙盒模式)都在一個表中。另外,我現在正在尋找編碼幫助。我正在尋找正確的理論/邏輯方法來解決這個難題,這樣我就可以自己動手玩編碼了。這樣我學得更好。如果我需要編碼幫助,我會回到這裡尋求進一步的幫助。
這就是我現在正在使用的東西。
在我的 aspx 頁面中,我有一個複選框列表,其中包含作為列表項輸入的所有配送中心以及“所有”(配送中心的)選項。
我還在此表中創建了一個專用列,用於保存列表項中的所有資訊,並為該表編寫了一個 sqldataconnection,以發揮利用數據庫實現此目的的可程式性。
在將選擇寫入數據庫時,我最初為每個目的地城市創建了一個列,包括“全部”選項。我只是把選擇放在一個單獨的列中,但是根據我今天閱讀的有關數據庫規範化的一些資訊,前一個選項似乎比後者更好。對於這種情況,尤其是在我需要考慮報告的情況下,這種做法是否正確?
在高層次上,我推荐一張儲存所有配送中心的表格。您將需要第二個表來儲存訂單和多個配送中心之間的 1:n 關係。如果您的訂單表中有訂單日期和發貨日期,那麼應該很容易編寫一個基於日期的查詢和過濾器,並加入到
orders_distCentres
找出哪個配送中心得到什麼以及什麼時候得到的。通常,架構可能如下所示:命令 ------ order_id (PK) 發貨日期 收到的日期 訂購日期 (其他領域) 配送中心 -------------------- dist_cntr_id (PK) 名稱(如蒙特利爾、芝加哥、達拉斯等...) orders_distCentres ------------------ order_id(FK 到 orders.order_id) dist_cntr_id(FK 到 distributions_centres.dist_cntr_id)
另外,我不確定是否將“全部”作為數據庫中的有效選擇。這可能會導致將來在您添加/刪除配送中心並查詢“全部”定義更改之前的發貨時“全部”定義發生更改的問題。從使用者界面的角度來看,我認為“全部”應該與其他復選框分開,點擊時應該將它們全部啟動。不要將“全部”複選框的值送出給您的應用程序。