【正文】
using q l Clie n t。 using 。 using a。 using llec t io ns。 這 樣 , 在 bookWebService 里 就 可 以 很 方 便 的 調(diào) 用dataBaseWebService 提 供的服務(wù) 了。 第 五 章 中間層 設(shè)計及實現(xiàn) 33 在解決方 案資源 管理器 中,右 鍵項目名 bookWebService,在彈 出的菜單選擇“添 加 Web 引 用”,如圖 圖 添加 Web 引用 1 在“添加 Web 引用”窗 口,如 圖 ,輸入你要引 用的 Web Service的 URL,或者通 過“ 瀏覽至 :”查找你 所需要的 Web Service。 public DataSet searchBook(string ISBN,string categoryName,string publisher,string author,string name) —— 根據(jù)多種條件搜 索書籍信 息。 public DataSet getBookByCategoryId(int categoryId)—— 得到一個類中的所 有書籍。 public void reUseCategory(string name)—— 重用該 書類。 public DataSet getBookCategoryAll()—— 得到書 的所有 類別。 public DataSet getBookBecauseStockLower()—— 得到庫存 量低于安全庫存的書 籍信息。 public void addOrUpdateSafeStock(int safeStock)—— 設(shè)定 /更新安全庫存量 。 public void reSetBookCanUse(string ISBN)—— 根據(jù) ISBN 重新設(shè)定書籍為可用 狀態(tài)。 public bool delBookByISBN(string ISBN)—— 根據(jù) ISBN 刪除書籍信息(并不是 真的把其 從數(shù)據(jù) 庫里刪除 ,只是 把它的狀 態(tài)置為 0)。 接口描述 public void addBook(string ISBN,int categoryId,string name,string author,string publisher,DateTime publishDate,Decimal price,string coverName,int stock,string description)—— 添加書廣東技術(shù)師范學(xué)院計算機(jī)科學(xué)系畢業(yè)論文 32 籍信息。 圖 dataBaseWebS ervice 測試窗口 第 五 章 中間層 設(shè)計及實現(xiàn) 31 圖 dataBaseWebS ervice 測試結(jié)果 客戶端調(diào)用 該過程將在下 一節(jié)的實 際調(diào)用 中介紹。 711117990039。 如圖 廣東技術(shù)師范學(xué)院計算機(jī)科學(xué)系畢業(yè)論文 30 圖 dataBaseWebService 幫助窗 口 我們以第一 個方 法為 例進(jìn)行 測試。 } finally { c e( )。 return dtSet。 DataSet dtSet=new DataSet( dt S et )。 try { c () 。 } } [WebMet ho d( D esc r ip t io n= 進(jìn) 行 查 詢 操 作 , 返 回 一 個 數(shù) 據(jù) 集 。 } finally { c e ()。 return (int)c omm. Ex ec ut eSc a la r() 。 SqlComm a nd c omm=new SqlComm a nd (st rS Q L,c on n) 。 } } [We b Me t ho d( D esc r ip t io n= 進(jìn) 行 查 詢 操 作 , 返 回 結(jié) 果 集 中 的 第 一 行 的 第 一列,該返 回 值 被 強(qiáng) 行 轉(zhuǎn) 化 成 整 形 。 } finally { c e ()。 c ut e N on Q ue ry () 。 SqlComm a nd c omm=new SqlComm a nd (st rS Q L,c on n) 。 } region 組件設(shè)計 器 生 成 的 代 碼 …… endreg ion [WebMet ho d( D esc r ip t io n= 進(jìn) 行 插 入 、 更 新 、 刪 除 操 作 , 沒 有 返 回 值 。 ) ] public c lass dataBas e : . S er v ic es. Web S er v ic e { //數(shù)據(jù)庫 連 接 語 句 pr ot ec t e d s tr in g strConn=Co nf ig ur at i on Se tt i ngs . Ap pS et t in gs[ s tr Co nn ec t i on ]。 using q l Clie n t。 using . Se rv ic es。 using gn ost ic s。 using po n en t Mod e l。完整代碼如下: //data Bas e. asm s using System。d a ta b as e=J Y _ ES to re / /appSet t ings 其它保持默認(rèn) 配置就可 以了。u i d=s a 。 廣東技術(shù)師范學(xué)院計算機(jī)科學(xué)系畢業(yè)論文 26 設(shè)計過程及編碼 打開 Visua l S tud ET,在文件 菜單中 選擇新建 —— 〉項目,接著在彈出的“新 建項目” 中的“ 新建類型 ”選擇 “ Visua l S tudio C 項目”,在“模板”中選 擇“ AS ET Web 服務(wù)”,最后輸入 要保存 該項目的 位置(一定要放在 IIS 的根目 錄或者 是它的虛 擬目錄下 ),按 確定就可 以了。 public int exeScalar(string strSQL)—— 進(jìn)行查 詢操作, 返回結(jié)果集中的第一 行的第一 列,該 返回值被 強(qiáng)行轉(zhuǎn) 化成整形 。 dataBaseWebService 功能描述 這個 Web 服務(wù) 的功能主 要是對 數(shù)據(jù)庫進(jìn) 行基本操 作的。 數(shù)據(jù)庫分析 根據(jù)上一章 對網(wǎng)上書 店的功 能分析及 設(shè)計, 該系統(tǒng)的 E R 模型共 有八個實體: ? 書類(編號, 名稱,狀 態(tài)) ? 書籍信息(編 號,條形 碼,類別編 號,書名, 作者,出 版社,出版 日期,價格,封 面名稱, 書本介 紹,銷售 量,庫 存量,狀 態(tài)) ? 圖書評論(編 號,書的 ISBN,用 戶名, 評論內(nèi)容 ,日期) ? 用戶信息(編 號,用戶 名,密碼,地 址,電話, 提取密碼 問題,問 題答案) ? 訂單(編號, 用戶編號 ,日期 ,總額, 狀態(tài)) ? 訂單項(編號 ,所屬訂 單號, 圖書 ISBN,數(shù)量, 小計) ? 安全庫存信息 (編號, 安全庫 存量) ? 管理員 信息( 編號,姓 名,密 碼) 各實體的 E R 圖 及相互 聯(lián)系如下 圖: 管理員 安全庫存 編號 姓名 密碼 編號 安全庫存 廣東技術(shù)師范學(xué)院計算機(jī)科學(xué)系畢業(yè)論文 20 書類 編號 名稱 狀態(tài) 書籍 編號 條形碼 類別編號 書名 作者 書本介紹 銷售量 庫存量 狀態(tài) 屬 于 封面名稱 評論 編號 日期 評論內(nèi)容 用戶名 編號 訂單項 書的 I SBN 顧客 訂單 用戶名 密碼 提 取 密 碼 問題 電話 地址 問題答案 數(shù)量 圖書ISBN 所屬訂單號 編號 小計 編號 用 戶 編號 日期 狀態(tài) 總額 存在 包含 評論 包含 下訂 N 1 1 N 1 1 N 1 N 1 1 N 出版社 出版日期 價格 第 四 章 網(wǎng)站數(shù)據(jù)庫層設(shè)計及實現(xiàn) 21 數(shù)據(jù)庫設(shè)計 數(shù)據(jù)表設(shè)計 根據(jù)上一節(jié)的 ER 模型 ,可得 下列 數(shù)據(jù) 表 : 息表如下 : 表 bookCategories 書本種 類信息表 列 名 是否主鍵 類型 是否為空 說 明 默認(rèn)值 id 是 int Not Null 書類編號 name Varchar 書類名稱 status bit 狀態(tài) 1 如下: 表 Books 書本信息 表 列 名 是否主鍵 數(shù)據(jù)類型 是否為空 說明 默認(rèn)值 id int 編號 ISBN 是 Varchar Not Null 條形碼 categoryId int 書類編號 name Varchar 名稱 author Varvhar 作者 publisher Varchar 出版社 publishda te Datetime 出版日期 price Money 價格 coverN ame Varchar 封面名 description Text 介紹 sale Int 銷售量 0 stock int 庫存 0 status bit 狀態(tài) 1 廣東技術(shù)師范學(xué)院計算機(jī)科學(xué)系畢業(yè)論文 22 息表如下 : 表 bookComments 書 本評論 信息表 列 名 是否主鍵 數(shù)據(jù)類型 是否為空 說明 默認(rèn)值 id 是 int Not Null 編號 bookISBN Varchar 書本條形碼 customerName Varchar 用戶名 ment Text 評論 mentDate datetime 評論日期 如下: 表 customerInformations 用戶信息表 列 名 是否主鍵 數(shù)據(jù)類型 是否為空 說明 默認(rèn)值 id 是 int Not Null 編號 name Varchar 名稱 password Varchar 密碼 address Varchar 地址 telephone Varchar 電話 question Varchar 取回密碼問題 answer Varchar 取回密碼答案 status Bit 狀態(tài) 0 第 四 章 網(wǎng)站數(shù)據(jù)庫層設(shè)計及實現(xiàn) 23 如下: 表 Orders 訂單信 息表 列 名 是否主鍵 數(shù)據(jù)類型 是否為空 說明 默認(rèn)值 id 是 int Not Null 訂單編號 customerId Int 用戶編號 orderDate Datetime 訂單日期 status Int 狀態(tài) 0 total money 總額 表如下: 表 orderItems 訂單類信息表 列 名 是否主鍵 數(shù)據(jù)類型 是否為空 說明 默認(rèn)值 id 是 int Not Null 編號 orderId Int 所屬訂單號 bookISBN Datetime 書本條形碼 Quantity Int 數(shù)量 total money 小計 息表如下 : 表 safeStock 安全 庫存信息 表 列 名 是否主鍵 數(shù)據(jù)類型 是否為空 說明 默認(rèn)值 id 是 int Not Null 庫存編號 safeS tock int 庫存量 0 廣東技術(shù)師范學(xué)院計算機(jī)科學(xué)系畢業(yè)論文 24 表如下: 表 Admins 管理 員信息表 各數(shù)據(jù)表的相互聯(lián)系 列 名 是否主鍵 數(shù)據(jù)類型