第四章 前台用户登录_第1页
第四章 前台用户登录_第2页
第四章 前台用户登录_第3页
第四章 前台用户登录_第4页
第四章 前台用户登录_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

学习情境4前台用户登录廖黎莉任务描述在三层体系结构中访问数据库中的数据实现“迅捷”网站前台用户登录功能4.1在三层体系结构中访问数据库数据实体类数据访问层(数据表)业务逻辑层(实体类)表示层(用户输入)1.数据实体类三层之间的数据传递是通过传输数据实体类对象来实现的。数据实体类的定义:数据库中的某张表用面向对象的思想抽象成类,使数据作为对象来使用。数据实体类的使用:表示层:实例化数据实体类对象,将输入的数据作为实体类对象的属性,传递给业务逻辑业务逻辑层:传递实体类给表示层或数据访问层数据访问层:将数据实体类对象中的数据提取出来保存到数据库。创建数据实体类项目步骤一:在“解决方案资源管理器”中,右键单击选择“添加”-“新建项目”。步骤二:选择模板类型为“类库”,项目名称为“models”,项目类型为“C#”。步骤三:在web、bll、dal三个项目中分别添加对models的引用。步骤四:在models项目中添加实体类文件user.cs。步骤五:在models项目中添加实体类文件userrole.cs。步骤六:在models项目中添加实体类文件userstate.cs。为什么要添加引用?只有添加引用后,才可使用该项目下的类对象。2.数据访问层数据访问层DAL封装了所有与SQLSERVER数据库交互的操作,这些操作都是基于ADO.NET实现的。表名+serviceSystem.data提供的基本类。数据库好比水源,存储了大量的数据。Connection好比伸入水中的进水笼头,保持与水的接触,只有它与水进行了“连接”,其他对象才可以抽到水。

Command则像抽水机,为抽水提供动力和执行方法,通过“水龙头”,然后把水返给上面的“水管”。DataAdapter、DataReader就像输水管,担任着水的传输任务,并起着桥梁的作用。DataAdapter

像一根输水管,通过发动机,把水从水源输送到水库里进行保存。DataReader

也是一种水管,和DataAdapter不同的是,DataReader不把水输送到水库里面,而是单向地直接把水送到需要水的用户那里或田地里,所以要比在水库中转一下更快更高效。DataSet则是一个大水库,把抽上来的水按一定关系的池子进行存放。即使撤掉“抽水装置”(断开连接,离线状态),也可以保持“水”的存在。这也正是ADO.NET的核心。DataTable则像水库中的每个独立的水池子,分别存放不同种类的水。一个大水库由一个或多个这样的水池子组成。Connection对象用于建立与数据库的连接。建立数据库连接时,需要指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。Connection对象会被Command对象使用,这样就能够知道是在哪个数据源上面执行命令。

性说

明ConnectionString执行Open方法连接数据源的字符串Database将要打开数据库的名称DataSource包含数据库的位置和文件State显示当前Connection对象的状态属

性说

明open打开连接close关闭连接数据库操作对于一个web应用系统来说是非常频繁的,因此将常用的数据库操作封装在一个数据库通用类中是非常必要的,一般取名为“DBHelper”。在web.config文件中加入SqlConnectionconnection=newSqlConnection();connection.ConnectionString=“Server=(local)\SqlExpress;”+“Database=SportShop;”+“UserID=sa;Password=sa*123”;其中Server可以用DataSource或DataServer来代替,InitialCatalog代替Database。用户授权信息Server认证模式Windows认证模式只读属性字段OOP术语类:是对数据以及数据依赖的功能进行的封装,人对象:类的一个实例,张三字段:用于保存值的成员变量方法:对对象进行操作的实际代码段,各种成员函数和结构类型都可以称为方法,睡觉构造函数:特殊的方法,用于创建对象时初始化对象,眼睛、鼻子属性:特殊的方法,使用时类似于字段,但能控制访问,实现更好的封装实例成员:属于类的实例对象所有(可以是方法、字段)静态成员:属于类所有(可以是方法、字段),只能访问类的静态成员Public、

private、protected修饰符的区别:1、public:表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用

2、private

:表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。

3、protected

:对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private

。Static(静态数据)的特点:该变量在全局数据区分配内存,而不是保存在栈中,每次的值保持到下一次调用,直到下次赋新值。Command对象使用Connection对象与数据源建立连接后,可使用Command对象对数据源执行查询、添加、删除和修改等各种操作,操作实现的方法可以使用SQL语句,也可以使用存储过程。

性说

明CommandType获取或设置Command对象要执行命令的类型CommandText获取或设置对数据源执行的SQL语句或存储过程名或表名CommandTimeOut获取或设置在终止对执行命令的尝试并生成错误之前的等待时间parametersSQL命令参数集合Connection获取或设置此Command对象使用的Connection对象的名称方

法说

