摘要:學習如何使用 sql server 2000 和 visual studio .net 2003 為 dotnetkb asp.net 解決方案創建數據存儲層。此外,還討論了有關 sql server、iis 和 asp.net 的安全性問題。
簡介
在《asp.net應用程序規劃與設計》中,我們討論了名為 dotnetkb 的 asp.net 解決方案的基礎規劃和設計知識。本部分將詳細討論如何使用 microsoft? sql server? 2000 和 microsoft visual studio? .net 2003 創建數據存儲層。其中包括創建數據庫(添加表、索引、約束條件和關系)以及編寫用于存取數據的存儲過程。同時,我們還將討論與 sql server、internet 信息服務器 (iis) 和 asp.net 有關的安全性問題。到本部分結束時,我們將獲得一個適用于 dotnetkb 解決方案的功能完備且安全的數據存儲系統。
使用 visual studio .net 2003 創建數據庫圖
visual studio .net 2003 的眾多優勢之一是,用戶可將其用作主要的 sql server 編輯器來完成大多數任務。獲得目標數據庫服務器的適當權限后,您就可以輕松地使用 visual studio .net 2003 創建各種數據庫、表、索引、約束條件、關系、視圖、存儲過程和功能了。visual studio .net 提供了一個可供您完成上述操作的默認數據庫項目,還包括了用于創建表、觸發器、存儲過程等的大量模板,非常便于使用。最后,因為使用 visual studio .net 作為 sql server 的編輯環境,所以還可以使用它將所有 sql server 腳本存儲到 microsoft visual sourcesafe? 中。這對于共享項目和其他需要長期維護的情況而言非常方便。
引用用戶方案
針對本系列文章中的項目 dotnetkb,我創建了 30 多個用戶方案,用于標識支持本系列文章第 1 部分所概括的應用程序所需的任務。我們將使用這些用戶方案來標識表中存儲的數據以及為管理這些數據而在運行時執行的存儲過程。下面是部分用戶方案列表。完整的列表可以從相關支持站點 user scenarios for dotnetkb project(英文)上找到。
1、查看按關鍵字搜索的問題列表(按日期倒序排列)
2、查看按日期排序的問題列表(按日期倒序排列)
3、查看按主題排序的問題列表(按主題的字母順序/問題的日期倒序排列)
4、查看某個特定主題的問題列表(按日期倒序排列)
5、查看無任何解答的問題列表(按日期倒序排列)
6、查看問題計數
7、查看無解答的問題計數
8、查看某個特定主題的問題計數
9、查看由某位專家解答的問題計數
10、查看某個問題及其解答列表(按解答日期倒序排列)
11、添加新問題
12、編輯現有問題
13、刪除現有問題及其相關解答
如您所見,列表中僅僅涉及到問題記錄的任務就有許多。而且您還需要處理解答、主題和專家記錄。而在實際工作中,這才剛剛開始。首先,您必須標識需要為每條記錄存儲的數據元素(問題、解答、主題和專家),還需要將結果以表格的形式組織到 sql server 中的數據庫中。
創建數據庫項目
首先要打開 visual studio .net 2003 并創建一個新的數據庫項目。visual studio .net 數據庫項目的類型目前還不太確定,因為開始新項目時它隱藏在選項列表中。但開始使用后,我想您會發現數據庫項目類型有許多優點,所以非常值得花費精力去掌握它們。
要使用 visual studio .net 創建一個新的數據庫項目,需要完成以下任務:
啟動 visual studio .net,如果新建項目對話框沒有自動出現,請從主菜單中選擇 file(文件)-> new(新建)-> project(項目)。
當顯示 new project(新建項目)對話框時,展開左側樹視圖列表中的 other projects(其他項目)文件夾,然后單擊 database projects(數據庫項目)文件夾。此時右側將顯示 database project(數據庫項目)模板。 現在,在 name:(名稱:)輸入框中鍵入項目名稱。在我的例子中,鍵入的是 dotnetkb_database,不過您可以根據需要鍵入任何內容。
在 database references(數據庫引用)項上單擊鼠標右鍵,然后從上下文相關菜單中選擇 new database reference...(新建數據庫引用...),打開 data link properties(數據鏈接屬性)對話框。 輸入您在其中添加 dotnetkb 數據庫的數據庫服務器的名稱,然后輸入您的登錄憑據并從下拉菜單中選擇 dotnetkb。