Pages

2013-05-29

程式端之DB樹狀資料查詢Helper物件

要在資料庫取得具有樹狀結構的資料查詢結果,若是使用SQL Server,可以使用內建的CTE(Common Table Expression)查詢指令,但其他資料庫大都不支援這語法,雖然也可以利用DB Stored Procedure或自訂Function/View來取得遞迴式資料,但總是綁DB太深。

不管是寫在DB或Program兩端,這種遞迴式資料都挺耗效能的,隨著指定Level愈大,所執行的SQL命令總數更多。因此若是目標資料並沒有很大量,其實應該一次全取回,再於Client端利用程式作Recurisve建立樹狀結構。

為了能跨不同DB,也為了簡化Recursive查詢,我寫了一個Helper物件,可以遞迴執行所需的DB查詢指令,若是資料量及階層數不多(如2層內),總DB執行次數不會太多,算是比較獨立且簡單的實作方式。
Class Code

在2階內,DB查詢只下了3次,取得資料如下表:
Result GridView

2013-05-11

使用Chrome下載YouTube影片

由於YouTube政策反對任何影片下載,因此Google Chrome的Extensions相關的軟件都被下架,使用其他影片下載工具雖然也能達到目的,但每次還得開啟,太過麻煩且不直覺。

官方雖然不能上架,但還是有工具允許你自行安裝,以下推薦這套:
Chrome Youtube Downloader

1. 下載並解壓縮成*.crx檔。
2. 打開Chrome的Extension管理介面,把該crx檔用滑鼠拖拉過去。
3. 安裝完成,支援FLV, MP4, MP4 HD 720p, MP4 Full-HD 1080p, MP4 (2K), MP3.
4. 打開YouTube的影片頁面,你會發現多了一個「Download」下拉選單,可選擇多種品質的影片。

YouTube Download