网上书店系统毕业设计.docx
《网上书店系统毕业设计.docx》由会员分享,可在线阅读,更多相关《网上书店系统毕业设计.docx(44页珍藏版)》请在冰豆网上搜索。
![网上书店系统毕业设计.docx](https://file1.bdocx.com/fileroot1/2023-4/16/cf5e347d-7c5d-43ab-a0fb-88a8c200a571/cf5e347d-7c5d-43ab-a0fb-88a8c200a5711.gif)
网上书店系统毕业设计
网上书店系统
摘要
随着计算机技术在各行各业日益广泛和深入的应用,网络的概念早已深入人心。
网络在各行各业的发展战略中占据了重要的位置,成为商家不可分割的部分。
商品的宣传已不只局限于电视与报纸,网络已成为商家展示自己的另一个舞台。
商家建立网站,将商家各方面的宣传与服务展现于网络中,通过网络更可实现如网上购物、信息查寻等功能,这些在改变我们原有经营方式与经营理念的同时,也为商家带来了更高的效益。
因此,对于商家来说,拥有一个属于自己的网站是至关重要的。
网上书店越来越受到人们的关注。
通过网上书店,人们足不出户就能选购自己所需要的图书。
网上书店是根据公司的实际需求、应用动态网页技术开发而成。
浏览器为第一层,作为系统的应用界面;应用逻辑服务为第二层;数据链接为第三层,作为系统的数据存取服务。
在支持整个网站的运作功能的基础上,能帮助用户对前台网站进行日常管理和信息发布;并具有占用系统资源少、信息量大、站点维护方便、便于扩充和更新、易于继承和保护历史数据等优点。
在此,我真诚的感谢对我的毕业设计进行耐心指导的乔少杰老师,以及对我的论文完成给予帮助的各位老师和同学。
关键词:
SQLSERVERASP.NETC#
onlinebookstoresystem
Major:
Softwareengineering
Student:
TanPengjunSupervisor:
QiaoShaojie
Abstract
Withthepopularityofthenetworkandsupportingthedevelopmentofinformationtechnology,network-basedservices,informationdisseminationasthedirectionofreformanddevelopmentoftechnology.ThisdesignismainlyonlinebookstoreWebsites,establishedbetweenthebuyerandreadercommunication.Ontheonehand,thebuyercanbereleasedinthiswebsite,ontheotherhandbookinformationonwebsitewherereaderscanbrowsebooksinformationandbuybooksandBuyerscanchecktheirshoppingcartinformation,includinghistoricalshoppingcartandthecurrentcartinformation,andcanchooseBanksforpayment.Administratorscanmanagetheinformationonthebooks,informationanduserinformationmanagement.
WiththedevelopmentoftheInternet,onlinebookstoresmoreconcernforpeople.Throughtheonlinebookstore,peoplecanstayathometobuythebookstheyneed.Onlinebookstoreisbasedontheactualneedsofthecompany,usingdynamicwebtechnologywasdeveloped.abrowserforthefirstfloor,asasystemoftheapplicationinterfaces;applicationlogicservicesforthesecondfloor;fitmyselftoanumberoftheapplicationclientspreadoftheoperationandmaintenancerequirements.insupportoftheoperationalfunctionsoftheentiresite,basedonthereceptionsitetohelpusersofthedailymanagementandinformationdissemination;andwithlesssystemresources,theamountofinformationlarge,sitemaintenanceconvenient,easytoexpandandupdate,easytoinheritandtheprotectionofhistoricaldataandsoon.
Thankstomytutor,TeacherZhaoShan.hegivesmeearnestdirecttothispaper,aswellasotherteachersandmyfellowstudents.
KeyWords:
SQLSERVERASP.NETC#
1引言
伴随着Web技术和社会经济的发展,人们不再满足于只能浏览信息的静态网页,更多时候需要与上网的互联网用户进行交流以及发表自己的意见见解,因此能提供后台数据库的管理和控制等服务的动态网站就诞生了。
近年来,随着互联网在中国的迅速发展,越来越多的人也希望能过通过网络购买各种自己想要的物品。
2003年5月10日淘宝网建立。
淘宝网目前业务跨越C2C(个人对个人)和B2C(商家对个人)两大部分,成为中国乃至亚洲到世界最具影响力的购物网站,全国各地纷纷建立起自己的网络购物网络,网上购物呈星火燎原之势,迅速地出现在全国各地。
特别是在北京、上海以及广东等网络比较成熟的省市,网上购物越来越得到人们的亲睐。
实际上,网上购书与在真实的书店基本上是相同的,不同的是网上购书是买卖双方通过一个网络虚拟的平台来实现。
网站一般为购物者准备了发表评论联系卖家的功能,也在很明显的地方试用了人性化的导航标示,使得没有太多网络知识的人们,也能准确地找到所需要的东西,购书者可以通过多种途径查询到书店发布的书籍得相关信息,书店管理员也能网站对所卖书籍的信息做一个详细的管理与描述,一边广大购书者能清楚明白额了解各种各样的书籍。
2概论
2.1网上书店开发简介
本系统采用B2C(商家对个人)的结构编写,前台使用的是VisualStudio2008平台,所使用的语言是ASP.NET,后台使用强大的数据库软件SQLServer2005。
1、VisualStudio2008是一套完整的开发工具集,用于生成XMLWebServices、ASP.NETWeb应用程序,移动应用程序以及桌面应用程序。
VisualC++、VisualBasic,VisualJ#以及VisualC#都使用相同的集成开发环境(IDE),利用IDE可以共享工具并且有助于创建混合语言解决方案。
此外,这些语言利用了.NETFramework的功能,通过此框架可使用简化XMLWebServices开发的关键技术以及ASPWeb应用程序。
2、'动态”网站所具有的另外几个特点:
(1)“自动更新”即是不需要维护者手动地更新庞大的文档内容,系统会自动根据客户端用户提出的要求和需要生成新的页面,从而大大节省工作量和提高工作效率。
(2)“交互性”即系统会根据用户的要求和选择而动态响应和改变,让客户端的用户和服务器端进行'面对面的交流”浏览器由此作为客户端界面,客户可以直接在自己的客户端浏览器上对远程的服务器的相应的文件和数据进行查询,增加和删除等简单操作,从而大大增加了网站的“互动性”。
(3)因人因时而异即当不同的人在不同的时间访问你的网站时看到的将会是不同的网页。
动态网页不外乎是对用户请求的处理和处理结果的显示。
这里包含了对用户需求的传递与分析,根据用户需求对数据库的操作,处理结果的返回与显示,错误处理等较为复杂的技术环节。
在编程的时后,首先要明确该组程序应实现的功能,然后再根据功能要求创建好数据库。
动态网页可以选择VisualStudio2008等专门工具开发,也可通过直接编写源代码完成。
动态网页是通过让用户在服务器上执行一个程序来实现的,这必然存在着一定程度的安全隐患。
为了保证一定程度的安全性与可靠性,建议对用户的网页表单输入进行相应检查。
有两种基本的表单输入检查方法,一是服务器端验证,一是客户端验证。
在服务器端验证客户输入是最安全的,但增加了客户和服务器之间的通话次数,会由于网络原因带来一定的延时;在客户端(浏览器端)网页上通过JavaScript或VBscript等脚本来验证用户输入是最快捷的,但安全性较前者稍差,因为客户能够通过修改网页源代码来避开该脚本验证。
建议根据实际需要将两者结合起来,这样就实现了双保险。
2.2网上书店的研究意义
美国是Internet的发源地,目前拥有世界上最大的网上书店——巴恩斯诺内尔书店网(http:
//www.B)和亚马逊网上书店(网址为http:
//www.A)等。
中国近几年网上书店的发展也非常快,如芝麻开门网上书店()、当当网上书店(http:
//www.dangdang.org)等多达数百家。
网上构建书店与普通书店的目的有所不同,其意义主要为:
1、便于网站书店人员了购书者的阅读需求
普通书店采购图书最大的问题就是缺乏准确的需求信息,虽然采取的很多办法,但实际效果并不理想。
但是网上书店就不一样,采用网上推荐后,读者不仅可以荐书,还充分发表意见。
2、便于读者推荐图书
读者既可从网上书店中挑选所需图书信息提供给书店,也可提供其他来源信息。
与传统方式相比,采用网上书店荐书具有以下优势:
信息量大。
与传统书目报相比,网上书店能够提供海量图书信息。
书目报由于受版面及其它条件的制约,其品种及受众往往比较少。
而普通网上书店由于各出版社的加盟,其存书可达数百万种之多。
如美国俄亥俄州的图书馆网上书店能提供100万种在版图书和300万种绝版图书,加拿大最大的网上书店查普特斯书店可提供200万种图书。
任何感兴趣的读者都可参与荐书。
目信息丰富。
目前,大多数网上书店都提供尽可能完整详细的书目信息,如书名、作者/译者、出版社、出版日期、书号、开本、页码、内容提要、价格等,有的甚至提供图书的目录、前言、内容节选、精彩插图、书评、作者简介等。
这些书目信息弥补了读者不能直接翻看书的内容、了解书的全貌的缺陷。
检索便捷。
网上书店提供了多种检索途径,可以从书名、作者、主题词、ISBN号等途径进行单独检索或组合检索,快捷准确。
3、便于读者购买图书
现在图书价格都不便宜,所以一个网上书店购书不仅便宜,而且通过网络购买急需的图书,网上书店订购方式非常简单易行,读者足不出户就可以购买到称心如意的图书。
许多人不大使用网络购物的原因就是货币支付、退换货机制问题,商家担心货发出去收不到款,顾客担心寄了钱收不到货,或者收到的不是自己需要的东西又不能调换,这些问题在图书馆的网上书店都可迎刃而解。
4、便于图书馆开展个性化服务。
网上书店不只单纯推荐、销售图书,还可充分发挥网络优势,提供丰富多彩的个性化服务,满足读者特定的需求。
网上书店开设的如新书推荐、畅销书排行、读者评论、作者访谈、专家点评等栏目,既可使读者把握全方位的图书信息,又可使其利用网络公告版同图书的作者及其他读者进行在线讨论、交流心得体会,并根据他人的书评来协助选书。
2.3网上书店研究对象
一般来说网上书店包括了两个对象:
卖书者和买书者。
我做的这个购书网站主要能够达到以下几点要求:
系统管理员可以使用该系统进行发布书籍、管理用户、修改书籍信息、添加新书、管理留言板、发布书讯、管理订单等操作;注册的购书者可以实现:
发表留言、个人信息管理、管理购物车、查看订单等操作;普通Internet用户可以使用该系统注册为'书店会员”,进行购书操作。
3基础知识介绍
3.1ASP.NET的概述
ASP.NET是建立在微软新一代.Net平台架构上的,利用普通语言运行时(CommonLanguageRuntime)在服务器后端为用户提供建立强大的企业级Web应用服务的编程框架。
ASP.NET可以完全利用.Net架构的强大,安全,高效的平台特性。
ASP.NET是运行在服务器后端编译后的普通语言运行时代码,运行时早绑定(EarlyBinding),即时编译,本地优化,缓存服务,零安装配置,基于运行时代码受管与验证的安全机制等都为ASP.NET带来卓越的性能。
ASP.NET主要包括WebService和WebForm两种编程模型。
前者通过对HTTP,XML,SOAP,WSDL等Internet标准的支持提供在异构网络环境下获取远程服务,连接远程设备,交互远程应用的编程界面。
后者为用户提供建立功能强大,外观丰富的基于表单(Form)的可编程Web页面。
C#是一种语言,C#(读做"Csharp"),C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。
并定于在微软职业开发者论坛(PDC)上登台亮相。
C#是微软公司研究员AndersHejlsberg的最新成果。
C#看起来与Java有着惊人的相似;它包括单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。
它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
C#语法表现力非常强,只有不到90个关键字,而且简单易学。
C#的大括号语法使任何熟悉C、C++或Java的人都可以立即上手。
了解上述任何一种语言的开发人员通常在很短的时间内就可以开始使用C#高效地工作。
语法简化了C++的诸多复杂性,同时提供了很多强大的功能,例如可为空的值类型、委托、枚举、C#源文件可以定义任意数量的结构、类、接口及事件。
Microsoft.NET是MicrosoftXMLWebservices平台。
3.1.1ASP.NET的功能和特点
1.ASP.NET访问数据库的原理
C#.NET是服务器端的脚本执行环境,可产生和执行动态的高性能的WEB服务器应用程序。
当用户使用浏览器请求ASPX主页时,WEB服务器自动响应,调用ASP引擎来执行ASPX文件,并解释其中的脚本语言(VCScript 或JScript),通过SQLBC连接数据库,由数据库访问组件ADO(ActiveX Data Objects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。
由于ASPX在服务器端运行,运行结果以HTML主页形式返回给用户浏览器,因此ASPX源程序不会泄密,增加了系统的安全性和保密性。
另外,ASPX是面向对象的脚本环境,用户可以增加ActiveX组件来扩充其功能,拓展其应用范围。
2.ASPX页面的结构
ASPX的程序的文件名由.aspx结尾,ASPX文件通常由四个部分构成:
(1)标准的HTML标记:
所有的HTML标记均可使用。
ASPX语法命令:
位于<% %>标签内的ASPX代码。
3.ASP.NET的运行环境
目前ASP.NET可运行在三种环境下。
(1)WINDOWSXP/VISTA
(2)WINDOWS95/98运行PWS(PersonalWebServer)。
(3)WINDOWSNTworkstation4.0运行PeerWebServer3.0以上。
(4)WINDOWSNTserver4.0运行IIS3.0(InternetInformationServer)以上。
其中以NTserver上的IIS功能最强,提供了对C#.NET的全面支持,是创建高速、稳定的ASPX主页的最佳选择。
4.ASP.NET的内建对象
ASP.NET提供了六个内建对象,供用户直接调用:
(1)Session对象:
存贮特定用户的会话信息,只被该用户访问,当用户在不同WEB页面跳转时,Session中的变量在用户整个会话过程中一直保存。
Session对象需cookie支持。
(2)Application对象:
负责管理所有会话信息,可用来在指定的应用程序的所有用户之间共享信息。
(3)Server对象:
提供对服务器有关方法和属性的访问。
。
(4)ObjectContext对象:
IIS4.0新增的对象,用来进行事务处理。
此项功能需得到MTS(MicrosoftTranscationServer)管理的支持。
(5)Request对象:
从用户端取得信息传递给服务器,是ASPX读取用户输入的主要方法
(6)Response对象:
服务器将输出内容发送到用户端。
5.ASPX的主要内置组件
(1)数据组件:
提供ADO(ActiveXDataObjects)和ADO.NET来访问支持ODBC/SQLBC的数据库。
(2)FileAccess组件:
提供对服务器端文件的读写功能。
(3)AdRotator组件:
用来按指定计划在同一页上自动轮换显示广告,用于WWW上日益重要的广告服务。
(4)ContentLinking组件:
生成WEB页内容列表,并将各页顺序连接,用于制作导航条。
(5)BrowserCapabilities组件:
确定访问WEB站点的用户浏览器的功能数据,包括类型、性能、版本等。
6.DatabaseAccess组件ADO.NET
WWW上很重要的应用是访问WEB数据库,用ASP访问WEB数据库时,必须使用ADO.NET组件,ADO.NET是ASPX内置的ActiveX服务器组件(ActiveXServerComponent),通过在WEB服务器上设置ODBC和OLEDB可连接多种数据库:
如SYBASE、ORACLE、INFORMIX、SQLSERVER、ACCESS、VFP等,是对目前微软所支持的数据库进行操作的最有效和最简单直接的方法。
ADO.NET组件主要提供了四个集合以及七个对象来访问数据库。
(1)Command对象:
执行SQL指令,访问数据库。
(2)Connection对象:
建立与后台数据库的连接。
(3)RecordSet对象:
存放访问数据库后的数据信息,是最经常使用的对象。
(4)Parameters集合和Parameters对象:
为Command对象提供数据和参数。
(5)Properties集合和Property对象:
提供有关信息,供Connection、Command、RecordSet、Field对象使用。
(6)Field集合和Field对象:
提供对RecordSet中当前记录的各个字段进行访问的功能。
(7)Errors集合和Error对象:
提供访问数据库时的错误信息。
7.ASPX访问SQLServer2005数据库步骤
ASPX中,使用ADO.NET组件访问后台数据库是,有以下几个步骤:
1.定义数据源
在WEB服务器上打开'控制面板',选中'ODBC',在'系统DSN'下选'添加',选定你希望的数据库种类、名称、位置等。
本文定义'SQLSERVER',数据源为'HT',数据库名称为'HTDATA',脚本语言采用Jscript。
2.使用ADO.NET组件查询WEB数据库
(1)调用Server.CreateObject方法取得”ADODB.Connection”的实例,再使用Open方法打开数据库:
conn=Server.CreateObject(“ADODB.Connection”)
conn.Open(“HT”)
(2)指定要执行的SQL命令
连接数据库后,可对数据库操作,如查询,修改,删除等,这些都是通过SQL指令来完成的,如要在数据表table1中查询代码中含有'M’的记录
sqlStr=”select*fromtable1wherecodelike‘%M%’”
rs=conn.Execute(sqlStr)
(3)使用RecordSet属性和方法,并显示结果
为了更精确地跟踪数据,要用RecordSet组件创建包含数据的游标,游标就是储存在内存中的数据。
rs=Server.CreateObject(“ADODB.RecordSet”)
rs.Open(sqlStr,conn,1,A)
注:
A=1读取
A=3新增、修改、删除
在RecordSet组件中,常用的属性和方法有:
rs.Fields.Count:
RecordSet对象的字段数。
rs(i).Name:
第i个字段的名称,i为0至rs.Fields.Count-1
rs(i):
第i个字段的数据,i为0至rs.Fields.Count-1
rs("字段名"):
指定字段的数据。
rs.Record.Count:
游标中的数据记录总数。
rs.EOF:
是否最后一条记录。
rs.MoveLast:
指向最后一条记录。
rs.MoveFirst:
指向第一条记录。
rs.MoveNext:
指向下一条记录。
rs.GetRows:
将数据放入数组中。
rs.MovePrev:
指向上一条记录。
rs.close():
关闭连接。
(4)关闭数据库
conn.close()
3.1.2查询数据库
下面这用root访问SQLSERVER数据库中的BTS表来说明。
下面的代码是管理员管理留言板的页面的后台代码:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclassAdmin_LinkAdmin:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
this.IsPostBack)
{
if(Session["UserName"]==null)
{
Response.Redirect("erro_Amin.aspx");
}
else
{
this.lb_to_name.Text="欢迎您:
"+Sessi