您好,欢迎访问三七文档
单元四ADO.NET数据库编程单元描述——ADO.NET提供了对SQLServer等数据库的一致访问,应用程序可以通过ADO.NET连接到各种数据库,并添加、更新、查询和删除其中的数据。任务一ADO.NET基础任务二ADO.NET对象任务三Web控件实现数据访问任务四数据控件任务分解本单元任务目标学会应用程序与数据库的连接;学会利用应用程序向数据库中添加数据;学会利用应用程序查询数据库中的相关数据并进行页面显示;学会利用应用程序来更新数据库中的数据;学会利用程序来删除数据库中的数据。将单元一中所创建的以学号后三位命名的网站导入,在该网站下创建名称为unit04的文件夹,在该文件下进行相应的操作。操作准备实现功能:与数据库进行连接,并创建与其对应的数据表,实现真正意义的注册。任务一ADO.NET基础一、ADO.NET简介1、ADO.NET:是一种全新的数据访问技术,是一种完全和数据源无关的数据访问技术。它允许基于.NET的应用程序访问数据库以及数据存储,以便读取和更新信息的类。2、微软的数据访问技术的发展:ODBC---DAP---RDO---OLEDB---ADO---ADO.NET二、ADO.NET结构1、ADO.NET包含两个核心组件:(1)DataSet:为了实现独立于任何数据源的数据访问。可用于多种不同的数据源,用于XML数据,或用于管理应用程序本地的数据。DataSet对象与数据源是断线连接的,可将DataSet视为从数据库检索出的数据在内存中的缓存。DataSet包含一个或多个DataTabel对象的集合,这些对象由数据行、数据列及主键、外键、约束和有关DataSet对象中数据的关系信息组成。任务描述:清楚ADO.NET的结构等基础知识。(2).NETFramework数据提供程序:①设计目的:为了实现数据操作和对数据的快速、只进、只读访问。②核心元素:Connection对象:提供与数据源的连接;Command对象:能够访问用于返回数据,修改数据,运行存储过程,以及发送或检索参数信息的数据库命令;DataReader对象:从数据源中提供高性能的数据流;DataAdapter对象:提供连接DataSet对象和数据源的桥梁。使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,并使对DataSet中数据的更改与数据源保持一致。三、ADO.NET命名空间1、System.Data命名空间是ADO.NET技术的核心,提供ADO.NET编程模型内的数据访问的基本功能。包含DataSet、DataTable、DataRow等类。2、System.Data.Common命名空间包含由.NETFramwork数据提供程序共享的类。DataAdapter3、System.Data.OleDb命名空间是第一个被加入到.NETFramwork中的为数据访问提供程序的命名空间。OLEDB.NETFramework数据提供程序类位于System.Data.OleDb命名空间。在应用程序中包含System.Data.OleDb命名空间,即usingSystem.Data.OleDb4、System.Data.SqlClient命名空间SqlClient提供程序是完全为访问SQLServer数据库而设计的,具有4个重要的类:SqlConnection、SqlCommand、SqlDataAdapter和SqlDataReaderSQLServer.NETFramework数据提供程序类位于System.Data.SqlClient命令空间中。在应用程序中应包含System.Data.SqlClient命令空间,即UsingSystem.Data.SqlClient;5、System.Data.SqlTyes命名空间主要包含映射到SQLServer数据库内部数据类型的结构。任务二ADO.NET对象1、存在两种.NETFramework数据提供程序,它们包含的对象名称不一样,即Connection、Command、Datareader和DataAdapter对象分别存在两个版本。(1)SQLServer.NETFramework数据提供程序:对象名称以Sql为前缀(例SqlConnection对象);(2)OLEDB.NETFramework数据提供程序:对象名称以OleDb为前缀(例OleDbConnection对象)。任务描述:对数据的操作主要依靠五个对象的使用。2、ADO.NET常用对象包括:(1)Connection:连接到数据源;(2)Command:对数据源执行命令并从数据源返回数据;(3)DataReader:提供给程序读取数据的接口;(4)DataAdapter:提供连接DataSet对象和数据源的桥梁;(5)DataSet:提供给程序及GridView访问数据的接口。3、使用ADO.NET访问数据库两种常用的途径:(1)Connection---Command---DataReader---Response.Write直接与数据库连接,使用Command对象访问数据库,使用DataReader对象读取数据库,利用Response.Write显示数据。优点:不占用额外的内存,读取数据的速度较快;缺点:所需编写的程序代码比较长。(2)Connection---DataAdapter---DataSet---GridView(数据控件)将数据缓存DataSet中,即使用DataAdapter对象访问数据库,通过配合DataSet对象所提供的接口,利用GridView(数据控件)对象直接显示数据。优点:编写的程序代码比较少;缺点:占用额外的内存,读取数据的速度相对于前一种方式较慢。SQLServer内容复习:任务2_1:打开SQLServer创建一个数据库,名称为:学号的后三位,例如:“101”保存位置:所建站点根目录下的App_Data文件夹下复习知识:1、SQLServer服务的启动(MSSQLSERVER或SQLEXPRESS)2、SQLServer身份验证Windows身份验证3、数据库的创建4、数据库的分离、附加任务2_2:创建一个网页文件,利用Connection对象进行数据库连接,如何连接成功后,显示“数据库连接成功!”,如果连接不成功,则显示“数据库连接失败!”,效果如下图所示:注:使用信任连接和非信任连接两种情况分别尝试知识点——SqlConnection对象一、Connection对象1、作用:主要处理对数据库的连接和管理数据库事务,是操作数据库的基础。2、连接数据库(1)实现与SQLServer数据库的非信任连接例:连接myWebDB数据库①在文件的头部,添加要用到的命名空间:usingSystem.Data.SqlClient;②在页面的Page_Load事件处理程序中添加:stringconnstr=server=.;uid=sa;pwd=123;database=myWebDB;SqlConnectionmyConnection=newSqlConnection(connstr);(2)实现与SQLServer数据库的信任连接①在文件的头部,添加要用到的命名空间:usingSystem.Data.SqlClient;②在页面的Page_Load事件处理程序中添加:stringconnstr=server=.;integratedsecurity=true;database=myWebDB;SqlConnectionmyConnection=newSqlConnection(connstr);注:非信任连接只能在混合模式下使用;信任连接在Windows身份验证模式或混合模式两种模式下都可使用。1、作用:动态地响应客户端的请求,并将动态生成的响应结果返回给客户浏览器。即将信息从服务器端输出到客户端时使用。2、Write():将字符串以HTML的格式送到客户端显示。语法如下:Response.Write(字符串)其中字符串可以为常量,也可为变量。例:Response.Write(“测试我的文件!”);Response对象NET的错误处理结构分三个部分:(1)Try(尝试):Try块是代码的主要部分。它是该结构其他部分的基础。(2)Catch(捕捉):只有当错误发生在try块里的时候,这一块里的代码才会被执行。Catch块可以处理所有的或者只处理特定的错误。此外,多个catch块也能够被用来处理多个异常类型。(3)Finally(最后):这一块里的代码每次都会执行而不管是什么错误。从本质上讲,这个结构会说:尝试(运行)这段代码,捕捉这一部分里的任何错误,最后,总是执行这段代码。3、SqlConnection对象的常用属性与方法(1)属性ConnectionString:获取或设置用户打开SQLServe数据库的字符串;DataBase:获取或设置当前数据库或连接打开后要使用的数据库名称;DataSource:获取要连接SQLServer数据库所在的服务器;State:获取或设置连接的当前状态;ServerVersion:获取数据库的版本信息;ConnectionTimeout:获取或设置在尝试建立连接时的超时时间,int类型,单位为秒,默认值为15秒;WorkstationId:获取当前数据库所在的工作站名。(2)方法Open:打开数据库连接;Close:关闭与数据库的连接;ChangeDatabase:改变当前连接的数据库,需要一个有效的数据库名称。任务2_3:在任务2_2的基础上,显示所连数据库的相关信息,效果如下图所示:任务2_4:更换所连接的数据库,效果如下图所示:思考:1、按照前面所学的连接数据库的设置,如果网站中多个页面均连接数据库,如何进行操作?2、当连接数据库的相关信息发生改变时,例如,数据库所在的服务器发生变化,连接的数据库的名称当生改变时,应该如何操作?任务2_5:数据库的连接设置方法一:将数据库连接的相关信息放在网站的Web.config文件中,网页中需要使用时从Web.config文件中的调用;方法二:在网站下创建一个公共类,将数据库连接信息放到公共类中;方法三:将方法一和方法二结合,即将数据库连接的相关信息放在网站的Web.config文件中,再将调用信息放到公共类中。二、Command对象1、使用ADO.NET访问数据库的途径一:Connection---Command---DataReader---Response.Write2、途径一的工作流程:(1)使用Connection对象连接数据库;(2)创建访问数据表的Command对象;(3)使用DataReader对象读取数据表中的数据,输出并显示数据;(4)断开和数据库的连接。3、作用:对数据源执行命令并从数据源返回结果。4、使用方法:string变量名称=“SQL语句”;SqlCommand对象名称=newSqlCommand(变量名称,数据库连接);4、创建了Command对象之后就可以使用它的一系列Excute方法来完成命令的执行:(1)如果希望返回数据流,则可以使用ExcuteReader方法来返回一个DataReader对象;(2)如果希望返回单个值,则使用ExecuteScalar方法;(3)如果没有返回值,则使用ExecuteNoneQuery方法。任务2_6:创建或打开之前所做的注册页面,让其与数据库进行连接,实现注册功能及检查用户名功能。1、在SQLServer创建一个数据库,名称为:学号的后两三位,例如:“101”保存位置:所建站点根目录下的App_Data文件夹下2、创建如下页面实现功能:(1)在数据库创建相应的数据表;(2)实现检查用户名是否可用的功能,进行相应的提示;(3)如可用,单击“下一步”进入注册页面。3、当用户可用时,转到如下页面:实现功能:与数据库创建连接,实现注册功能。注:注册信息可自定。所需内置对象的知识:1、Response对象的Redirect(
本文标题:NET控件
链接地址:https://www.777doc.com/doc-2889579 .html