Re: [問題] 請問有辦法將資料庫查詢結果轉成陣列嗎?

看板C_Sharp作者 (Utor)時間5年前 (2019/01/15 22:53), 5年前編輯推噓1(103)
留言4則, 1人參與, 5年前最新討論串2/2 (看更多)
※ 引述《a828203 ()》之銘言: : 各位新進晚安, : 先介紹環境 : 開發工具:VS 2017、C# Windows Form APP、MySQL : 本魯想利用datareader把資料庫的查詢結果轉成陣列(搭配 For Loop), : 然後做垂直運算,輸出結果類似下圖: : https://i.imgur.com/sas835x.png
: 但是資料表內不一定都有值, : 所以會出現空值的例外狀況... : 然後就無法執行了 Q^Q : 陣列規格大約是 11列 X 4欄,應該不會造成記憶體多大負擔吧? : 還是說 SQL 的 SELECT 語法可以做到垂直運算? : 或是有其他更好的方法? : 先謝謝各位先進的解答 剛好在試MySql+Dapper,順手回一下這個 第一點,如果懶的話 其實SQL本身就有sum的函數了 只要下select sum({{column_name}}) form {{table_name}}; 就可以得到sum值 然後透過Rows.add的方式加到datareader裡面 更可以搜尋完用union的方式直接串起來 這是從DB面的方式去處理 從程式的話,我傾向建Model 首先table如下: mysql> select * from demo; +------+--------+ | id | number | +------+--------+ | 1 | 20 | | 2 | 10 | | 3 | 15 | | 4 | NULL | +------+--------+ 這個table隨便建的 Code的部分: https://rextester.com/KVNM9426 主要是用dapper直接去轉強型別 如果要用datareader可不可以?也行,我記得網路上蠻多sample的。 至於DataGridView本身有沒有相關的方法我就不知道了 很久沒拉控制項了XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.70.210.104 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1547563989.A.90F.html ※ 編輯: forewero (61.70.210.104), 01/15/2019 22:59:41

01/16 21:27, 5年前 , 1F
Dapper只要下好sql轉強型別來用即可 不需要用到datareader
01/16 21:27, 1F

01/16 21:28, 5年前 , 2F
conn.Query<T>("sql");
01/16 21:28, 2F

01/16 21:29, 5年前 , 3F
DataGridView應該可以將List<T>物件丟進去當DataSource
01/16 21:29, 3F

01/16 21:29, 5年前 , 4F
很久沒用 我也忘了XDD
01/16 21:29, 4F
DataGridView可以丟List<T> object進去,因為我的sample code就是這樣寫的XD ※ 編輯: forewero (61.70.210.104), 01/16/2019 23:08:37
文章代碼(AID): #1SFVFLaF (C_Sharp)
文章代碼(AID): #1SFVFLaF (C_Sharp)