坊間的泡沫紅茶店,要自己搞一個網站訂購系統。
下面的範例不難,但湊在一起,很討厭。
對初學者來說,最難的應該是「自訂資料表」,然後是寫程式。
先來看看這支程式的執行結果:
=================================================
1. 一開始,有客戶來訂飲料。 先留下他的個人資料

2. 寫完客戶資料後,請按下按鈕。畫面就會出現這次的「訂單編號」
(給資料庫自動產生ID編號,比較不用傷腦筋!) 此舉便完成了一張全新的訂單!

3. 在畫面的橘色部份,可以開始訂購飲料。
每次訂一種飲料(飲料已經事先建立好,在 drink_product資料表裡面,後面會介紹)
這種產品,訂幾杯?要去冰還是少冰?要全糖或是半糖?
按下確認按鈕,畫面最下方會立刻出現一份小報表(GridView),即時列出這名客人訂購的所有飲料品項~

這個範例我寫得很粗糙,思慮不週,請莫見怪。
只是告訴初學者,學個幾招。
如果能夠熟練,還是能拼湊出很多花樣的
自訂資料表:
=================================================
一般的訂單系統,通常會分成Master / Detail兩種。
[drink_order_m] 資料表,用來記錄這位客戶的名稱與電話(Master)。
id(自動編號) / order_time(訂單日期) / user_name(客戶名稱) / user_phone(電話) / meno(備註)
[drink_order_d] 資料表,用來記錄這名客戶(這筆訂單)訂購的每一種飲料的細部資訊(Detail),例如:數量、甜度等等。
id(自動編號) / order_id(跟上面的Master作關聯,也就是上表的id欄位) / drink_name(飲料名稱) / ice_degree(冰度) / sweet_degree(糖度) / drink_no(客戶訂購幾杯)
[drink_product] 資料表,本店販售的所有飲料種類、售價、成本。事先都Key in在裡面囉~
例如: 紅茶(大) / 20(售價) / 15(成本)
可樂(大) / 25 / 17
各位看官(初學者),當您看到我上面規劃的三個資料表,卻看不出其中的關聯性?
那.....下面就不用看下去了。
因為您的「問題」不在於「不會寫程式」,而是連基礎規劃都作不到。
您最好先用一個簡單的Table(別人規劃好的),當成DB樣本,寫幾支程式。把資料存取先學好再說囉!
小弟廣告一下,我的書裡面的範例,剛好就是這樣入門的。
HTML畫面 & 程式:
=================================================
這支程式,分成三層。
- 最上面一層,是給客戶留下個人資料的。對應[drink_order_m] 資料表。
- 中間那一層,是給客戶點飲料(點菜)。對應[drink_order_d] 資料表。 一對多!一個客戶可以訂購多杯飲料
- 飲料種類,已經是先寫好在[drink_product]資料表。我們只是撈出來,放在 DropDownList控制項來呈現。
- 這是整支程式最基本、最簡單的部份,請看本書 3.7節。如果您看了卻不會,那基礎太薄弱了,這篇文章千萬不要看下去了。
- 最底下那一層,是把客戶剛剛訂的飲料,列出一張明細表(用GridView來作,最簡單)。
- 每點一份飲料,就會把這筆資料 & 訂單編號一起新增到[drink_order_d]資料表
- 重新作資料繫結(DataBinding),把這份訂單的最新資料,呈現在GridView裡面。
- 這也是整支程式最基本、最簡單的部份,請看本書第七章。如果您看了卻不會,那基礎太薄弱了,這篇文章千萬不要看下去了。

HTML畫面,要社定的東西有點多。 我下一篇文章再來慢慢解釋~
為了縮減寫程式的時間,我大量使用現成的 SqlDataSource控制項,
因為他會幫我們自動產生程式碼,尤其是 Insert / Select這些SQL指令。
能自己寫,當然最好......
抱歉!我下班了,HTML畫面與程式的部份,下回分解。
...... 寄信給我 mis2000lab (at) 雅虎.com.台灣 ................................................................................................................
ASP.NET專題實務
(文魁出版,VB版 P8187 / C#版P09027)
下集已經出版囉~~~ASP.NET專題實務II:範例應用與4.0新功能 
.............................................................................................................. 寄信給我 mis2000lab (at) 雅虎.com.台灣 ........