簡介:
         『雲端行事曆』聽起來不錯吧?其實就是將行事曆的資料庫放在一個網站,不同使用者登入後就可以檢視、編輯或刪除自己的行事曆。這是一個簡單實用的程式範例,也是典型的網路資料庫應用之一!

建立資料庫
請先建立一個空的ASP.NET空網站,加入一個SQL資料庫,首先新增一張資料表,第一個欄位設定如下:

到頁面下方找到資料行屬性的識別規格,將(為識別)從預設的否改為是,畫面如下:

這就是讓這一欄變成『自動編號』的意思!這種欄位不能輸入或編輯,每次新增資料從最後的編號加一,如果被某一筆資料被刪除之後也不會補碼,就是一直從最大值加上去,這是在資料有可能重複,主索引鍵不容易定義時可以用的方法,將此欄位設為主索引鍵就絕對不會重複,大致相當現實生活中我們去銀行辦事情時抽的號碼牌。我們的行事曆似乎應該以日期時間作為索引,但是同一天可能有很多事項,所以就將這個自動編碼的ID欄位設為主索引囉!
接著加入其他欄位定義如下:

此地的Date預計將是類似:"2012/10/19"這樣的字串,Time應該是:"08:00"這樣的字串,Job為行程的內容,Who是使用者名稱,最後將本表儲存為『行事曆』資料表。

建立網頁介面
接著請開啟一個Web Form,先設計頁面如下:

上述介面與對應程式說明如下:
宣告身分
最上排是一個簡易的身分宣告,按登入時程式如下:

就是將使用者名稱設為Session("W"),其實只是作為搜尋資料的選項,如有需要也可以另做一個登入帳密的網頁。
選擇日期
第二排是一個月曆物件,雙按這個物件寫程式如下:

Calendar1.SelectedDate是在月曆物件上選擇的日期,事實上會隱含時間的部分,像是這樣:2012/10/17 上午 12:00:00
但是再使用ToShortDateString方法擷取出來的就是單純的簡化版日期,像"2012/10/17"這樣了!
Label1應該是下方輸入新行程中的日期標籤,GridView1是顯示行事曆的物件,日期變了此物件內容應該也需要更新。
顯示行事曆的GridView
第三排是一個GridView物件,此物件要連接到『行事曆』資料表,要設定為可以編輯的形式,同時"Where"條件是必須設定為:Date=Session("D")以及Who=Session("W")。後者是你宣告的名稱,前者是日期字串在前面月曆物件的事件中有定義。換言之,這個物件應該只顯示你指定日期的本人行事曆內容。
新增行程的介面
最下方的表格是新增行程的介面,第一欄的Label將顯示指定日期,接著時間欄內的兩個物件是下拉式選單(DropDownList),第一個選單是『時』,第二選單是『分』請按自己的需求編輯選項,譬如時是0到23的數字,分是0到59的數字。你可只寫上班時間的那幾小時,分的部分則可以5或10分鐘為單位以簡化編輯。行程項目是一個TextBox2,新增是一個Button2程式碼如下:

此段程式首先檢查是不是有宣告名稱,無人的行事曆當然要被拒絕輸入資料庫!接著就是建立新增資料的SQL Insert命令碼,執行之後還樣更新GridView1物件,並將已經輸入資料庫的TextBox2內容清除。
表單起始時
上面程式應該可以新增行程並立即顯示於GridView1物件,但是我們還應該在Page_Load事件中加入程式碼如下:

這可以讓Label1顯示今天的日期。
程式跑起來大概像這個樣子: