版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 網(wǎng)上書店系統(tǒng)</b></p><p><b> 摘 要</b></p><p> 隨著計算機技術(shù)在各行各業(yè)日益廣泛和深入的應(yīng)用,網(wǎng)絡(luò)的概念早已深入人心。網(wǎng)絡(luò)在各行各業(yè)的發(fā)展戰(zhàn)略中占據(jù)了重要的位置,成為商家不可分割的部分。商品的宣傳已不只局限于電視與報紙,網(wǎng)絡(luò)已成為商家展示自己的另一個舞臺。商家建立網(wǎng)站,將商家各
2、方面的宣傳與服務(wù)展現(xiàn)于網(wǎng)絡(luò)中,通過網(wǎng)絡(luò)更可實現(xiàn)如網(wǎng)上購物、信息查尋等功能,這些在改變我們原有經(jīng)營方式與經(jīng)營理念的同時,也為商家?guī)砹烁叩男б?。因此,對于商家來說,擁有一個屬于自己的網(wǎng)站是至關(guān)重要的。</p><p> 網(wǎng)上書店越來越受到人們的關(guān)注。通過網(wǎng)上書店,人們足不出戶就能選購自己所需要的圖書。網(wǎng)上書店是根據(jù)公司的實際需求、應(yīng)用動態(tài)網(wǎng)頁技術(shù)開發(fā)而成。瀏覽器為第一層,作為系統(tǒng)的應(yīng)用界面;應(yīng)用邏輯服務(wù)為第二層
3、;數(shù)據(jù)鏈接為第三層,作為系統(tǒng)的數(shù)據(jù)存取服務(wù)。在支持整個網(wǎng)站的運作功能的基礎(chǔ)上,能幫助用戶對前臺網(wǎng)站進(jìn)行日常管理和信息發(fā)布;并具有占用系統(tǒng)資源少、信息量大、站點維護(hù)方便、便于擴(kuò)充和更新、易于繼承和保護(hù)歷史數(shù)據(jù)等優(yōu)點。</p><p> 在此,我真誠的感謝對我的畢業(yè)設(shè)計進(jìn)行耐心指導(dǎo)的喬少杰老師,以及對我的論文完成給予幫助的各位老師和同學(xué)。</p><p> 關(guān)鍵詞:SQLSERVER A
4、SP.NET C#</p><p> online bookstore system</p><p> Major: Software engineering</p><p> Student: Tan Pengjun Supervisor: Qiao Shaojie</p><p><b> Abstract&
5、lt;/b></p><p> With the popularity of the network and supporting the development of information technology, network-based services, information dissemination as the direction of reform and development o
6、f technology. This design is mainly online bookstore Web sites, established between the buyer and reader communication.On the one hand, the buyer can be released in this web site, on the other hand book information on we
7、bsite where readers can browse books information and buy books and Buyers can check their sh</p><p> With the development of the Internet, online bookstores more concern for people. Through the online books
8、tore, people can stay at home to buy the books they need. Online bookstore is based on the actual needs of the company, using dynamic web technology was developed. a browser for the first floor, as a system of the applic
9、ation interfaces ;application logic services for the second floor ;fit myself to a number of the application client spread of the operation and maintenance requirements. in su</p><p> Thanks to my tutor, Te
10、acher Zhao Shan.he gives me earnest direct to this paper,as well as other teachers and my fellow students.</p><p> Key Words:SQLSERVER ASP.NET C#</p><p><b> 目 錄</b></p>&
11、lt;p><b> 1引 言1</b></p><p><b> 2概論1</b></p><p> 2.1 網(wǎng)上書店開發(fā)簡介1</p><p> 2.2網(wǎng)上書店的研究意義2</p><p> 2.3 網(wǎng)上書店研究對象3</p><p><b&
12、gt; 3基礎(chǔ)知識介紹3</b></p><p> 3.1ASP.NET的概述3</p><p> 3.1.1ASP.NET的功能和特點4</p><p> 3.1.2 查詢數(shù)據(jù)庫7</p><p> 3.2 數(shù)據(jù)庫技術(shù)10</p><p><b> 4總體設(shè)計10<
13、/b></p><p> 4.1功能模塊10</p><p> 4.1.1系統(tǒng)功能結(jié)構(gòu)圖10</p><p> 4.1.2 各功能模塊簡要描述11</p><p> 4.2 數(shù)據(jù)庫設(shè)計11</p><p> 4.2.1 系統(tǒng)主要E/R圖11</p><p> 4.2.
14、2數(shù)據(jù)庫主要表12</p><p><b> 5詳細(xì)設(shè)計17</b></p><p> 5.1功能描述17</p><p> 5.1.1非管理員用戶17</p><p> 5.1.2管理員用戶22</p><p> 5.2 數(shù)據(jù)庫連接27</p><p&g
15、t; 6性能測試與分析28</p><p> 6.1 運行各個模塊進(jìn)行調(diào)試28</p><p> 6.2 對調(diào)試結(jié)果進(jìn)行分析29</p><p><b> 7總結(jié)31</b></p><p><b> 參考文獻(xiàn)32</b></p><p><b>
16、; 致 謝33</b></p><p><b> 1引 言</b></p><p> 伴隨著Web技術(shù)和社會經(jīng)濟(jì)的發(fā)展,人們不再滿足于只能瀏覽信息的靜態(tài)網(wǎng)頁,更多時候需要與上網(wǎng)的互聯(lián)網(wǎng)用戶進(jìn)行交流以及發(fā)表自己的意見見解,因此能提供后臺數(shù)據(jù)庫的管理和控制等服務(wù)的動態(tài)網(wǎng)站就誕生了。近年來,隨著互聯(lián)網(wǎng)在中國的迅速發(fā)展,越來越多的人也希望能過通過網(wǎng)絡(luò)購
17、買各種自己想要的物品。 2003年5月10日淘寶網(wǎng)建立。淘寶網(wǎng)目前業(yè)務(wù)跨越C2C(個人對個人)和B2C(商家對個人)兩大部分,成為中國乃至亞洲到世界最具影響力的購物網(wǎng)站,全國各地紛紛建立起自己的網(wǎng)絡(luò)購物網(wǎng)絡(luò),網(wǎng)上購物呈星火燎原之勢,迅速地出現(xiàn)在全國各地。特別是在北京、上海以及廣東等網(wǎng)絡(luò)比較成熟的省市,網(wǎng)上購物越來越得到人們的親睞。</p><p> 實際上,網(wǎng)上購書與在真實的書店基本上是相同的,不同的是網(wǎng)上購書
18、是買賣雙方通過一個網(wǎng)絡(luò)虛擬的平臺來實現(xiàn)。網(wǎng)站一般為購物者準(zhǔn)備了發(fā)表評論聯(lián)系賣家的功能,也在很明顯的地方試用了人性化的導(dǎo)航標(biāo)示,使得沒有太多網(wǎng)絡(luò)知識的人們,也能準(zhǔn)確地找到所需要的東西,購書者可以通過多種途徑查詢到書店發(fā)布的書籍得相關(guān)信息,書店管理員也能網(wǎng)站對所賣書籍的信息做一個詳細(xì)的管理與描述,一邊廣大購書者能清楚明白額了解各種各樣的書籍。</p><p><b> 2概論</b></
19、p><p> 2.1 網(wǎng)上書店開發(fā)簡介</p><p> 本系統(tǒng)采用B2C(商家對個人)的結(jié)構(gòu)編寫,前臺使用的是Visual Studio 2008平臺,所使用的語言是ASP.NET,后臺使用強大的數(shù)據(jù)庫軟件SQL Server 2005。</p><p> 1、Visual Studio 2008是一套完整的開發(fā)工具集,用于生成XML Web Services、
20、ASP.NET Web 應(yīng)用程序,移動應(yīng)用程序以及桌面應(yīng)用程序。Visual C++、Visual Basic, Visual J#以及Visual C# 都使用相同的集成開發(fā)環(huán)境 (IDE),利用 IDE 可以共享工具并且有助于創(chuàng)建混合語言解決方案。此外,這些語言利用了 .NET Framework 的功能,通過此框架可使用簡化XML Web Services 開發(fā)的關(guān)鍵技術(shù)以及ASP Web 應(yīng)用程序。</p><
21、;p> 2、'動態(tài)”網(wǎng)站所具有的另外幾個特點:</p><p> (1) “自動更新”即是不需要維護(hù)者手動地更新龐大的文檔內(nèi)容,系統(tǒng)會自動根據(jù)客戶端用戶提出的要求和需要生成新的頁面,從而大大節(jié)省工作量和提高工作效率。 (2) “交互性”即系統(tǒng)會根據(jù)用戶的要求和選擇而動態(tài)響應(yīng)和改變,讓客戶端的用戶和服務(wù)器端進(jìn)行'面對面的交流”瀏覽器由此作為客戶端界面,客戶可以直接在自己的客戶端瀏覽
22、器上對遠(yuǎn)程的服務(wù)器的相應(yīng)的文件和數(shù)據(jù)進(jìn)行查詢,增加和刪除等簡單操作,從而大大增加了網(wǎng)站的“互動性”。 (3)因人因時而異即當(dāng)不同的人在不同的時間訪問你的網(wǎng)站時看到的將會是不同的網(wǎng)頁。</p><p> 動態(tài)網(wǎng)頁不外乎是對用戶請求的處理和處理結(jié)果的顯示。這里包含了對用戶需求的傳遞與分析,根據(jù)用戶需求對數(shù)據(jù)庫的操作,處理結(jié)果的返回與顯示,錯誤處理等較為復(fù)雜的技術(shù)環(huán)節(jié)。在編程的時后,首先要明確該組程序應(yīng)實現(xiàn)的功
23、能,然后再根據(jù)功能要求創(chuàng)建好數(shù)據(jù)庫。動態(tài)網(wǎng)頁可以選擇Visual Studio 2008等專門工具開發(fā),也可通過直接編寫源代碼完成。</p><p> 動態(tài)網(wǎng)頁是通過讓用戶在服務(wù)器上執(zhí)行一個程序來實現(xiàn)的,這必然存在著一定程度的安全隱患。為了保證一定程度的安全性與可靠性,建議對用戶的網(wǎng)頁表單輸入進(jìn)行相應(yīng)檢查。有兩種基本的表單輸入檢查方法,一是服務(wù)器端驗證,一是客戶端驗證。在服務(wù)器端驗證客戶輸入是最安全的,但增加了
24、客戶和服務(wù)器之間的通話次數(shù),會由于網(wǎng)絡(luò)原因帶來一定的延時;在客戶端(瀏覽器端)網(wǎng)頁上通過JavaScript或VBscript等腳本來驗證用戶輸入是最快捷的,但安全性較前者稍差,因為客戶能夠通過修改網(wǎng)頁源代碼來避開該腳本驗證。建議根據(jù)實際需要將兩者結(jié)合起來,這樣就實現(xiàn)了雙保險。</p><p> 2.2網(wǎng)上書店的研究意義</p><p> 美國是Internet的發(fā)源地,目前擁有世界上
25、最大的網(wǎng)上書店——巴恩斯諾內(nèi)爾書店網(wǎng)(http://www.Barnesand.noble.com) 和 亞馬遜網(wǎng)上書店(網(wǎng)址為http://www.Amazom.com)等。中國近幾年網(wǎng)上書店的發(fā)展也非???,如芝麻開門網(wǎng)上書店(http://www.zmkm.com.cn)、當(dāng)當(dāng)網(wǎng)上書店(http://www.dangdang.org)等多達(dá)數(shù)百家。網(wǎng)上構(gòu)建書店與普通書店的目的有所不同,其意義主要為:1、便于網(wǎng)站書店人員了購書者的閱
26、讀需求 普通書店采購圖書最大的問題就是缺乏準(zhǔn)確的需求信息,雖然采取的很多辦法,但實際效果并不理想。但是網(wǎng)上書店就不一樣,采用網(wǎng)上推薦后,讀者不僅可以薦書,還充分發(fā)表意見。2、便于讀者推薦圖書 讀者既可從網(wǎng)上書店中挑選所需圖書信息提供給書店,也可提供其他來源信息。與傳統(tǒng)方式相比,采用網(wǎng)上書店薦書具有以下優(yōu)勢: 信息量大。與傳統(tǒng)書目報相比,網(wǎng)上書店能夠提供海量圖書信
27、息。書目報由于受版面及其它條件的制約,其品種及受眾往往比較少。而普通網(wǎng)上書店由于各出版社的加盟,其存書可達(dá)數(shù)百萬種之多。如美國俄亥俄州</p><p> 2.3 網(wǎng)上書店研究對象</p><p> 一般來說網(wǎng)上書店包括了兩個對象:賣書者和買書者。</p><p> 我做的這個購書網(wǎng)站主要能夠達(dá)到以下幾點要求:系統(tǒng)管理員可以使用該系統(tǒng)進(jìn)行發(fā)布書籍、管理用戶、修改
28、書籍信息、添加新書、管理留言板、發(fā)布書訊、管理訂單等操作;注冊的購書者可以實現(xiàn):發(fā)表留言、個人信息管理、管理購物車、查看訂單等操作;普通Internet用戶可以使用該系統(tǒng)注冊為'書店會員”,進(jìn)行購書操作。</p><p><b> 3基礎(chǔ)知識介紹</b></p><p> 3.1ASP.NET的概述</p><p> ASP.N
29、ET是建立在微軟新一代.Net平臺架構(gòu)上的,利用普通語言運行時(Common Language Runtime)在服務(wù)器后端為用戶提供建立強大的企業(yè)級Web應(yīng)用服務(wù)的編程框架。ASP.NET可以完全利用.Net架構(gòu)的強大,安全,高效的平臺特性。ASP.NET是運行在服務(wù)器后端編譯后的普通語言運行時代碼,運行時早綁定(Early Binding),即時編譯,本地優(yōu)化,緩存服務(wù),零安裝配置,基于運行時代碼受管與驗證的安全機制等都為ASP.N
30、ET帶來卓越的性能。</p><p> ASP.NET主要包括WebService和WebForm兩種編程模型。前者通過對HTTP,XML,SOAP,WSDL等Internet標(biāo)準(zhǔn)的支持提供在異構(gòu)網(wǎng)絡(luò)環(huán)境下獲取遠(yuǎn)程服務(wù),連接遠(yuǎn)程設(shè)備,交互遠(yuǎn)程應(yīng)用的編程界面。后者為用戶提供建立功能強大,外觀豐富的基于表單(Form)的可編程Web頁面。C#是一種語言,C#(讀做 "C sharp"),C#是微
31、軟公司發(fā)布的一種面向?qū)ο蟮?、運行于.NET Framework之上的高級程序設(shè)計語言。并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運行的過程。它借鑒了Delphi 的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司.NETwindows網(wǎng)絡(luò)框架的主角。&l
32、t;/p><p> C# 語法表現(xiàn)力非常強,只有不到 90 個關(guān)鍵字,而且簡單易學(xué)。C# 的大括號語法使任何熟悉 C、C++ 或 Java 的人都可以立即上手。了解上述任何一種語言的開發(fā)人員通常在很短的時間內(nèi)就可以開始使用 C# 高效地工作。 語法簡化了 C++ 的諸多復(fù)雜性,同時提供了很多強大的功能,例如可為空的值類型、委托、 枚舉、C# 源文件可以定義任意數(shù)量的結(jié)構(gòu)、類、接口及事件。</p>&l
33、t;p> Microsoft.NET 是 Microsoft XML Web services 平臺。</p><p> 3.1.1ASP.NET的功能和特點</p><p> 1.ASP.NET訪問數(shù)據(jù)庫的原理</p><p> C#.NET是服務(wù)器端的腳本執(zhí)行環(huán)境,可產(chǎn)生和執(zhí)行動態(tài)的高性能的WEB服務(wù)器應(yīng)用程序。當(dāng)用戶使用瀏覽器請求ASPX主頁時
34、,WEB服務(wù)器自動響應(yīng),調(diào)用ASP引擎來執(zhí)行ASPX文件,并解釋其中的腳本語言(VCScript 或JScript),通過SQLBC連接數(shù)據(jù)庫,由數(shù)據(jù)庫訪問組件ADO(ActiveX Data Objects)完成數(shù)據(jù)庫操作,最后ASP生成包含有數(shù)據(jù)查詢結(jié)果的HTML主頁返回用戶端顯示。由于ASPX在服務(wù)器端運行,運行結(jié)果以HTML主頁形式返回給用戶瀏覽器,因此ASPX源程序不會泄密,增加了系統(tǒng)的安全性和保
35、密性。另外,ASPX是面向?qū)ο蟮哪_本環(huán)境,用戶可以增加ActiveX組件來擴(kuò)充其功能,拓展其應(yīng)用范圍。</p><p> 2.ASPX頁面的結(jié)構(gòu)</p><p> ASPX的程序的文件名由.aspx結(jié)尾,ASPX文件通常由四個部分構(gòu)成:(1)標(biāo)準(zhǔn)的HTML標(biāo)記:所有的HTML標(biāo)記均可使用。ASPX語法命令:位于<% %>標(biāo)簽內(nèi)的ASPX代碼。</p>
36、<p> 3.ASP.NET的運行環(huán)境</p><p> 目前ASP.NET可運行在三種環(huán)境下。</p><p> (1)WINDOWS XP/VISTA</p><p> (2)WINDOWS 95/98運行PWS(Personal Web Server)。 </p><p> (3)WINDOWS NT workst
37、ation 4.0運行Peer Web Server 3.0以上。</p><p> (4)WINDOWS NT server 4.0運行IIS 3.0(Internet Information Server)以上。</p><p> 其中以NT server上的IIS功能最強,提供了對C#.NET的全面支持,是創(chuàng)建高速、穩(wěn)定的ASPX主頁的最佳選擇。</p><p
38、> 4.ASP.NET的內(nèi)建對象</p><p> ASP.NET提供了六個內(nèi)建對象,供用戶直接調(diào)用:</p><p> (1) Session對象:存貯特定用戶的會話信息,只被該用戶訪問,當(dāng)用戶在不同WEB頁面跳轉(zhuǎn)時,Session中的變量在用戶整個會話過程中一直保存。Session對象需cookie支持。</p><p> (2) Applicat
39、ion對象:負(fù)責(zé)管理所有會話信息,可用來在指定的應(yīng)用程序的所有用戶之間共享信息。</p><p> (3)Server對象:提供對服務(wù)器有關(guān)方法和屬性的訪問。 。</p><p> (4) Object Context對象:IIS 4.0新增的對象,用來進(jìn)行事務(wù)處理。此項功能需得到MTS(Microsoft Transcation Server)管理的支持。</p>&
40、lt;p> (5) Request對象:從用戶端取得信息傳遞給服務(wù)器,是ASPX讀取用戶輸入的主要方法</p><p> (6)Response對象:服務(wù)器將輸出內(nèi)容發(fā)送到用戶端。</p><p> 5.ASPX的主要內(nèi)置組件</p><p> (1)數(shù)據(jù)組件:提供ADO (ActiveX Data Objects)和ADO.NET來訪問支持ODBC/
41、SQLBC的數(shù)據(jù)庫。</p><p> (2) File Access組件:提供對服務(wù)器端文件的讀寫功能。</p><p> (3) Ad Rotator組件:用來按指定計劃在同一頁上自動輪換顯示廣告,用于WWW上日益重要的廣告服務(wù)。</p><p> (4)Content Linking組件:生成WEB頁內(nèi)容列表,并將各頁順序連接,用于制作導(dǎo)航條。<
42、/p><p> (5) Browser Capabilities組件:確定訪問WEB站點的用戶瀏覽器的功能數(shù)據(jù),包括類型、性能、版本等。</p><p> 6.Database Access組件ADO.NET</p><p> WWW上很重要的應(yīng)用是訪問WEB數(shù)據(jù)庫,用ASP訪問WEB數(shù)據(jù)庫時,必須使用ADO.NET組件,ADO.NET是ASPX內(nèi)置的Active
43、X服務(wù)器組件(ActiveX Server Component),通過在WEB服務(wù)器上設(shè)置ODBC和OLEDB可連接多種數(shù)據(jù)庫:如SYBASE、ORACLE、INFORMIX、SQL SERVER、ACCESS、VFP等,是對目前微軟所支持的數(shù)據(jù)庫進(jìn)行操作的最有效和最簡單直接的方法。</p><p> ADO.NET組件主要提供了四個集合以及七個對象來訪問數(shù)據(jù)庫。</p><p> (
44、1) Command對象:執(zhí)行SQL指令,訪問數(shù)據(jù)庫。</p><p> (2) Connection對象:建立與后臺數(shù)據(jù)庫的連接。</p><p> (3) RecordSet對象:存放訪問數(shù)據(jù)庫后的數(shù)據(jù)信息,是最經(jīng)常使用的對象。</p><p> (4)Parameters集合和Parameters對象:為Command對象提供數(shù)據(jù)和參數(shù)。
45、 </p><p> (5) Properties集合和Property對象:提供有關(guān)信息,供Connection、Command、RecordSet、Field對象使用。</p><p> (6)Field集合 和Field對象:提供對RecordSet中當(dāng)前記錄的各個字段進(jìn)行訪問的功能。</p><p> (7)Errors集
46、合 和Error對象:提供訪問數(shù)據(jù)庫時的錯誤信息。</p><p> 7.ASPX訪問SQL Server 2005數(shù)據(jù)庫步驟</p><p> ASPX中,使用ADO.NET組件訪問后臺數(shù)據(jù)庫是,有以下幾個步驟:</p><p><b> 1. 定義數(shù)據(jù)源</b></p><p> 在WEB服務(wù)器上打開'
47、;控制面板',選中'ODBC',在'系統(tǒng)DSN'下選'添加',選定你希望的數(shù)據(jù)庫種類、名稱、位置等。本文定義'SQL SERVER',數(shù)據(jù)源為'HT',數(shù)據(jù)庫名稱為'HTDATA',腳本語言采用Jscript。</p><p> 2. 使用ADO.NET組件查詢WEB數(shù)據(jù)庫</p><p&
48、gt; (1) 調(diào)用Server.CreateObject方法取得”ADODB.Connection”的實例,再使用Open方法打開數(shù)據(jù)庫:</p><p> conn = Server.CreateObject(“ADODB.Connection”)</p><p> conn.Open(“HT”)</p><p> (2) 指定要執(zhí)行的SQL命令<
49、/p><p> 連接數(shù)據(jù)庫后,可對數(shù)據(jù)庫操作,如查詢,修改,刪除等,這些都是通過SQL指令來完成的,如要在數(shù)據(jù)表table1中查詢代碼中含有'M’的記錄</p><p> sqlStr =” select * from table1where code like ‘%M%’”</p><p> rs = conn.Execute(sqlStr)</p
50、><p> (3) 使用RecordSet屬性和方法,并顯示結(jié)果</p><p> 為了更精確地跟蹤數(shù)據(jù),要用RecordSet組件創(chuàng)建包含數(shù)據(jù)的游標(biāo),游標(biāo)就是儲存在內(nèi)存中的數(shù)據(jù)。</p><p> rs = Server.CreateObject(“ADODB.RecordSet”)</p><p> rs.Open(sqlStr,co
51、nn,1,A)</p><p><b> 注:A=1讀取</b></p><p> A=3 新增、修改、刪除</p><p> 在RecordSet組件中,常用的屬性和方法有:</p><p> rs.Fields.Count: RecordSet對象的字段數(shù)。</p><p> rs(
52、i).Name: 第i個字段的名稱,i為0至rs.Fields.Count-1</p><p> rs(i): 第i個字段的數(shù)據(jù),i為0至rs.Fields.Count-1</p><p> rs("字段名"): 指定字段的數(shù)據(jù)。</p><p> rs.Record.Count:游標(biāo)中的數(shù)據(jù)記錄總數(shù)。</p><p&g
53、t; rs.EOF: 是否最后一條記錄。</p><p> rs.MoveLast: 指向最后一條記錄。</p><p> rs.MoveFirst: 指向第一條記錄。</p><p> rs.MoveNext: 指向下一條記錄。</p><p> rs.GetRows: 將數(shù)據(jù)放入數(shù)組中。</p><p>
54、 rs.MovePrev: 指向上一條記錄。</p><p> rs.close(): 關(guān)閉連接。</p><p><b> (4) 關(guān)閉數(shù)據(jù)庫</b></p><p> conn.close()</p><p> 3.1.2 查詢數(shù)據(jù)庫</p><p> 下面這用root訪問SQL
55、SERVER數(shù)據(jù)庫中的BTS表來說明。</p><p> 下面的代碼是管理員管理留言板的頁面的后臺代碼:</p><p> using System;</p><p> using System.Data;</p><p> using System.Configuration;</p><p> using
56、 System.Collections;</p><p> using System.Web;</p><p> using System.Web.Security;</p><p> using System.Web.UI;</p><p> using System.Web.UI.WebControls;</p>&
57、lt;p> using System.Web.UI.WebControls.WebParts;</p><p> using System.Web.UI.HtmlControls;</p><p> using System.Data.SqlClient; </p><p> public partial class Admin_LinkAdm
58、in : System.Web.UI.Page</p><p><b> {</b></p><p> protected void Page_Load(object sender, EventArgs e)</p><p><b> {</b></p><p> if (!this.IsP
59、ostBack)</p><p><b> {</b></p><p> if (Session["UserName"] == null)</p><p><b> {</b></p><p> Response.Redirect("erro_Amin.aspx
60、");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> this.lb_to_name.Text = "<font color=green>歡迎您:
61、</font>" + Session["UserName"].ToString();</p><p><b> }</b></p><p> this.bindgridview();</p><p><b> }</b></p><p><b&g
62、t; } </b></p><p> //定義一個綁定到gridview的方法,實現(xiàn)分頁功能!</p><p> public object bindgridview()</p><p> { SqlConnection con = DBAccess.createsqlcon();</p><p> con.O
63、pen();</p><p> //試用sqldataadapter+set來實現(xiàn)數(shù)據(jù)源的綁定,實現(xiàn)gridview分頁功能。</p><p> SqlDataAdapter sda = new SqlDataAdapter();</p><p> sda.SelectCommand = new SqlCommand("select * from B
64、TS", con);</p><p> DataSet ds = new DataSet();</p><p> sda.Fill(ds, "BBTS"); </p><p> this.GridView1.DataSource = ds.Tables["BBTS"];</p>&l
65、t;p> // 對應(yīng)行的主碼標(biāo)識!</p><p> GridView1.DataKeyNames = new string[] { "ID"};</p><p> this.GridView1.DataBind();</p><p> return ds; </p><p><b> }<
66、/b></p><p> protected void lbt_exit_Click(object sender, EventArgs e)</p><p><b> { //</b></p><p> Response.Write("<script language=javascript>window.
67、close();</script>");</p><p><b> }</b></p><p> protected void GridView1_PageIndexChanging1(object sender, GridViewPageEventArgs e)</p><p><b> {</b&
68、gt;</p><p> this.GridView1.PageIndex = e.NewPageIndex;</p><p> this.GridView1.DataSource = bindgridview();</p><p> this.GridView1.DataBind();</p><p><b> }<
69、/b></p><p> protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)</p><p><b> {</b></p><p> if (e.Row.RowType == DataControlRowType.DataRow)&
70、lt;/p><p><b> {</b></p><p> e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#58baf0'");</p><p>
71、 e.Row.Attributes.Add("onmouseout","this.style.backgroundColor=c"); </p><p><b> } </b></p><p><b> }</b></p><p> protecte
72、d void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)</p><p><b> {</b></p><p> string sindex =Convert.ToString ( GridView1.DataKeys[e.RowIndex].Value);</p>
73、<p> SqlConnection con = DBAccess.createsqlcon();</p><p> SqlCommand cmd = new SqlCommand("delete from BTS where ID='"+sindex+"'", con);</p><p> con.Open();&l
74、t;/p><p> cmd.ExecuteNonQuery();</p><p> this.bindgridview(); </p><p><b> }</b></p><p> protected void GridView1_RowEditing(object sender, GridViewE
75、ditEventArgs e)</p><p><b> {</b></p><p> this.GridView1.EditIndex = e.NewEditIndex;</p><p> this.bindgridview();</p><p><b> }</b></p>
76、<p> protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)</p><p><b> {</b></p><p> this.GridView1.EditIndex = -1;</p><p> th
77、is.bindgridview();</p><p><b> }</b></p><p> protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)</p><p><b> {</b></p><
78、;p> SqlConnection con = DBAccess.createsqlcon();</p><p> con.Open();</p><p> SqlCommand cmd = new SqlCommand("update BTS set Adminre='" + ((TextBox)(this.GridView1.Rows[e.Ro
79、wIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "'where ID='"+ GridView1.DataKeys[e.RowIndex].Value.ToString() + "'", con);</p><p> cmd.ExecuteNonQuery();</p>
80、<p> con.Close();</p><p> GridView1.EditIndex = -1;</p><p> this.bindgridview();</p><p><b> }</b></p><p><b> } </b></p><
81、;p><b> 3.2 數(shù)據(jù)庫技術(shù)</b></p><p> SQL Server是一個全面的、集成的、端到端的數(shù)據(jù)解決方案,它為企業(yè)中的用戶提供了一個安全、可靠、高效的平臺用于企業(yè)數(shù)據(jù)管以及商業(yè)智能應(yīng)用。SQL Server 2005為信息工作者和IT專家提供了了熟悉的、強大的工具,并且減少了在從移動設(shè)備到企業(yè)數(shù)據(jù)系統(tǒng)的多平臺上創(chuàng)建、部署、管理及使用企業(yè)數(shù)據(jù)和分析應(yīng)用程序的復(fù)雜度
82、。通過全面的功能集、現(xiàn)有系統(tǒng)的集成性和對日常任務(wù)的自動化管理能力,SQL Server 2005為不同的企業(yè)提供了一個完善的數(shù)據(jù)解決方案。</p><p> SQL Server 2005不僅能作為一個功能強大的數(shù)據(jù)庫服務(wù)器有效地工作,而且數(shù)據(jù)庫引擎也用于需要在客戶端本地存儲獨立數(shù)據(jù)庫的應(yīng)用程序中。所以采用SQL Server 2005作為數(shù)據(jù)庫平臺是很是實用的。</p><p><
83、;b> 4總體設(shè)計</b></p><p><b> 4.1功能模塊</b></p><p> 4.1.1系統(tǒng)功能結(jié)構(gòu)圖</p><p><b> 圖1:功能結(jié)構(gòu)圖</b></p><p> 4.1.2 各功能模塊簡要描述</p><p> (1
84、)登錄網(wǎng)站時,用戶可以在頁面中登錄,管理員點擊下方后臺登陸。</p><p> 1.1用戶登錄后,進(jìn)入書籍列表頁面,按類別分別列出數(shù)據(jù)庫中的書籍信息,點擊可以購買書籍。</p><p> 1.2管理員,可以不僅可以對圖書進(jìn)行添加,刪除,修改等操作,而且能夠?qū)D書類別,用戶等進(jìn)行相同的操作。還可以對資金進(jìn)行查看。</p><p> a.圖書類別修改:,可根據(jù)圖書
85、類別找到這一類別的所有書籍。</p><p> b.圖書信息修改與添加:登陸后臺后,可以添加詳細(xì)信息,也可以對圖書的信息進(jìn)行修改。</p><p> (2)沒有帳號的用戶可以進(jìn)入注冊頁面進(jìn)行注冊,注冊頁面具有驗證功能,能夠判斷用戶輸入的信息是否達(dá)到相應(yīng)的要求。</p><p> ?。?)圖書詳細(xì)信息頁面,根據(jù)用戶選定的書籍顯示相應(yīng)書籍的詳細(xì)信息,還設(shè)有購買功能。
86、</p><p> ?。?)圖書列表:通過用戶進(jìn)入后,可以看到推薦的書,熱銷圖書以及最新圖書的列表。</p><p> ?。?)購物車頁面用以顯示用戶選定需要購買的書籍信息并完成結(jié)算。</p><p><b> 4.2 數(shù)據(jù)庫設(shè)計</b></p><p> 4.2.1 系統(tǒng)主要E/R圖</p><
87、p><b> 圖2:會員E-R圖</b></p><p> 后臺管理,在建立數(shù)據(jù)庫之前,首先要針對后臺的功能需求建立數(shù)據(jù)模型,然后在建立數(shù)據(jù)庫。</p><p> 首先 畫出部分的E-R圖:</p><p> 圖3:圖書信息E-R圖 </p><p> 4.2.2數(shù)據(jù)庫主要表</p><
88、;p> 表1:書籍詳細(xì)信息表</p><p><b> 表2:訂單信息表</b></p><p> 表3:圖書主類信息表</p><p> 表4:圖書次類信息表</p><p><b> 表5:關(guān)鍵字搜索表</b></p><p><b> 表6:
89、反饋信息表</b></p><p><b> 表7:會員信息表</b></p><p><b> 表8:管理員信息表</b></p><p><b> 5詳細(xì)設(shè)計</b></p><p><b> 5.1功能描述</b></p&g
90、t;<p> 5.1.1非管理員用戶</p><p> 1.首頁,主要用于顯示網(wǎng)站的一些動態(tài)更新,顯示最熱銷的圖書,還有最新的書以及推薦書籍。</p><p> ?。?)首頁最上面是一個導(dǎo)航條,可以方便的進(jìn)行網(wǎng)站的導(dǎo)航,左上角是登錄框,中間依次是網(wǎng)站推薦,新書上架,熱銷圖書三個區(qū)域,他們的數(shù)據(jù)會根據(jù)數(shù)據(jù)庫中相關(guān)數(shù)據(jù)的變動而變動,左面是一個圖書分類列表,方便查找。</
91、p><p><b> 圖4:首頁截圖</b></p><p><b> 部分代碼:</b></p><p> public partial class _Default : System.Web.UI.Page </p><p><b> {</b></p>
92、<p> CommonClass ccObj = new CommonClass();</p><p> GoodsClass gcObj = new GoodsClass();</p><p> protected void Page_Load(object sender, EventArgs e)</p><p><b> {<
93、/b></p><p> if (!IsPostBack)</p><p><b> {</b></p><p> RefineBind();</p><p> HotBind();</p><p> Newsgoods();</p><p><b&g
94、t; }</b></p><p><b> }</b></p><p> public void ST_check_Login()</p><p><b> {</b></p><p> if ((Session["UserName"] == null))&
95、lt;/p><p><b> {</b></p><p> Response.Write("<script>alert('對不起!您不是會員,請先注冊!');location='Default.aspx'</script>");</p><p> Response.E
96、nd();</p><p><b> }</b></p><p><b> }</b></p><p> public string GetVarMKP(string strMarketPrice)</p><p><b> {</b></p><p
97、> return ccObj.VarStr(strMarketPrice, (2);</p><p><b> }</b></p><p> public string GetVarHot(string strHotPrice)</p><p><b> {</b></p><p>
98、 return ccObj.VarStr(strHotPrice, (2);</p><p><b> }</b></p><p> protected void RefineBind()</p><p><b> {</b></p><p> gcObj.DLDeplayGI(1, thi
99、s.dLRefine, "Refine");</p><p><b> }</b></p><p> protected void HotBind()</p><p><b> {</b></p><p> gcObj.DLDeplayGI(3, this.dlHot,
100、"Hot");</p><p><b> }</b></p><p> protected void Newsgoods()</p><p><b> {</b></p><p> gcObj.DLNewGoods(dlDiscount);</p><
101、p><b> }</b></p><p> public void AddressBack(DataListCommandEventArgs e)</p><p><b> {</b></p><p> Session["address"] = "";</p>
102、;<p> Session["address"] = "Default.aspx";</p><p> Response.Redirect("~/showInfo.aspx?BookID=" + Convert.ToInt32(e.CommandArgument.ToString()));</p><p><
103、;b> }</b></p><p> protected void dLRefine_ItemCommand(object source, DataListCommandEventArgs e)</p><p><b> {</b></p><p> if (e.CommandName == "detailS
104、ee")</p><p><b> {</b></p><p> AddressBack(e);</p><p><b> }</b></p><p> else if (e.CommandName == "buy")</p><p>&
105、lt;b> {</b></p><p> AddShopCart(e);</p><p> Response.Redirect("shopCart.aspx");</p><p><b> }</b></p><p><b> }</b></p&
106、gt;<p> protected void dlDiscount_ItemCommand(object source, DataListCommandEventArgs e)</p><p><b> {</b></p><p> if (e.CommandName == "detailSee")</p><
107、;p><b> {</b></p><p> AddressBack(e);</p><p><b> }</b></p><p> else if (e.CommandName == "buy")</p><p><b> {</b><
108、;/p><p> AddShopCart(e);</p><p> Response.Redirect("shopCart.aspx");</p><p><b> }</b></p><p><b> }</b></p><p> 2. 用戶登錄,
109、用戶登錄時,需要填寫會員名,密碼,和隨機動態(tài)生成的驗證碼,是為了防止惡意攻擊而設(shè)置。</p><p><b> 圖5:用戶登錄</b></p><p><b> 部分代碼:</b></p><p> public DataTable UserLogin(string strName,string strPwd)<
110、;/p><p><b> {</b></p><p> SqlCommand myCmd = dbObj.GetCommandProc("proc_UserLogin");</p><p> SqlParameter Name = new SqlParameter("@UserName",SqlDbTy
111、pe.VarChar,50);</p><p> Name.Value = strName;</p><p> myCmd.Parameters.Add(Name);</p><p> SqlParameter Pwd = new SqlParameter("@Password",SqlDbType.VarChar,50);</p&g
112、t;<p> Pwd.Value = strPwd;</p><p> myCmd.Parameters.Add(Pwd);</p><p> dbObj.ExecNonQuery(myCmd);</p><p> DataTable dsTable = dbObj.GetDataSet(myCmd, "tbUser");&
113、lt;/p><p> return dsTable;</p><p><b> }</b></p><p> 3.注冊頁面,要求用戶輸入姓名,用戶名,密碼,性別,郵箱, 真實姓名,郵編,詳細(xì)住址。</p><p> 姓名欄以及用戶名欄添加了空驗證控件,如果用戶未填入任何信息則給出提示提示用戶填入信息。郵箱欄設(shè)置了格式
114、驗證要求用戶輸入的信息必須符合%@%.com的格式。網(wǎng)頁整體設(shè)置了錯誤信息收集控件能夠顯示所有用戶輸入信息的錯誤提示給出提示。當(dāng)用戶輸入的信息全部符合規(guī)則后才可進(jìn)行注冊操作。把用戶輸入的信息全部裝到一個實體類中,然后調(diào)用業(yè)務(wù)邏輯層的插入操作執(zhí)行注冊,注冊會先判斷是否已經(jīng)存在該用戶,如果存在則插入失敗,如果不存在該用戶才會注冊成功。</p><p><b> 圖6:注冊頁面</b></
115、p><p><b> 部分代碼:</b></p><p> public int AddUser(string strName, string strPassword, string strRealName, bool blSex, string strPhonecode, string strEmail, string strAddress, string strP
116、ostCode)</p><p><b> {</b></p><p> SqlCommand myCmd =dbObj.GetCommandProc("proc_AddUser");</p><p> SqlParameter name = new SqlParameter("@UserName"
117、, SqlDbType.VarChar, 50);</p><p> name.Value = strName;</p><p> myCmd.Parameters.Add(name);</p><p> SqlParameter password = new SqlParameter("@Password", SqlDbType.VarC
118、har, 50);</p><p> password.Value = strPassword;</p><p> myCmd.Parameters.Add(password);</p><p> SqlParameter realName = new SqlParameter("@RealName", SqlDbType.VarChar,
119、 50);</p><p> realName.Value = strRealName;</p><p> myCmd.Parameters.Add(realName);</p><p> SqlParameter sex = new SqlParameter("@Sex", SqlDbType.Bit, (1);</p>&
120、lt;p> sex.Value = blSex;</p><p> myCmd.Parameters.Add(sex);</p><p> SqlParameter phonecode = new SqlParameter("@Phonecode", SqlDbType.VarChar, 20);</p><p> phonecod
121、e.Value = strPhonecode;</p><p> myCmd.Parameters.Add(phonecode)</p><p> SqlParameter email = new SqlParameter("@Email", SqlDbType.VarChar, 50);</p><p> email.Value = st
122、rEmail;</p><p> myCmd.Parameters.Add(email);</p><p> SqlParameter address = new SqlParameter("@Address", SqlDbType.VarChar, 200);</p><p> address.Value = strAddress;<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)上書店系統(tǒng)畢業(yè)設(shè)計
- 網(wǎng)上書店系統(tǒng)畢業(yè)設(shè)計
- 網(wǎng)上書店畢業(yè)設(shè)計-- 網(wǎng)上書店網(wǎng)站設(shè)計與實現(xiàn)
- 網(wǎng)上書店畢業(yè)設(shè)計
- 網(wǎng)上書店畢業(yè)設(shè)計
- 網(wǎng)上書店畢業(yè)設(shè)計
- 網(wǎng)上書店系統(tǒng)畢業(yè)設(shè)計(論文)
- 畢業(yè)設(shè)計----網(wǎng)上書店購物系統(tǒng)
- 畢業(yè)設(shè)計---網(wǎng)上書店管理系統(tǒng)
- 網(wǎng)上書店管理系統(tǒng)畢業(yè)設(shè)計
- 網(wǎng)上書店系統(tǒng)畢業(yè)設(shè)計論文
- 網(wǎng)上書店系統(tǒng)畢業(yè)設(shè)計 (2)
- 網(wǎng)上書店管理系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----網(wǎng)上書店系統(tǒng)設(shè)計 (2)
- 網(wǎng)上書店畢業(yè)論文---網(wǎng)上書店系統(tǒng)
- 網(wǎng)上書店畢業(yè)設(shè)計論文
- 網(wǎng)上書店的畢業(yè)設(shè)計
- 網(wǎng)上書店畢業(yè)設(shè)計論文
- 網(wǎng)上書店網(wǎng)站畢業(yè)設(shè)計
- 畢業(yè)設(shè)計(論文)網(wǎng)上書店銷售系統(tǒng)
評論
0/150
提交評論