close

這幾天在寫手機軟體的時候,意外發現了一個不錯的小型資料庫:SQLite。在維基百科上的介紹如下:

SQLite是遵守ACID關聯式資料庫管理系統,它包含在一個相對小的C中。它是D.RichardHipp建立的公有領域項目。

不像常見的客戶-伺服器範例,SQLite引擎不是個程序與之通信的獨立進程,而是連接到程序中成為它的一個主要部分。所以主要的通信協議是在程式語言內的直接API調用。這在消耗總量、延遲時間和整體簡單性上有積極的作用。整個資料庫(定義、表、索引和數據本身)都在宿主主機上存儲在一個單一的文件中。它的簡單的設計是通過在開始一個事務的時候鎖定整個數據文件而完成的。

呃....上面似乎有很多的大陸用語,勉強湊合著看吧。總之它是一個相當方便的可攜式資料庫,而它也支援.NET平台,Provider的下載請到下面的網址:

http://sqlite.phxsoftware.com/

 

另外,我在網路上找到一個不錯的管理工具,而且它竟然還是一個FireFox的外掛,這個外掛請到下面的網址下載:

https://addons.mozilla.org/zh-TW/firefox/addon/5817

 

如標題所言,本篇文章將用SQLite實作一個簡單的記帳軟體。

一開始先建立資料庫並新增兩個資料表,如下圖所示。

2008-12-07_141152 2008-12-07_141330

一個記錄金額,另一個資料表記錄消費的類型,例如飲食、加油、日用品、房租等等。

 

接下來增加三種消費類型,分別是飲食、加油、日用品這三種。

2008-12-07_141552 2008-12-07_141601

 

之後打開VS 2008,新增一個Windows Form專案。

2008-12-08_211555 

 

然後新增一個實體資料模型,在資料來源上選擇SQLite Database File。

2008-12-08_211940 

 

選擇前面建立好的資料庫檔案。

2008-12-08_212052

 

之後選擇前面建立好的account以及type這兩個資料表。

 2008-12-08_212122

 

建立好的類別如下。

2008-12-08_212211

 

在「資料」→「加入新資料來源」加入account這個資料來源,待會在顯示資料時會用到。

 2008-12-08_212421

 

在Form上新增下列元件:

DataGrid:取名為MoneyGridView。

ComboBox:取名為TypeComboBox。

MonthCalendar:取名為MoneyMonthCalendar。

2個TextBox:分別取名為MoneyTextBox以及DescTextBox。

Button:取名為AddBtn。

2008-12-10_074218

 

DataGrid的資料來源選擇前面新增的account這個資料來源。

2008-12-08_212604

 

之後再編輯資料行。

2008-12-10_075723

 

在Form上雙擊滑鼠,新增下列程式碼。

 2008-12-08_214202

上面程式碼的功用在於把type資料表上的資料加到ComboBox上,並且顯示之前的帳目。

 

接下來新增按鈕的程式碼。

2008-12-10_075310

 

除此之外,在MonthCalendar的DataSelected這個Event加入下列程式碼。

2008-12-08_214708

這樣在點選日期的時候,就可以顯示所選日期的所有帳目資料。

 

執行畫面如下。

2008-12-08_215604

2008-12-08_215806 

 

特別注意到,在DataGrid上的種類這個項目上只有顯示數字,在下一次的文章中會將這部份做修改,並且再新增其它的功能。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 卑微研究生 的頭像
    卑微研究生

    卑微研究生的部落格

    卑微研究生 發表在 痞客邦 留言(4) 人氣()