毕业设计(论文)-基于ASP.NET的网上书店系统.doc_第1页
毕业设计(论文)-基于ASP.NET的网上书店系统.doc_第2页
毕业设计(论文)-基于ASP.NET的网上书店系统.doc_第3页
毕业设计(论文)-基于ASP.NET的网上书店系统.doc_第4页
毕业设计(论文)-基于ASP.NET的网上书店系统.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于asp.net的网上书店系统本人呈交给临沂师范学院的这篇毕业论文,除了所注参考文献和世所公认的文献外,全部是本人在指导老师指导下的设计成果。 学生签名: 日 期: 经检查该毕业设计(论文)为独立完成,不存在抄袭现象。 指导老师签名: 日 期:基于asp.net的网上书店系统摘 要在信息时代的今天,计算机参与书店日常事务管理已成为网络现代化建设的当务之急。internet为全球范围的信息处理与交流提供了操作平台,网上书店管理系统正是在这种情况下应运而生的。本系统采用asp.net 技术作为创建应用程序的方式,以vb 作为编程语言,采用access 2000 数据库作为后台数据库。本系统基于access 2000数据库技术、asp.net技术,完成对系统的需求分析、功能模块划分、数据库模式分析,并由此设计数据库结构和应用程序。此系统便于数据的集中管理,方便快捷地提供书店的有关信息,辅助用户有效的查阅书籍,保证书籍信息的完整性,正确性和有效性。实现了用户信息管理、图书类型管理、图书信息管理、订单管理及图书浏览及购物功能。关键词:asp.net技术;access 2000;网上书店i基于asp.net的网上书店系统abstractduring this information times, combining computers with bookstore usual events management has become an emergent task that every bookstore must accomplish as soon as possible. the internet provides a operational board to manage and return information for all over the world ,themanagement system of bookstore on-lineis born in this situation. this system makes use of asp.net as itsway that set up the application, vb as its language, and finally access 2000 database conduct and actions backstage database. the system requests the access 2000 database bank technology, asp.net technology to complete the management system demand analysis, the function module division, the database pattern analysis, and from this has designed the database structure and the application procedure.this system is advantageous for the data centralized management, facilitates provides the contract quickly the related information, the auxiliary user effectively manages the books, guarantees the data recording apparatus books provision the integrity, the accuracy and the validity, it can provide the customer login and register, search the books in certain conditions, books classification view, books shopping car function and the management of the administrator login, the protection of password, new books addition, books scan and delete.key words:asp.net technology; access 2000 database; bookstore on-line ii基于asp.net的网上书店系统目 录摘 要iabstractii前 言1第1章asp.net编程环境简介21.1 asp.net编程环境简介21.1.1 asp.net技术简介21.1.2 asp.net的功能特点31.2 access 2000数据库简介41.2.1 access 2000的简介41.2.2 access 2000的特点4第2章 用户需求分析62.1功能需求62.2性能需求6第3章 总体设计83.1软件的运行环境设计83.1.1软件配置83.1.2硬件配置83.2 系统模块设计83.3 数据库模块设计103.3.1系统e-r图103.3.2表/字段分析123.3.3创建数据库及表15第4章 详细设计与系统实现164.1 系统流程图设计164.2 数据库的连接与设计174.3 系统主要界面及代码设计184.3.1 系统首页194.3.2 管理主页面224.3.3 书籍信息添加页面234.3.4 书籍信息修改页面254.3.5 查看书籍详细信息页面264.3.6 用户注册页面274.3.7查看购物车页面304.3.8 个人密码修改31第5章 关键技术及系统安全性能335.1 关键技术335.2 系统安全性能33结 论35注 释36参考文献38谢 辞39iv前 言如今,互联网的飞速发展, 使得依靠网络作为应用程序依托的舞台成为可能。微软的.net 策略,更使得.net逐渐走入每位开发人员的心中。同时随着人类社会信息时代的到来,计算机越来越多的活跃在社会各个领域:管理、网络、计算、控制、多媒体等,并且在某些方面成为不可缺少的工具,尤其在管理方面,管理软件的出现使大量繁琐复杂的问题变的简单易行。本设计便是在这种社会需求的基础上,本着以最通俗的语言、最简单的操作、最快捷的设计方案而开发制作的,本系统主要是运用了由microsoft 公司开发的面向对象的vs.net开发环境并以vb.net为编程语言进行制作的,该开发环境不仅具有卓越的性能和可视化的编程环境而且设计者在进行页面设计时只需编写最少量的代码便能够给web应用程序提供更为丰富的处理功能。系统中在数据库处理方面,采用了asp.net提供的ado.net技术,该技术专门支持多种不同的数据源,在本系统的设计中采用的数据库是access 2000,数据库的连接运用了oledb方式。开发该项目的目的: 在信息化程度越来越高的当今社会,对于每天忙碌的用户而言,用来购物的时间会越来越少,而上网可能是我们每天必做的事情,为了让网络用户方便有效的在网上购买所需图书,我们制作了这样的网上书店系统。28第1章asp.net编程环境简介1.1 asp.net编程环境简介1.1.1 asp.net技术简介asp.net是microsoft公司推出的新一代体系结构microsoft.net framework的一部分,它建立在基本类库之上,用来在服务器端构建功能强大的web应用,包括web页面(web form)和web服务(web service)两部分。asp.net是.net framework平台上开发动态web应用的一项新技术,全面支持面向对象的设计思想,因而使web应用的桌面设计变得更加简单、直观、高效,使所建立的web应用功能更为强大,特别是对标准化web服务的支持能力。asp.net应用程序被定义为可以从web应用程序服务器上虚拟目录及其子目录中调用的所有文件、页、处理程序、模块和可执行代码的总和。在技术和能力方面,asp.net 表现出前所未有的新特性:1. 多语言支持是asp.net的重要特性之一,主要表现在所支持的编程语言种类多和单个语言功能强两个方面。首先,asp.net为 web应用提供一种类似于java编译技术的“二次编译技术”中间语言(microsoft intermediate language)执行架构,即先将asp.net应用编译成 msll,再将msll编译成机器语言执行。其次,asp.net所支持的编程语言是指这这种语言的功能全集。2. 在asp.net中,页面代码是被编译执行的,它利用提前绑定、即时编译、本地优化和缓存服务来提高性能,从而大大提高了页面处理能力。3. asp.net包含一整套有用的类和名空间(namespaces),这使得web应用程序的编写更加容易。同时它也提供了许多功能强大的服务器控件,简化了web页面的创建任务。4. 与asp 相比,在支持常规windows身份验证方法的基础上,asp.net还提供了passport和cookie两种不同类型的登录和身份验证方法。同时,asp.net还采用了基于角色的安全模式,为不同角色的用户指定不同的安全授权。5. 在asp.net中,允许使用跨服务会话(cross-server session),其会话状态可以被另一台机器或另一个数据库上的其它进程所维护。随着信息处理和传输流量的增加,可以为系统添加更多的web服务器。6. asp.net使用一个基于文本的、分层次的配置系统,所有的详细配置信息被存放在一个名为web.config的文本文件中,配置内容用标准的可扩展标示语言(xml)语法来书写,每一个web应用都会继承asp.config文件中的默认配置,从而简化了服务器环境和web应用程序的设置。7. asp.net访问数据库通过ado.net实现。它以dataset表示 (dataset中的数据是数据源数据在内存中的映射dataset可以包含任意多个数据表,组成一个非连接的数据视图);使用离线方式;基于xml格式。作为一种新的数据库访问技术,ado.net具有更好的通用性。它的具体运行模式断开式数据访问。具体模式图如下图所示: 图1-1 ado.net数据库访问技术模式图asp.net提供了5大内置对象,这5个内置对象是asp框架的重要部分。1)application对象:用来存储一个应用中所有用户共享的信息。例如,可以利用application对象在站点的不同用户间传递信息。2)request对象:用来访问所有从客户端浏览器发送给服务器的信息。因此,可以利用request对象来接受用户在html页的窗体中所输入的信息。3) response对象:用来将服务器端的信息发送给客户端浏览器。例如,可以利response对象将脚本语言结果输出到浏览器上。4)server对象:提供许多服务端的应用函数。例如,可以利用server对象来获取当前脚本语言程序所在的目录;可以利用server对象来创建其他对象的实例。5)session 对象:用来存储一些普通用户在滞留期间的信息,可以利用session对象来存储一个用户访问站点所滞留的时间。内置对象不同于正常的对象。在利用内置对象编写脚本程序时,不需要先创建一个实例在引用,而可以直接无需定义地使用这些内置对象,在整个网站应用中内置对象的所有方法、集合以及属性都是可访问的。1.1.2 asp.net的功能特点在微软的.net战略中,asp.net是非常重要的一环,它相对于以前的asp有了相当大的改进。相对于其他的web应用开发模型来讲,asp.net具有更大的优势,其主要特点包括:1) asp.net与其前版本asp不同,它是在服务器上运行的编译好的公共语言运行时代码,可以更好地提高程序运行性能。2) asp.net与语言无关,它可以采用c#、vb.net以及jscript等支持.net框架的语言来进行开发,开发者可以根据自身的情况进行选择。3) asp.net支持开发web服务,它对xml技术提供了更好地支持,使得web应用程序的开发具有可扩展性和跨平台性。4) asp.net提供了很多功能强大的服务器端控件,使得程序的开发更趋于简单化。同时,它还提供了html设计代码和后台编程代码分离的技术,并在后台代码开发中提供了强大的智能化支持,使得开发工作更具有条理性。5) vb是一门崭新的语言,它具有开发效率高,应用范围广等特点,成为当前程序开发领域的一大热门。在开发企业网上书店管理系统应用程序的后台代码时就选用了vb语言。1.2 access 2000数据库简介1.2.1 access 2000的简介microsoft access 2000是一个非常有用的桌面数据库开发软件,是一个典型的开放式数据库管理系统,它可以和windows下的其它应用程序共享数据库资源。它提供了一个功能强大、操作简单、使用方便灵活的信息管理环境,在用户和数据库之间架起了一座桥梁,使得用户对数据库的存取、分类和查看更为容易。它是一个基于在关系型数据模型基础上建立的数据库管理系统软件。他帮助用户方便地得到所需信息,并提供强大的数据处理工具。它可以帮助用户组织和共享数据库信息,以便根据数据库信息做出有效的决策。它能够与a程序相连接,并提供了两种创建数据库的方法:1可以使用“数据库向导”仅一次操作即可为所选数据库类型创建必要的表、窗体及报表,这是开始创建数据库的最简单的方法;2也可以先创建一个空数据库,然后再添加表、窗体、报表及其他对象,这是最灵活的方法,但需要分别定义每一个数据库要素。无论哪一种方法,在数据库创建之后,都可以随时修改或扩展数据库。1.2.2 access 2000的特点microsoft access 2000 之所以如此吸引众多的用户,主要在于以下3点:1access 2000提供了统一简便的录入、添加、修改窗口,所有的原始数据只须录入一次,没有重复录入的问题。这样就可以保证:1) 有效地规范数据的录入格式和内容等标准和要求,保证公司能全面收集到需要的原始信息。2) 有效地保证数据的一致性,保证所有统计数据的完整性和全面性。3) 只须保证原始数据的准确录入就能基本消除今后使用数据时产生的遗漏、误差甚至错误等问题。4) 消除部门之间的差异,保证部门之间移交、交换或交叉使用数据时的准确性和一致性。5) 保证所有报表、统计、分析中基础数据的一致性,从而保证它们的公正、客观和符合实际情况。6) 保证全部历史数据的持续有效保存,方便进行对比跟踪分析。2.提供方便的统计分析功能。3.方便的数据共享和权限管理功能。access 2000能实现web功能和权限管理。第2章 用户需求分析要实现一个软件系统,首先应该进行需求分析,只有进行了充分的需求分析和调查,才能设计出满足用户各项要求的软件,以免出现半途而废的现象。需求分析是数据库信息管理系统开发的第一步也是最重要的一步。需求分析就是描述系统的需求,通过定义系统中的关键域类来建立模型。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制,因此,系统的需求分析应该是开发人员和用户或者客户一起完成的。需求分析可以采用面向对象的方法来完成,即明确系统要服务于哪些用户,对这些用户提供哪些服务等。以下是为设计网上书店管理系统进行的需求分析。2.1功能需求该系统的功能列表如下所示:1.系统安全权限设置:允许系统管理员的使用权限和密码安全设置以及会员的密码安全设置等功能2.系统管理员的设置:允许系统管理员对所有的用户进行查询,浏览;对图书的类别进行添加和查看;对所有的书籍进行管理;对订单的管理等功能。3.用户设置:允许用户注册进入系统的前台体系,并能对书籍进行浏览、查询、购买以及密码安全设置等操作。其中:对书籍资料的设置有:允许管理员录入所有可以进入该系统的书籍资料;并能对其进行浏览、修改、删除、查询、购买等操作。对用户的设置有:允许用户更新自己的明细资料,并能对其进行浏览、修改、等操作;同时用户还可以购买书籍。以上各功能的实现都要以access 2000数据库为依托,所以对数据库中相应字段的设置也要有所注意,以免出现类型不匹配等问题,影响了两端操作的正常进行。 2.2性能需求一般的性能需求是指相互消息传递顺利,协议分析正确,界面友好,运行时间满足使用要求,安全性得到安全保证。就实际情况,在高系统配置、高网络带宽很容易得到保证的情况下,我们最需要考虑的性能需求就是系统安全性问题。在开发系统的每个阶段,均需要考虑彼此间的认证与授权。尤其要注意认证,简单地说就是确定谁是特定用户,并针对安全源验证该用户的身份。在处理完识别用户的方法之后,必须开发一种方法以向用户授权,从而能够使用系统的特定功能。根据用户对网上书店管理系统的需求调查,该系统应满足下列要求:1.系统应建立友好的界面,要求使用户既要操作简单、直观、灵活,又要易于学习掌握;对于后台管理模块来说,管理员可以实现对书籍的信息、订单信息进行管理;管理员可以对个人的密码进行修改;如果操作复杂,就失去了实用价值。2.系统在管理员输入用户名以及密码时,应具有自动识别的功能,以帮助用户改正错误。为了保障书店操作活动的安全有效,管理员需要身份认证后才能登录,不能以明文形式在数据库中出现,要实行加密措施。3.系统在确定用户名和密码后,应具有自动连接数据库的功能,可以通过该系统参与书店的各种活动。在正确连接数据库后,首先应对用户名和密码进行检验,若没有此用户名应给出相应的提示;系统应具有界面相互转换的功能,在每一个模块之间应具有相互转换的功能,而无需用户退回主界面重新选择。系统应具有良好的安全性。4.系统可扩充、易维护。系统应充分考虑到书店的各种变化如客户的增加、项目的增加等等,具备一定的扩充能力。系统的模块化程度要高,软件维护要方便。第3章 总体设计网上书店管理系统的总体设计主要包括: (一) 软件的运行环境设计(二) 系统模块设计(三) 数据库模块设计3.1软件的运行环境设计好的数据库管理系统必然有一个相对最优的系统配置方案。系统配置要根据用户的实际情况设计,主要依据就是系统的吞吐量和系统对稳定性的要求。3.1.1软件配置客户端:windows98,windows2002,或windows xp, internet explorer4.0以上版本;服务器端:windows2002,iis5.0及其以上版本;数据库:采用access 2000数据库;访问组件:mdac 2.7;3.1.2硬件配置服务器:cpu要求piii800以上,内存256mb以上;客户机:cpu要求200mmx以上,内存64mb以上;3.2 系统模块设计本系统主要包括两大个功能模块:前台操作模块、后台管理模块,其系统功能结构层次总体概况图设计如下图3-1所示:1.前台操作模块该模块负责管理所有用户的购物工作,一般进入此系统要先进行身份的确认,以便可以进行购物操作。对于用户,我们采用了注册制。即用户必须先注册(按规定对所要填写的信息进行认真的填写)并且登陆该系统后,才能挑选书籍并将其放入自己的购物车,最后结帐下定单。非登陆用户只能查看和查询书籍信息,而没有其他的权限。2.后台管理系统功能模块管理系统为一次登录制,首先需要使用注册的帐户登录系统。通过验证之后,如果和系统数据库中保存的帐户相同则说明是管理员,管理员可以管理全部的用户、订单、书籍信息等功能。如果登录失败则是普通的非注册用户,只能查看,浏览书籍信息。其中部分重要管理功能有:(1)用户管理模块负责管理所有本系统所涉及的注册用户信息。其主要的功能包括查询、删除,详细浏览用户信息。用户管理在数据库管理系统中尤为重要,它是书店经营基础工作。对于系统本身,通过用户管理模块产生的用户信息将在订单管理模块中被使用,所以也是基础的管理模块。(2)类别管理模块责管理所有本系统涉及的书籍类别信息。主要功能包括添加、删除、编辑、浏览类别信息。类别管理模块本身与用户查询、书籍管理模块是相互联系的。 (3)书籍管理模块对于书店书籍的有效管理是至关重要的,负责所有书籍的存储。其主要的功能包括书籍的添加、书籍的浏览、书籍的编辑、以及书籍的删除等功能的实现。当然这只是对管理员而言的。书籍管理模块与类别管理模块、订单管理模块是相互关联的,(4)订单管理模块是对书籍的订购运作情况所进行的管理,在产生订单的时候,实际上是将书籍管理模块,用户信息,以及订单管理模块三部分进行的耦合。(5)购物功能,对于一个网上书店而言,购物可以说是必不可少的一部分,在本系统中,我们只对此功能进行了初步的设置,详细功能为:当用户进入本系统之后,他可以点击购物车,一旦遇见他要买的书籍,他直接点击购买即可,此时用户所买的书籍就被放在了购物车中,此时他可以继续进行购买,只要他点击“到收银台付款”,则就对应生成一份订单,同时用户的购物车本清空,即本次购物结束;当然用户也可以直接点击购买,两种情况在功能实现上是一致的。3.3 数据库模块设计 大多数网络应用系统都需要后台数据库的支持,动态网站应用程序开发过程中很关键的技术就是动态网站数据库的设计与编程,包括数据库的设计、数据源的配置与连接、数据源的操作、数据的获取、sql查询语言的使用等。本系统的数据库设计采用了access 2000数据库。3.3.1系统e-r图根据系统的功能需求涉及的实体有:书籍信息实体、用户信息实体、订单信息实体、类别信息实体、订单过程信息实体。本系统的实体间关系的e-r图,如图3-4所示:3.3.2表/字段分析在本系统中设立5张表,包括书籍信息数据表、类别信息数据表、订单信息数据表、订单详目信息数据表、用户信息数据表,这5个表分别对应e-r图中的书籍信息实体图、类别信息实体图、订单信息实体图、订单详目信息实体图、用户信息实体图。1.users表结构用户信息数据表(users),用于存放网上书店管理系统中所有参与人员的信息,一般情况下用户管理是每个管理系统中必不可少的,也是比较重要的一部分。如以表3-1所示,表中给出了各个字段的数据类型、大小及描述。表3-1 用户信息数据表结构(users)字段名称数据类型说明userid文本用户名(最长不超过20)roleid文本用户角色:a表示管理员 n 表示普通客户userpwd文本用户密码(最长不超过20)username文本用户姓名(最长不超过30)sex文本性别(2位)tel文本电话(30位)email文本电子信箱(100位)qq文本qq号码(12位)intro文本简介submitdate日期/时间注册日期totalnum数字总购买数量totalmoney数字总购买金额postsladdress文本通讯地址postalcode文本邮政编码2. orders表结构订单管理是书店管理的主要部分,每个订单都会和相应的用户号挂钩,订单信息数据表(orders)就是用来记录系统涉及的所有订单信息。如表3-2所示,表中给出了各个字段的数据类型、大小以及描述。表3-2 订单信息数据表(orders)字段名称数据类型说明orderid自动编号订单编号userid文本用户名totalnum数字该订单图书数量totalmoney货币该订单图书总金额submitdate日期时间购买日期consign是否是否发货,发货为true,否则为falseconsigndate日期时间发货日期3. book表结构书籍是书店管理的对象,书店管理是用户关系管理的一部分,如何管理好书籍信息尤为重要。书籍信息数据表(book表)记录了书店管理的书籍的信息。如表3-3所示,表中给出了各个字段的数据类型、大小以及描述。4.orders_particular表结构订单详目管理是书店管理的主要部分,在订单详目管理表中包含了订单编号、书籍编号字段,体现了订单表和书籍表的联系。如表3-4所示,表中给出了各个字段的数据类型、大小以及描述。根据以上对数据库的分析、表以及字段的定义,下面开始创建数据库:1.创建数据库在access 2000中,创建shop数据库的具体步骤如下:(1)选择“开始”|“程序”| access 2000,进入access 2000后,在窗体的右侧会出现一个对话框,选择其中的“空数据库”。(2)选择存储路径,在文件名拦里输入数据库的名称“shop”单击“创建”按纽,弹出“shop”数据库窗口,在数据库窗口中单击表这样一个对象,则可以进行表的创建工作。2.创建数据表创建完网上书店数据库后,此时就开始往数据库中添加新表。下面列出了创建书店系统book表的具体操作步骤:(1)首先打开“shop”数据库的数据库窗口,并在“对象栏”中选择“表”(2)在数据库右边的对象列表中双击“使用设计器创建表”,则出现设计视图。(3)设计表的结构,包括设计表中每个字段的名称,类型和长度等。(4)在创建的网上书店系统中的book表时,选中bookid字段,然后单击工具栏的设置主键按钮,则将bookid字段设置为主键。作为主键的bookid字段不允许为空。(5)单击工具栏的保存按钮,然后在弹出的对话框中输入表名book。(6)单击确定按钮,返回表设计器。(7)单击标题栏的关闭按钮。按同样的方法创建shop数据库中的其他表。创建表后,如果要往表中添加记录,则在记录的行选定器上显示一个星号图标表示可以从这里添加新的记。单击“插入”菜单中的“新记录”命令,插入点光标即跳至最末端的空白记录的第一个字段。输入数据后,移到另一个记录时会自动保存该记录。第4章 详细设计与系统实现详细设计是整个设计过程中最重要的步骤之一。下面就分以下几个部分对系统进行详细设计:(一) 系统流程图设计(二) 数据源的连接设计(三) 系统主要界面及代码设计4.1 系统流程图设计根据系统总体设计,首先系统要有一个登录主要界面log/index.aspx,如果用户身份被确认为管理员,则由该系统管理员的主页admin/index.aspx,该页将显示系统的所有控制管理的总情况,是系统操作的一个常用页。该页提供指向书店进展操作页,实现书店进展情况的控制。对其中的每一项设置了通向其他管理页面的链接;从而使其可以进行下一步的操作,例如:书籍添加页面 :admin_book_add.aspx,书籍浏览页面:admin_book_list.aspx,查看书籍详细信息页面:admin_book_particular.aspx,更新书籍信息页面:admin_book_update.aspx。类别添加页面:admin_kind_add.aspx,类别浏览页面:admin_kind_list.aspx。订单浏览页面:admin_order_list.aspx,查看订单详细信息页面:admin_order_particular.aspx。浏览用户信息页面:admin_user_list.aspx,查看用户详细信息页面:admin_user_particular.aspx。管理员登录的主界面:index.aspx,管理员修改密码页面:admin_updatepwd.aspx,管理员退出页面:admin_exit.aspx。各个管理页面的功能将和各个管理模块挂钩;如果用户身份被确认为注册用户的话,则由系统引导至用户主页面。该页同样设置了通向其他管理页面的链接,如:用户登录:log/login.aspx,用户注册:register1.aspx register2.aspx register3.aspx。更新用户信息:log/update_info.asp和修改密码页:log/update_pwd.aspx以及查看详细信息页particular.aspx。购物页myshoppingcart.aspx。这些内容都在系统界面及代码设计中得以体现。下面给出系统的流程图,如图4-1所示:4.2 数据库的连接与设计在web应用程序中大部分的工作都离不开数据库的支持,所以在这里有必要对数据库做一下说明。实现数据库访问技术的一种重要的方法就是:ado.net,利用它可以很容易连接数据源并访问、显示和修改数据是重要的应用程序接口,其中sqlclient和oledb是最主要的数据访问机制,同时我们还要知道数据提供程序(data provider),简单的说它就像应用程序与数据库之间的桥梁,完成两者之间的翻译工作。1. ado.net数据库访问技术ado.net的基本结构如下图4-2所示:图4-2ado.net的基本结构图示ado.net的新特性:1) 与 xml 紧密集成;2) 断开式数据访问技术;3) 能够组合来自多个、不同数据源的数据ado.net的基本对象:1) command对象:对数据源进行相应的操作;2) datareader对象:提供高性能的数据流;3) dataadapter对象:提供连接dataset与数据源的桥梁;4) dataset对象:数据源数据在内存中的映射;其中:1)connection对象:a) 使用oledbconnetion对象建立数据库连接。dim connstr as string =“” connstr=“provider=microsoft.jet.oledb.4.0;data source= d:shop.mdb”b) 使用sqlconnetion对象建立数据库连接。dim connstr as string =“” connstr=“server=localhost;database=stuinfo;user id=sa;pwd=sa”优点:提供了很好的伸缩性,避免了由于活动连接过多而造成的数据库堵塞和网络资源的浪费。2) command对象:功能:用来实现对数据库执行操作命令的属性的定义和方法的执行等。使用方法:dim str as string =“sql语句”dim cmd as oledbcommand =new oledbcommand(str,conn)dim cmd as sqlcommand =new sqlcommand(str,conn)3)datareader对象:功能:用于完成从command.excutereader()方法形成的datareader中读取数据。使用方法:dim odr as oledbdatareaderodr= cmd.excutereader() 或:dim odr as oledbdatareader=cmd.excutereader() 4)dataadapter对象 dataset总是要和dataadapter配合使用,dataadapter的作用如同dataset和数据源之间的桥梁。fill方法可以添加或者更新dataset中的记录,使其与数据源中的记录一致。使用方法:dim odr as oledbdataadapterodr=new oledbdataadapter(sql语句,conn)或: dim odr as oledbdataadapter = new oledbdataadapter(sql语句,conn)2. asp.net中的数据库操作 根据数据库操作执行结果的不同,asp.net提供了两种不同的数据库操作命令执行机制,即command对象的executereader和executenonquery方法,当执行select命令时,采用executereader方法,以返回记录行;否则采用executenonquery方法。4.3 系统主要界面及代码设计在进行界面设计说明之前,有必要说明以下本系统的几个类,如表4-3-1所示:表4-1 相关类的说明类名说明common转换字符串datakinds用来处理跟书籍类别有关的操作databooks用来处理书籍信息的类databusiness用来处理业务逻辑的类datausers用来处理用户信息的类dataorders用来处理跟订单有关的操作dataorder 用来处理订单的详细信息shoppingcart用来处理购物车中的书籍信息4.3.1 系统首页index.aspx程序的功能是系统登录的入口,不同用户登录,根据其不同的身份,进行不同的功能操作。该页面右边用到了repeater控件进行书籍信息的数据绑定,在左边用到了panel控件进行用户登录时不同信息的显示,系统利用session对象记录其用户号、用户身份、伴随用户对系统进行操作的整个生命周期。以下给出该系统首页(index.aspx.vb)的事件page_load主要代码:private sub page_load(byval sender as system.object, byval e as system.eventargs) handles mybase.loadif not page.ispostback then call mydatabind() end if end subsub mydatabind()首先获取几个重要的变量,用以判断显示哪一个类别,显示第几页,查找关键词dim intkindid, intcurrentpageindex as integer dim strkeyword, strkeyfield as stringif request.querystring(kindid) and (not page.ispostback) then这种情况表示刚刚打开了首页或者某一个栏目intkindid = request.querystring(kindid) 获取传递过来的kindid session(kindid) = intkindid 保存到session中else intkindid = session(kindid)end if 下面获取当前显示第几页if request.querystring(kindid) and (not page.ispostback) then这种情况表示刚刚打开了首页或者某一个栏目intcurrentpageindex = 0session(currentpageindex) = intcurrentpageindexelse intcurrentpageindex = session(currentpageindex)end if 下面来获取查找关键词if request.querystring(kindid) and (not page.ispostback) the该情况表示刚打开首页或者某一个栏目,所以应该令关键词为默认的全部strkeyword = session(keyword) = strkeyword strkeyfield = bookname session(keyfield) = strkeyfieldelse strkeyword = session(keyword) txtkeyword.text = strkeyword 设置查找关键词文本框的值 strkeyfield = session(keyfield) dropkeyfield.selectedvalue = strkeyfield 设置查找字段的选中项 end if 下面首先绑定myreapter控件,用来显示类别信息 dim dbs as new databusiness mydatalist.datasource = dbs.getkind() mydatalist.databind() 4.3.2 管理主页面该模块是管理系统的主要部分,从下图可以看到管理信息维护页面主要由两部分组成,这是用框架实现的,其中左边是主要管理项目,右边显示对应于不同管理功能的不同页面,管理具体页面采用datagrid控件mydatagrid通过在page_load()事件中与dataset的数据绑定返回所有实体信息。具体实现页面如图4-4所示:有关datagrid的数据绑定事件代码如下:private sub bindgrid() dim conn as oledbconnection dim oda as oledbdataadapter con=newoledbconnection(provider=microsoft.jet.oledb.4.0;data source= & server.mappath(shop.mdb)conn.open() oda = new oledbdataadapter(select * from books order by book_id, conn) dim ds as dataset ds = new dataset oda.fill(ds) 4.3.3 书籍信息添加页面该页面负责书籍信息的添加。调用了databusiness类的insertbook方法,当新书入库时,直接输入书籍的相关信息,就可以将书籍的信息存入数据库,从而方便用户和管理员对书籍进行相关操作。具体实现页面如下图所示: 下面首先获取书名,作者,简介,备注,单价,数量以及对应的类别编号等普通数据. dim strbookname, strbookauthor, strbookintro, strbookindex as string dim sglbookprice as single dim intbooknum, intkindid as integer strbookname = txtbookname.text strbookauthor = txtbookauthor.text strbookintro = txtbookintro.text strbookindex = txtbookindex.text sglbookprice = txtbookprice.text intbooknum = txtbooknum.text intkindid = dropkindid.selecteditem.value 下面获取上传的图片数据,并利用stream对象进行文件的操作,将其保存到二进制数组中 dim filesize as long = uploadfile.postedfile.contentlengthdim bytpicture(filesize) as byte 建立一个和文件大小一致的二进制数组 dim objstream as stream 定义一个stream对象变量objstream = uploadfile.postedfile.inputstream 读取上传文件到stream对象中 objstream.read(bytpicture, 0, filesize) 读取整个文件到buffer数租中 下面调用databusiness方法添加记录 end sub4.3.4 书籍信息修改页面该页面的所有文本框控件的名称和书店信息添加页面控件名称相同,当单击确定按钮将会触发btnenter_click事件,调用databusiness类的updatebook方法对书籍信息进行修改。具体实现页面如图4-7所示:由于添加图书和修改图书两个页面中所附代码比较类似,所以这里只写图片上传部分的代码,如下: 下面获取上传的图片数据,并利用stream对象将其保存到二进制数组中 dim filesize as long = uploadfile.postedfile.contentlen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论