台灣最大程式設計社群網站
線上人數
1508
 
會員總數:241342
討論主題:186910
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 1對多的資料如何以 session方式儲存?
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
1對多的資料如何以 session方式儲存?
價值 : 20 QP  點閱數:261 回應數:6

樓主

Chihyu Yeh
門外漢
0 8
92 5
發送站內信

各位好~

  我的程式碼如下,在む資料表め中帳號所對應的む專案年度め不止1筆(一對多的關係),我想利用session的方式儲存,永遠只會存第一筆,請問程式碼該如何寫才能叫出符合該む帳號め的所有む專案年度め呢?




搜尋相關Tags的文章: [ session ] ,
本篇文章發表於2017-10-07 16:02
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
幾個關鍵提醒您
1.您應該用一個陣列或者集合,來存放多筆資料

2.您只是用dr.read當然只會讀一筆資料
多筆讀取,應該用回圈去讀取


陣列的寫法、While回圈的寫法
相信基本的書本都有,您可以查一下怎麼用

^_^
本篇文章回覆於2017-10-07 22:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

MIS2000 Lab
檢舉此回應
您應該記錄「這個帳號(Key、唯一值、識別碼)」
然後用這帳號去找出相關資料(如:專案代號)
而不是用Session記錄這些「可被查詢到的成果」(如:專案代號)

另外,Session不要存放大量的數據

您在FB指名要我回答,以上是我的想法
僅供參考 :-)
本篇文章回覆於2017-10-10 15:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
樓主是否聊一聊
您多筆資料放Session的目的是什麼?
基於什麼樣的需求,想使用Session?

另外,Web其實是無狀態的
為了保留狀態,所以會有ViewState, Session, Cookie, Web Storage, ...等這些的機制
是否清楚明白這些機制有什麼不同?
各自的優缺點是什麼?
什麼時候要用什麼機制比較好?

這些問題弄懂,對於您應該會很有幫助唷
^_^
本篇文章回覆於2017-10-11 10:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Chihyu Yeh
檢舉此回應
感謝兩位大大幫忙解惑,原先設計上,使用者輸入帳號及密碼後,到資料庫進行確認帳號與密碼是否無誤,無誤後,再以該帳號為索引條件,去SELECT該帳號應該有的權限(也就是專案年度、專案編號),然後放到SESSION,再到第二頁將SESSION存的東西放進DROPDOWNLIST,不過經由兩位大大的指點,我把他稍微修改了一下,當輸入正確的帳密後,SESSION只有存帳號,到達第二頁再SELECT出該帳號的[專案年度及編號],之後利用WHILE的方式把每一筆叫出來,然後用DropDownList1.Items.Add的方式將資料逐一塞入。
TOPCAT大大~想另外再請教一個問題,如果む專案年度〕在下拉式選單中有重複的情形,使用精靈的方式只要打個勾勾即可解決,但如果要去後端以寫程式碼的方式,請問該怎麼寫,才可以讓他不要出現重複的值?



本篇文章回覆於2017-10-11 10:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應

如果む專案年度〕在下拉式選單中有重複的情形,使用精靈的方式只要打個勾勾即可解決,但如果要去後端以寫程式碼的方式,請問該怎麼寫,才可以讓他不要出現重複的值?


您撈取資料的時候,就可以把重複的資料進行排除

請搜尋以下關鍵字
『T-SQL SELECT DISTINCT』

^_^
本篇文章回覆於2017-10-11 10:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
的確,
把登入的帳號存在Session,在有需要撈取專案年度時,再以Session來當作條件撈取
是相對較好的選擇

您想想,如果您原本一進入系統就撈取
在進入需要專案年度之前,又剛好新增了一筆新的年度
您原本的設計,是否就會漏了

現在進入才撈取
1.存放Session資料少,節省Server記憶體寶貴的資源
2.有需要才撈取,這樣可以取得最新資料,不至於漏了資料
一舉兩得

^_^

本篇文章回覆於2017-10-11 10:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.