明ExecuteNonQuery执行SQL语句并返回受影响的行数ExecuteScalar执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行ExecuteReader执行返回数据集的SELECT语句创建命令-执行命令添加、删除、更新操作查询操作,返回第一行,第一列提取数据集的方法有连接的:对象Command与DataReader配合使用无连接的:对象DataAdapter与DataSet、DataTable配合使用区别:DataSet可以离线处理,前后滚动;DataReader不能离线处理,且是只读的向前的。DataReader速度明显会比DataSet快。

DataSet可以存储数据库各种对象的,比如表触发器等,而DataReader只能存储游标记录。

DataSet可以更新回原来的数据库,DataReader不行。DataSet类比DataReader类有更多的功能,这就可以让你在更多的情况下运用它们。但这并不意味着你总是在用DataSet类。你需要在ASP.NET中完成的相当大一部分的任务都属于DataReader的范畴。DataAdapter对象创建数据库连接创建命令对象用DadaAdapter打开连接并读取数据将返回的数据保存到DataSet组件应用程序离线处理数据将更新后的数据保存回数据库属性说明SelectedCommand从数据库中检索数据InsertCommand向数据库插入数据DeleteCommand删除数据库中的数据UpdateCommand更新数据库的数据方法说明SqlDataAdapter方法构造函数,创建SqlDataAdapter对象,并设置相应的属性。Fill方法从数据库中读取数据,用来填充或刷新DataSet对象,返回受影响的行数。Update方法检查DataSet对象中是否发生改变,并将改变提交到数据库中,返回受影响的行数。DataSet对象DataSet:数据集是内存中的一个虚拟数据库。DataSet的主要作用:将数据库中取出来的数据缓存在内存中。DataSet由一组DataTable对象组成。属性说明Tables属性数据集中包含的数据表的集合。Ralations属性数据集中包含的数据联系的集合。DataSetName属性用于获取或设置当前数据集的名称。HasErrors属性用于判断当前数据集中是否存在错误。方法说明Clear方法清除数据集包含的所有表中的数据,但不清除表结构。Reset方法清除数据集包含的所有表中的数据,而且清除表结构。HasChanges方法判断当前数据集是否发生了更改,更改的内容包括添加行、修改行或删除行。RejectChanges方法撤销数据集中所有的更改。以下情况使用DataSet在结果的多个离散表之间进行导航。操作来自多个数据源(例如,来自多个数据库、一个XML文件和一个电子表格的混合数据)的数据。重用同样的记录集合,以便通过缓存获得性能改善(例如排序、搜索或筛选数据)。每条记录都需要执行大量处理。对使用DataReader返回的每一行进行扩展处理会延长服务于DataReader的连接的必要时间,这影响了性能。DataSet举例⑴创建一个sqlconnection对象⑵创建一个sql

dataadapter对象⑶设置dataadapter的selectcommand属性⑷创建一个dataset对象⑸填充dataset对象,表名为vote⑹返回datatable类型的结果Datareader对象使用datareader类可以实现对特定数据源中的数据进高速、只读、只向前的数据访问。Datareader是依赖与连接的对象,只能在与数据源保持连接的状态下工作。读取数据的步骤:创建连接connection对象创建command对象调用comand对象的executereader方法执行查询使用datareader对象的read方法读取数据关闭datareader对象关闭command对象关闭connection对象属

性说

明hasrows是否返回了结果FieldCount获取当前行的列数Item索引器属性,以原始格式获得一列的值方

法说

明Read使DataReader对象前进到下一条记录(如果有)Close关闭DataReader对象。注意,关闭阅读器对象并不会自动关闭底层连接Get用来读取数据集的当前行的某一列的数据数据NextResult当读取批处理

SQL语句的结果时,使数据读取器前进到下一个结果以下情况使用DataReader不需要缓存数据。要处理的结果集太大,内存中放不下。一旦需要以仅向前、只读方式快速访问数据。DataReader举例⑴创建一个sqlconnection对象⑵创建一个sqlcommand对象⑶通过executereader执行命令⑷将命令执行后提取的记录集存放在sqldatareader对象中⑸将sqldatareader对象作为结果返回UserService类进行完数据库操作之后,一定要及时关闭UserStateService类UserRoleService类3.业务逻辑层业务逻辑层的类通常负责数据的传递和业务逻辑的处理,一般命名为“数据库表名+manager”。业务层需要提供哪些方法是根据实际业务需求来确定的。只操作数据访问层方法和实体对象4.表示层Web页面利用各种控件来显示与接收数据,提供所有与用户进行交互的界面。Web项目内容:Admin:存放管理相关页面Aspnet_client:客户端javascript脚本Controls:用户控件Css:css层叠样式表文件Datepicker:日期选择器Images:图片Tools:存放实现类型转换、获取URL地址并跳转等功能的类文件Membership:存放网站前台用户注册、登录等功

温馨提示

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

评论

0/150

提交评论