2008年2月28日星期四

SQL - 分頁

以前還沒有那麼熟SQL語法的時候
只會作將資料庫資料讀出來、寫入、更新等等基本的動作,以為這就是SQL的全部了
後來作的東西越來越多、看的越來越多,經驗也比以前豐富了
發現SQL真是博大精深,很多複雜的動作都可以在SQL裡完成
而不需要將資料讀出再交由程式作處理,也減少了程式的複雜度

例如最常用到的分頁,以前總想著把資料全部讀出來再用程式選取需要的資料
但這樣實在太浪費校能和記憶體了
資料量小倒是還好,當資料量一大,成千上萬筆的資料不可能一次選出
因此在此做了筆記

範例資料表名稱: a
範例資料表結構:
id: 主索引
data: 資料

利用以下語法即可達到不需程式控制的分頁技巧

SELECT TOP pSize * FROM [a]
WHERE [a].[id] NOT IN
(SELECT TOP pSize * pIndex [b].[id] FROM [a] AS [b] ORDER BY [b].[id])
ORDER BY [a].[id] DESC

pSize代表一頁的資料筆數
pIndex代表目前的頁面(從0開始)

2008年2月18日星期一

Python 練習程式 - 無名相簿下載 Ver 1.0.2

加入了下載相片頁面的影片和mp3檔的功能:-)
現在還是 Console 介面
改天有空玩玩 wxPython 寫成 Windows 介面~

py2exe Build 出來的 Win32 exe 的 dependent 檔案好大阿XD

Download Win32 exe: WretchPW.exe

P.S 這只是練習 Python 寫的程式
如有需要無名相簿下載器, 可以使用 WretchXD
http://soft.ccn.tw 可以下載^_^

Python 練習程式 - 無名相簿下載 Ver 1.0.1

加入了下載密碼相簿的功能 :-)
還有移除了許多 Garbage Code

Download Win32 exe: WretchPW.exe

Python 練習程式 - 無名相簿下載 Ver 1.0

最近在學習 Python
很多地方和以前習慣的 C, C++, C#, Java 都有很大不同
也因此花了許多時間來習慣

像是程式區塊的 { }
在Python中是用強制縮排來取代
以 C 為例
一段 if statement 在 C 中是長這樣:
if (a > b) {
    printf(a);
}
而在 Python 中則是
if a > b:
    print a
整個就是清爽很多XD
當然這種強制的設定有褒有貶
我個人是非常贊同這種設定的
至少看別人的 code 不會因為排版習慣不同而看得很辛苦了

在這個練習題中練習了 Python 中 Http 的通訊協定
還有一些基本的觀念
喔,密碼的相簿還沒處理,所以還不能下載XD

Download Win32 exe: WretchPW.exe

學的更多之後再上來發表心得 :-)