簡介:
         管理客戶的訂購動作與資訊是網路資料庫常見的應用,本單元嘗試用最少的程式碼建立一個可以使用的訂單系統。內容包括:客戶資料與商品資料的建立與管理,及產生訂單的功能網頁,任何網購的網頁都是以這幾個功能為核心。

客戶資料表
開啟一個新的ASP.NET空網站,建立SQL資料庫,第一張表是『客戶資料』,欄位定義如下:

在此我們要讓客戶編號變成自動產生不重複的序號,設定方式如下圖:

在資料屬性行找到識別規格,將(為識別)選擇為"是"(預設為否),下面的種子是編號起點,增量就是每次加多少了!
這個值的特性是它會自建表開始累加,已刪除的資料後續新會員加入時不會補這些號碼,這一欄也變成無法手動修改。
接著請先輸入此表的第一筆資料:


客戶資料管理網頁
接著請新增一個網頁,命名為:Costomer.aspx(客戶網頁),加入一個GridView與一個FormView,兩者都以相同的SqlDataSource連結到上述資料表,當然設定過程中讓資料庫可編輯的進階功能必須開啟,並設定網頁物件可以編輯與刪除資料,相關動作請參考建立與顯示Access資料庫 單元。執行網頁畫面如下:

試試看!我們還沒有手動寫任何一行程式,但是完整的客戶管理功能都已經完備了!包括新增、編輯與刪除。

商品資料表
商品資料的管理機制與客戶資料相似,請建立『商品資料』表,定義如下:

請注意此處的商品編號也需要變成自動產生不重複的序號的狀態
儲存資料表為『商品資料』後輸入幾筆資料:


商品資料管理網頁
仿照客戶管理資料網頁製作Product.aspx網頁如下(執行狀態):


訂單資料表
接著製作一張『訂單資料』表,欄位定義如下:

請注意此處的訂單編號也需要變成自動產生不重複的序號的狀態
儲存為『訂單資料』表,無需手動輸入資料。

訂單產生網頁
請建立一張名為Order.aspx(訂購)的網頁如下:
請注意:
其中表格右方欄的『單位』與『金額』是兩個 Label 物件,不是直接寫在網頁上的文字,因為稍後它們是變數。
顯示數量的 DropDownList 要用編輯器編輯,加入1-5的選項,GridView 則連結到訂單資料表即可。


接著設定第一個 DropDownList 物件,應載入商品資料表的商品單價兩欄資料,商品名稱顯示於 Text,單價隱藏為Value,AutoPostBack應設為True!
 

設定下方的 DropDownList物件,應載入客戶資料表的客戶名稱電話兩欄,客戶名稱顯示於Text,電話隱藏為Value。


選擇商品時的程式
在此我們有一個小尷尬是我們希望選商品時出現單位在 Label1,但是原來藏在 DropDownList裡面的只有單價,所以必須多寫幾行程式讀出商品單位,程式碼應該寫在 DropDowlist1:(所以應匯入 System.Data.SqlClient)

此地並沒有如之前的單元建立DataReader物件,如果你預期要讀的資料只有一個數字或字串(一個欄位)就可以使用ExecuteScalar,直接以指令讀取那一格的資料!這可以簡化程式的撰寫。


選擇數量時的程式
正常操作下,客戶選擇數量(DropDownList2)商品之後就應該產生購物金額了,程式碼如下:



產生訂單的程式
產生訂單的程式如下:

請注意到SQL語法中,如果資料是文字應該加上單引號,如:'張三';但數字資料就不必,如 Values(30,'40') 這樣寫表示30是數值資料,'40'則是文字資料。
執行畫面如下: