Chapter 18 購物網站 (2) - 訂單與產品管理.

Slides:



Advertisements
Similar presentations
Oracle. 数据操纵语言  数据操纵语言用于检索、插入和修改数据  数据操纵语言是最常见的 SQL 命令  数据操纵语言命令包括:  SELECT  INSERT  UPDATE  DELETE.
Advertisements

Data type P64 ‘’ 转义字符 P67 P68 EXE,选出某个教师的学生中最新的一 个,要姓名, ID (,LIMIT ) EXISTS,NOT EXISTS P409 Q,EXISTS 和 in 的区别( 1000 ,查询结果)
會計學 Chapter 1 基本概念 1-2 基本概念 第一節 單式簿記 第二節 會計學的定義與功用 第三節 會計學術與會計人員 第四節 企業組織 第五節 會計學基本第五節 會計學基本慣例 第六節 會計方程式 第七節 財務報表.
Chapter 5 教育發展與職業選擇. 1. 認識高職學生的生涯進路。 2. 了解個人特質與職業屬性之 間的關係。 3. 認識打工安全與勞動權益。
小 王 子 組別:第五組 班級:財金二甲 組員:A 林安潔 A 陳思羽 A 許雅涵
11-1 保險業之定義 11-2 保險業之設立 11-3 保險業之組織 11-4 保險業之營業範圍
考点作文十大夺魁技法 第28课时 写作(二) 考点作文十大夺魁技法 6-10 ·新课标.
SQL的简单查询.
十一 ASP对数据库的访问.
9-1 火災保險 9-2 海上保險 9-3 陸空保險 9-4 責任保險 9-5 保證保險 9-6 其他財產保險
舊石器時代 位置: 亞洲大陸東緣,西太平洋弧狀列島一部份 背景 形成: 兩千多萬年前逐漸隆起,形成島嶼 生物: 大角鹿、猛瑪象、亞洲大陸原始人 臺東 長濱文化 苗栗 網形文化 臺南 左鎮人目前臺灣發現最早人類化石 代表 文化 1.住在海邊洞穴-短期定居小型隊群 2.以採集、狩獵為生 3.使用礫石砍伐器、片器、尖器.
Chapter 6 竞争与合作战略 成本领先战略 差异化战略 集中化战略 合作战略 竞争优势分析.
Chapter7 退房程序與帳務的處理.
景氣循環 景氣循環 美國景氣循環變化歷程 景氣循環面面觀 景氣循環分析的介紹 總體經濟學 chapter 8 景氣循環.
槍砲病菌與鋼鐵 第三組.
高等院校计算机教材系列 数据库原理与应用(第2版) 任课教师:刘雅莉
Chapter 6 选择渠道成员.
第8章 设计数据库应用网站 本章讲述的主要内容 8.1 数据库基础知识 8.2 使用数据库系统 8.3 SQL查询基础
校园网站是学校的一面镜子、一张名片 河南农业大学附中 田随凤.
第14章 預存程序 14-1 預存程序的基礎 14-2 建立與執行預存程序 14-3 預存程序的參數傳遞 14-4 預存程序的傳回值
導覽解說與環境教育 CHAPTER 3 解說員.
財務報表的內容 四種報表格式 財務報表的補充說明 會計師簽證的重要性 合併報表 財務報表分析 Chapter 2 財務報表的內容.
資料庫 (Database) SQL Server 2008實作
老師 製作 法律與生活.
CHAPTER 7 服務的商務禮儀 Instructor: 李育倫.
CHAPTER 6 寫的溝通. CHAPTER 6 寫的溝通 第六章 寫的溝通125 第一節 寫的溝通之特性127 壹、蒐集資料為起點128 貳、清楚表達訊息128 一、大綱模式129 二、自問自答模式 130 三、腦力激盪式 130 參、善用資料130 肆、簡潔有力131 一、簡潔扼要,話說完就停筆131.
第十七章休閒農業之經營策略與成功之道 17 Chapter.
Chapter 2 勞工安全衛生法.
会计技能综合实训 ——会计分工.
温江区行政事业单位 资产管理信息系统培训 2010年10月28日.
風險分析與財務結構 瞭解風險的定義與種類 衡量企業風險與財務風險 影響企業風險的因素 影響財務風險的因素 以現金流量衡量企業長期的財務狀況
國際行銷管理 林 建 煌 著.
商品学 高学芹.
减免税管理系统 演示汇报 汉寿县地方税务局 王成名· 下面由我向各位介绍,减免税管理系统,请各位领导多提宝贵意见。
Chapter9 金融监管体系.
第一節 知覺 第二節 認知 第三節 學習 第四節 創造力
CHAPTER 2 綜合所得稅之架構.
老師 ____製作.
第 8 章 資料的 新增、修改與刪除.
Chapter 12 T-SQL 語法與 ASP.NET.
課程名稱:資料庫系統 授課老師:李春雄 博士
实验 2:MS Access QBE Query使用
操作資料庫 教授:楊維邦 教授 助教:黃存賢 陳廷宣.
1 创建SqlDataSouce控件 数据源控件(SqlDataSource)
第10章 網頁資料庫的顯示與維護 10-1 再談資料控制項 10-2 GridView控制項 10-3 DetailsView控制項
预防流感保健康 学校 老师.
FormView 控件只能显示数据库中一行的数据,并且提供对数据的分页操作,FormView 控件可以以 一种不规则的外观来将数据呈现给用户。FormView 控件同样支持模板,以方便开发人员自定义 FormView 控件的 UI,FormView 控件支持的模板如下所示: ItemTemplate:用于在.
SQL Injection (資料隱碼) 學生:a 吳倩瑜 指導教授:梁明章.
第10章 網頁資料庫顯示與維護控制項 10-1 資料來源控制項 10-2 Repeater控制項 10-3 DataList控制項
第三章作业点评 助教: 干艳桃、张榆 Contact 干艳桃
第18章 SQL結構化查詢語言 18-1 SQL語言的基礎 18-2 SQL的查詢指令 18-3 SQL子查詢與合併查詢.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
老師 製作 休閒農場.
学习目标 1、什么是表连接 2、表连接类型 3、表连接区别.
查询与视图 蔡海洋.
SQL查询语句 蔡海洋.
第三章 SQL Server数据管理.
心理學—日常生活中的應用 人際溝通.
Chapter 17 購物網站 (1) - 產品目錄與購物車.
資料庫管理 Database Managent Ex.1-2 課本範例練習
健康推廣協會專案 行政院勞動力發展署中彰投分署103年第8期網路商務A班專題報告.
財務預測 財務預測的用途 法令相關規定 預測的基本認知 預測的方法 製作預測性報表 財務報表分析 Chapter 16 財務預測.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
Visual Studio 2010 和 .NET Framework 4 培训研讨会
自慢 社長的成長學習筆記 何飛鵬.
團體工作的倫理議題 CHAPTER 12. 團體工作的倫理議題 CHAPTER 12 團體工作的倫理議題 1.如果我有資格執行個別治療,那麼我也可以執行團體治療。 2.仔細而審慎地篩選團體成員,較符合專業倫理要求。 3.在團體治療開始前,讓成員能先有準備以便從團體中獲得最大利益,是非常重要的。
Chapter1 大師的視界,見證歷史的腳步
第 9 章 查詢資料- 善用 SELECT 敘述.
农科资源共享与采选平台介绍 中国农业大学图书馆 徐伟 (2012年4月 北京).
教師檔案系統資料如何填寫? 如何對應教師評鑑共同基準?.
Presentation transcript:

Chapter 18 購物網站 (2) - 訂單與產品管理

本章提要 18 - 1 購物網站的後端架構 18 - 2 類別管理網頁 (admin / Category.aspx) 18 - 3 產品管理網頁 (admin / Product.aspx) 18 - 4 訂單管理 (admin / Orders.aspx)

購物網站 (2) - 訂單與產品管理 前面第 17 章已經完成購物網站的前端系統, 本章將繼續使用第 17 章的架構與資料庫, 完成後端的訂單、產品與類別等管理系統。

18 - 1 購物網站的後端架構 我們的購物網站後端包含訂單、產品與類別管理系統, 分成了 3 個 程式檔, 放 置於網站的 admin 目錄 下:

購物網站的後端架構 管理系統自然必須限制權限, 不能讓使用者隨意進入, 所以我們使用第 13 章所介紹的安全管理機制, 限制只有管理者可以進入 admin 目錄:

購物網站的後端架構

購物網站的後端架構 我們已建立了一個名為 admin 使用者並將其加入 manager 角色:

購物網站的後端架構 您可以自行透過 ASP.NET 網站管理工具, 新增使用者帳號, 然後將其加入 manager 角色, 即可使用該帳號進入網站的管理系統。

18 - 2 類別管理網頁 (admin / Category.aspx) 類別管理網頁的功能與控制項 新增產品類別 編輯與刪除類別

類別管理網頁的功能與控制項 類別管理網頁主要用來新增、修改、刪除產品的類別:

類別管理網頁的功能與控制項

類別管理網頁的功能與控制項 下面則是類別管理網頁所包含的控制項:

類別管理網頁的功能與控制項

類別管理網頁的功能與控制項 其中 SqlDataSource_Category 的 InsertCommand 為 “INSERT INTO [產品類別] ([名稱]) VALUES (@ 名稱)”;SqlDataSource_ProductInCategory 的 SelectCommand 為 "SELECT [類別編號], [名稱] FROM [產品] WHERE ([類別編號] = @ 類別編號)"。

新增產品類別 當管理者在 TextBox_Category 輸入新類別的名稱, 然後按下新增鈕時, 便會觸發 Button_NewCategory_Click 程序。 此時只要以 TextBox_Category.Text 取得管理者輸入的名稱, 然後將其新增至產品類別資料表, 即可新增產品的類別。 下面是 Button_NewCategory_Click 程序的程式碼:

新增產品類別

新增產品類別

編輯與刪除類別 GridView_Category 是用來顯示目前所有產品類別, 並且啟用其編輯與刪除的功能。 為了避免管理者刪除某一類別後, 原本屬於該類別的產品變成『孤兒』, 所以當管理者刪除類別時, 程式會檢查是否還有產品屬於該類別。 若有, 則會在 GridView_ProductInCategory 列出該類別還有哪些產品, 然後中止刪除的動作。

編輯與刪除類別

編輯與刪除類別

編輯與刪除類別 第 33 行括號內將 GridView 控制項的刪除事件與參數指定為 e 物件。 第 39 行的 e.Keys 屬性可取得欲刪除之資料列的某一欄位值, 所以 e.Keys ("編號") 便代表該資料列的編號欄位, 也就是類別編號。 第 47 行將 e 物件的 Cancel 屬性設定為 True, 即可讓此刪除事件中斷, 不執行刪除資料的動作。

18 - 3 產品管理網頁 (admin / Product.aspx) 產品管理網頁的功能與控制項 使用 GridView 顯示產品列表 使用 DetailsView 顯示、新增、編輯與刪除產品 同步更新上方 GridView_Product 的資料

產品管理網頁的功能與控制項 產品管理網頁主要用來顯示產品列表, 並且可以新增、修改、刪除產品:

產品管理網頁的功能與控制項

產品管理網頁的功能與控制項 如果進 入編輯 模式, 可如下 修改產 品資料:

產品管理網頁的功能與控制項 當進入新增模式時, 會出現下列欄位讓管理者輸入產品資料:

產品管理網頁的功能與控制項 下面則是產品管理網頁所包含的控制項:

產品管理網頁的功能與控制項 產品管理網頁主要包含兩個控制項:GridView 與 DetailsView。

使用 GridView 顯示產品列表 產品管理網頁會使用 GridView_Product 顯示所有產品的列表, 其繫結至 SqlDataSource_GridView, 從產品資料表取得產品的資料。 不過產品資料表中, 只記錄各產品所屬類別的編號, 必須以該編號參考到產品類別資料表才能取得類別的名稱 (參見 17-3 頁)。

使用 GridView 顯示產品列表 所以請如下修改 SqlDataSource_GridView 的 SELECT 查詢指令, 使其除了查詢產品資料表, 還要連結 (JOIN) 產品類別資料表, 以取得類別的名稱:

使用 GridView 顯示產品列表

使用 DetailsView 顯示、新增、編輯與刪除產品 當管理者在 GridView 所產生的列表中選擇產品時, 下方的 DetailsView 會顯示該產品的詳細資訊。 DetailsView 所繫結的資料來源設定如下:

使用 DetailsView 顯示、新增、編輯與刪除產品

使用 DetailsView 顯示、新增、編輯與刪除產品

使用 DetailsView 顯示、新增、編輯與刪除產品 此功能已於 12-22 頁的『GridView 搭配 DetailsView』段落說明過, 所以請參閱該章節的方法設定 DetailsView_Product, 以及其所繫結的 SqlDataSource_DetailsView。 不過此處也會遇到與前面同樣的問題, 只能顯示與編輯類別的編號:

使用 DetailsView 顯示、新增、編輯與刪除產品

使用 DetailsView 顯示、新增、編輯與刪除產品 請如下將 DetailsView_Product 產生的類別編號欄位改為 TemplateField, 然後自訂其顯示與繫結方式:

使用 DetailsView 顯示、新增、編輯與刪除產品

使用 DetailsView 顯示、新增、編輯與刪除產品 接著請如下編輯 DetailsView_Product 的樣版:

使用 DetailsView 顯示、新增、編輯與刪除產品

使用 DetailsView 顯示、新增、編輯與刪除產品 稍後我們會直接以程式將類別名稱設定給 Label_Category.Text, 所以上面取消其資料繫結的功能。接著請切換到類別欄位的 EditItemTemplate, 如下設定:

使用 DetailsView 顯示、新增、編輯與刪除產品

使用 DetailsView 顯示、新增、編輯與刪除產品 然後請如下設定 DropDownList 控制項的 DataBindings:

使用 DetailsView 顯示、新增、編輯與刪除產品 請依照上面步驟, 也在類別欄位的 InsertItemTemplate 內加入並設定 DropDownList 控制項, 如此即可完成控制項的設定。 接著請建立 DetailsView_Product_DataBound 事件處理程式, 輸入以下程式碼, 以便將類別名稱設定給 Label_Category.Text:

使用 DetailsView 顯示、新增、編輯與刪除產品

使用 DetailsView 顯示、新增、編輯與刪除產品

同步更新上方 GridView_Product 的資料 經過前面的控制項設定與程式設計後, 已經可以方便地使用下方的 DetailsView_Product 新增、修改、刪除產品資料, 不過當實際操作時, 會發現下面問題:

同步更新上方 GridView_Product 的資料 當使用 DetailsView_Product 修改資料之後, ASP.NET 會自動讓 DetailsView_Product 重新進行資料繫結, 所以下方會顯示新的資料, 但是上方的 GridView_Product 並不知道資料已被修改, 所以不會重新取得資料, 因而仍顯示舊的資料。 DetailsView 控制項會在更新資料之後產生 ItemUpdated 事件, 所以我們可以該事件的觸發程序中, 通知 GridView_Product 重新進行資料繫結, 取得目前最新的資料:

同步更新上方 GridView_Product 的資料

同步更新上方 GridView_Product 的資料 除了編輯資料外, 新增與刪除資料也需進行相同處理, 所以還要建立 DetailsView_Product_ItemInserted (完成新增動作後的事件) 與 DetailsView_Product_ItemDeleted 程序 (完成刪除動作後的事件), 然後在這兩個程序內執行 GridView_Product.DataBind()。

18 - 4 訂單管理 (admin / Orders.aspx) 訂單管理網頁的功能與控制項 顯示訂單列表與客戶資料 顯示訂單明細

訂單管理網頁的功能與控制項 訂單管理網頁主要用來顯示訂單明細與客戶資料, 並且可以修改客戶資料, 以及設定是否已付款 / 出貨:

訂單管理網頁的功能與控制項

訂單管理網頁的功能與控制項

訂單管理網頁的功能與控制項 除了使用下方欄位編輯客戶資料外, 也可以直接在上方列表中, 快速編輯部分資料: 訂單管理網頁所包含的控制項如下:

訂單管理網頁的功能與控制項

訂單管理網頁的功能與控制項 訂單管理網頁所使用的程式與設計上要考量的重點, 幾乎都已經在第 17 章或本章前面說明過了, 所以本節只概略說明需要製作的功能, 以及各功能詳細製作步驟的參考處。

顯示訂單列表與客戶資料 訂單管理網頁使用 GridView_Orders 產生訂單列表, 並且搭配左下方的 DetailsView_Customer 顯示該訂單的客戶資料, 此做法已使用多次, 原理請參考 12-22 頁。 此外, 因為 DetailsView_Customer 將提供客戶資料的編輯功能, 所以資料修改之後應該讓上方的 GridView_Orders 重新進行資料繫結, 取得目前最新的資料:

顯示訂單列表與客戶資料

顯示訂單明細 右下角的 GridView_OrderDetail 會配合上方 GridView_Orders, 顯示被選取訂單的訂購明細, 同樣地, 此功能與 12-22 頁所介紹的『GridView 搭配DetailsView』相同, 故不再贅述。 顯示訂單明細時, 需參考到產品資料表以取得產品名稱。所以 GridView_OrderDetail 所繫結的 SqlDataSource_OrderDetail 應如下設定 SELECT 命令:

顯示訂單明細

顯示訂單明細 取得該訂單所有產品的名稱與數量之後, 程式會顯示小計、總價格以及總數量, 其顯示原理請參閱 17-3 節購物車網頁的說明即可。