1.ADO.Net概述2.ASP.NET的数据访问控件概述3.ASP.NET数据绑定控件的使用4.基于数据库的Web应用的分层架构设计2访问数据的新技术提供对MicrosoftSQLServer等数据源和通过OLEDB和XML公开的数据源的一致访问信息以XML存储和传输为非连接环境设计的系统3优点:•更安全,更易维护•更容易控制并发性•与非连接环境相比,数据刷新更及时缺点:•必须有固定的数据库连接•扩展性不强4可在非连接的计算机上使用数据的子集,以后再将更新提交到数据源优点•任何时候都可用,并可随时连接到数据源进行处理•共享连接资源•提高了应用程序性能和扩展性缺点•数据不能保证是最新的•可能发生更新冲突并且必须设法解决冲突6ADO.NET使用的命名空间包括◦System.Data◦System.Data.SqlClient◦System.Data.OleDb1).Connection对象2).Command对象3).DataReader对象4).DataAdapter对象重要属性:ConnectionString连接字符串组成:DataSource=localhost;InitialCatalog=xxx;IntegratedSecurity=true重要方法:Open()和Close()重要属性:CommandTextCommandTypeConnection重要方法:ExcuteNonQuery():执行Update、Insert和Delete等操作。ExcuteReader():创建DataReader对象ExcuteScalar():只能执行Select语句,通常用于统计。重要属性:FieldCountIsClosedItem:使用Item[“字段名”]或Item(序号)重要方法:Read():读取下一条记录GetName(i):返回字段名GetValue(i):返回字段值Close()重要属性:SelectCommandInsertCommandUpdateCommandDeleteCommand重要方法:Fill(ds):填充数据集Update(i):更新数据库8数据库4.将DataSet返回给客户端5.客户端检索数据2.创建SqlConnection和SqlDataAdapter3.使用DataAdapter填充DataSet并关闭连接SqlDataAdapterSqlConnection数据绑定控件1.客户端发出请求123456.更新DataSet7.使用SqlDataAdapter打开SqlConnection连接,更新数据库并关闭连接67客户端Web服务器DataSet1)准备工作:①在web.config文件中保存数据库的连接字符串connectionStringsaddname=myConnStrconnectionString=DataSource=localhost;InitialCatalog=xxx;IntegratedSecurity=trueproviderName=System.Data.SqlClient//connectionStrings②创建存储过程◦CREATEPROCEDURE存储过程名使用using引用数据提供程序的命名空间;从Web.config文件中提取连接字符串,同时创建Connection对象;创建Command对象、DataAdapter对象、DataSet对象,并绑定相关对象;打开数据库连接、填充数据集、关闭数据库连接;输出数据或修改数据库。数据源控件说明LinqDataSource使用LINQ语言从数据对象中检索和修改数据,能够自动生成增、删、改、查命令,具有排序、筛选和分页功能。ObjectDataSource使用自定义的业务对象来访问数据库。SqlDataSource提供对SQLServer、OLEDB、ODBC或Oracle等数据库的检索和修改操作,同时支持排序、筛选和分页。AccessDataSource用来访问MicrosoftAccess数据库,类似SqlDataSource。XmlDataSource用来访问XML文件,提供XPath筛选功能。SiteMapDataSource与ASP.NET站点导航结合使用。SqlDataSource控件的常用属性:◦ProviderName:用来设置数据提供程序的名称。◦ConnectionString:用来设置数据库的连接字符串。◦Select|Insert|Delete|UpdateCommand◦Select|Insert|Delete|UpdateCommandType◦Select|Insert|Delete|UpdateParameters◦EnableCaching:是否启用数据缓存。◦EnableTheming:是否支持主题。◦FilterExpression:设置筛选表达式。◦FilterParameters:从FilterExpression中获得的参数集合。◦SortParameterName:设置通过存储过程检索时的排序参数SqlDataSource控件的常用方法:◦DataBind():将数据源绑定到数据绑定控件及其所有子控件。◦Select()|Insert()|Delete()|Update():执行检索、插入、删除、更新操作GridView:以表格形式显示数据记录,提供编辑、删除、分页显示、排序和行选择功能。DetailsView:以表格形式一次显示一条记录,提供翻阅、插入、更新和删除功能。通常在主从方案中作从控件使用。FormView:与DetailsView控件类似,但允许自己创建操作模板,重新设置窗体布局的格式、控件和绑定表达式等。Repeater:显示只读列表,但必须完全自定义数据的显示布局。DataList:显示数据列表,允许修改显示布局,使用编辑、删除功能,但必须自定义程序逻辑。ListView:允许自定义显示模板。与DataList和Repeater控件不同的是,该控件隐式支持编辑、插入、删除、排序和分页功能。在使用GridView控件时,必须将它与SqlDataSource数据源控件绑定。绑定方法(两种)◦利用数据源配置向导自动绑定◦手动绑定操作演示:实例6-1◦准备工作(创建数据库和存储过程、配置连接字符串)◦添加GridView控件◦配置数据源◦查看源代码和浏览页面自动套用显示格式◦在GridView控件的任务列表中选择“自动套用格式”◦页面中自动增加PagerStyle、HeaderStyle、FooterStyle、RowStyle、SelectedRowStyle、AlternatingRowStyle等元素。启用编辑、删除和排序功能◦在GridView控件的任务列表中,分别选中相应功能的复选框即可。操作演示:实例6-2创建模板字段:◦在任务列表中选择“编辑列”→添加TempleteField编辑模板:◦在任务列表中选择“编辑模板”◦定义ItemTemplate和EditItemTemplate两个模板查看页面源代码并浏览页面注意:控件与字段绑定◦显示数据时,使用Eval(“字段”)可绑定输出类控件◦编辑数据时,使用Bind(“字段”)可绑定输入类控件操作演示:实例6-3设计Web窗体,包括查询条件输入框和提交按钮编写提交按钮的事件函数提取连接字符串→创建GridView控件→创建SqlConnection、SqlCommand、SqlDataAdapter和DataTable对象→打开数据库连接→填充DataTable→设置GridView控件的数据源为DataTable→调用GridView控件.DataBind(),实现与数据源绑定→将GridView控件添加到Web窗体。DetailsView控件◦每次显示一条记录◦每个字段显示为单独一行FormView控件◦每次显示一条记录◦没有指定显示记录的预定义布局DataList控件◦编辑模板来定义数据的显示格式Repeater控件◦源代码中显示声明布局、格式等◦允许在模板间拆分HTML标记操作演示:实例6-41)三层架构设计的概述含义由用户界面层、业务逻辑层(“中间层”)和数据访问层组成的三层架构。◦用户界面层,又称表示层,它包含了人机交互界面,实现数据的显示与用户输入等操作。◦业务逻辑层,又称组件层,它针对具体的问题实现相应的业务逻辑处理,包括业务规则的描述与实现、数据访问以及合法性验证等。◦数据访问层实现数据源的数据访问操作,包括物理数据的检索、插入、删除、更新、排序与统计等等。优点:◦能够为用户提供一个简洁的界面。◦在需要修改应用程序代码时只需修改中间层。◦开发人员可以专注于应用系统核心业务逻辑的分析、设计和开发,简化了应用系统的开发、更新和升级工作。缺点:◦分层设计必然添加程序的代码量,影响执行效率,因此不适用于对性能和速度要求高的项目开发,例如在线订票或在线炒股等等。◦分层设计难于理解和学习,不适合于初学者学习和掌握。举例:例6-5A.创建数据访问组件◦封装的功能包括:获取连接字符串、执行存储过程以返回数据集、执行存储过程以返回受影响的行数等。B.创建业务逻辑组件◦封装的功能包括:调用数据访问组件,实现添加、删除、更新、查询、统计、汇总等功能。C.创建Web窗体◦添加Web窗体,配置ObjectDataSource控件的数据源为业务逻辑组件。