《数据访问技术》PPT课件.ppt
《《数据访问技术》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据访问技术》PPT课件.ppt(76页珍藏版)》请在三一办公上搜索。
1、第8章 ADO.NET数据访问技术,内容,ADO.NET基础 连接模式数据库访问 断开模式数据库访问,8.1 ADO.NET基础,ADO.NET模型ADO.NET的组件 ADO.NET的数据访问模式,8.1.1 ADO.NET模型,8.1.2 ADO.NET的组件,数据集DataSet位于System.Data命名空间下,用于在内存中暂存数据,可以把它看成是内存中的小型数据库。DataSet包含一个或多个数据表(DataTable),表数据可来自数据库、文件或XML数据。DataSet一旦读取到数据库中的数据后,就在内存中建立数据库的副本,在此之后的所有操作都是在内存中的DataSet中完成,
2、直到执行更新命令为止。,在ADO.NET中,连接数据源有4种数据提供程序。如果要在应用程序中使用任何一种数据提供程序,必须在后台代码中引用对应的命名空间,类的名称也随之变化。,8.1.3 ADO.NET的数据访问模式,8.2 连接模式数据库访问,使用SqlConnection对象连接数据库 使用SqlCommand对象执行数据库命令 使用SqlDataReader读取数据 为SqlCommand传递参数 使用SqlCommand执行存储过程使用事务处理,连接模式访问数据库的开发流程有以下几个步骤:创建SqlConnection对象与数据库建立连接;创建SqlCommand对象对数据库执行SQL
3、命令或存储过程,包括增、删、改及查询数据库等命令;如果查询数据库的数据,则创建SqlDataReader对象读取SqlCommand命令查询到的结果集,并将查到的结果集绑定到控件上。,8.2.1 使用SqlConnection对象连接数据库,1示例数据库的创建 创建一个示例数据库Student,该数据库包含StuInfo、Major和UserInfo三张表,数据库表结构关系图。,【例8-1】演示如何在Visual Studio 2008开发环境下创建数据库。,参见示例第08章SqlServerDemoStudent.mdf,2创建数据库连接,操作数据库的第一步是建立与数据库的连接,因此首先要创
4、建SqlConnection对象。要创建SqlConnection对象必须先了解SqlConnection对象的常用属性和方法。,SqlConnection对象的常用属性,ConnectionString属性通常包含以下参数,各参数间用“;”分隔。Provider:用于设置数据源的OLE DB驱动程序。如:Access为“Microsoft.Jet.OLEDB.4.0”;SQL Server 6.5或之前版本为“SQLOLEDB”。Data Source:设置数据源的实际路径。Password:设置登录数据库所使用的密码。User ID:设置登录数据库时所使用的帐号。例如,连接Access数据
5、库的的连接参数为:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:abc.mdb,对于SQL7.0或更高版本的SQL数据库,ConnectionString属性包含的主要参数有:,Data Source或Server:设置需连接的数据库服务器名称。Initial Catalog或Database:设置连接的数据库名称。AttachDBFilename:数据库的路径和文件名。User ID 或 uid:登录SQL Server数据库的账户。Password 或 pwd:登录SQL Server数据库的密码。Integrated Security:是否
6、使用Windows集成身份验证,值有三种:true、false和SSPI,true和SSPI表示使用Windows集成身份验证。Connection Timeout:设置SqlConnection对象连接SQL数据库服务器的超时时间,单位为秒,若在所设置的时间内无法连接数据库,则返回失败信息。默认为15秒。,连接数据库时,有两种验证模式:混合验证模式Windows集成验证模式使用混合验证模式的连接参数为:Data Source=localhost;Initial Catalog=northwind;User Id=sa;pwd=123其中,Data Source=localhost表示连接本机
7、SQL数据库的默认服务器。使用Windows集成验证模式的连接参数为:Data Source=localhost;Initial Catalog=northwind;Integrated Security=true混合验证模式必须在连接字符串中以明文形式保存用户名和密码,因此安全性较差。Windows集成验证模式不发送用户名和密码;仅发送用户通过身份验证的信息。从安全角度考虑,建议使用Windows集成验证模式。,在本书的示例中,数据库都是放在网站的App_Data目录下。如例【8-1】中创建的Student数据库的连接参数应设置为:Data Source=.SQLEXPRESS;Attach
8、DbFilename=|DataDirectory|Student.mdf;Integrated Security=True;User Instance=True其中,Data Source=.SQLEXPRESS表示SQL Server2005的SQLEXPRESS数据库服务器,AttachDbFilename表示数据库的路径和文件名,|DataDirectory|表示网站默认数据库路径App_Data。,SqlConnection对象的常用方法,在创建数据库连接对象时,需要指定连接字符串。通常有以下2种方法获取连接字符串:创建连接对象,并在应用程序的中硬编码连接字符串。SqlConnect
9、ion 对象名称=new SqlConnection(连接字符串);或SqlConnection 对象名称=new SqlConnection();对象名称.ConnectionString=连接字符串;,把连接字符串放在应用程序的web.config文件中,再引用web.config文件。在web.config配置文件的节中添加如下的代码。,web.config文件中有了连接字符串后,就可以从web.config中读取连接字符串。需要使用类读取连接字符串。代码如下:,string strCnn=ConfigurationManager.ConnectionStringsStudentCnnS
10、tring.ConnectionString;/读取连接字符串SqlConnection cnn=new SqlConnection(strCnn);/定义连接对象为了使上述代码正常工作,必须使用using System.Configuration语句引入命名空间。,创建好SqlConnection连接对象后,并没有与数据库建立连接,要建立数据库连接,还必须使用cnn.Open()方法打开数据连接,然后才可以对数据库进行各种操作。操作完数据库后,一定要使用cnn.Close()方法关闭连接。.【例8-2】演示如何建立Student数据库的连接。,参见示例第08章SqlServerDemoCon
11、nectionDemo.aspx,8.2.2 使用SqlCommand对象执行数据库命令,成功连接数据库后,接着就可以使用SqlCommand对象对数据库进行各种操作,如读取、写入、修改和删除等操作。,SqlCommand对象的常用属性,建立SqlCommand对象的方法有4种:,SqlCommand 对象名=new SqlCommand();SqlCommand 对象名=new SqlCommand(SQL命令);SqlCommand 对象名=new SqlCommand(SQL命令,连接对象);SqlCommand 对象名=new SqlCommand(SQL命令,连接对象,事务对象);,
12、SqlCommand对象的常用方法,1.ExecuteNonQuery方法ExecuteNonQuery方法只能执行Insert、Update和Delete命令,因此可以增加、修改和删除数据库中的数据。增加、修改和删除数据库中的数据的步骤相同,具体描述如下:创建SqlConnection对象,设置连接字符串;创建SqlCommand对象,设置它的Connection和CommandText属性,分别表示数据库连接和需要执行的SQL命令。打开与数据库连接;使用SqlCommand对象的ExecuteNonQuery方法执行CommandText中的命令;并根据返回值判断是否对数据库操作成功。关闭
13、与数据库连接;,【例8-3】演示如何使用ExecuteNonQuery方法增加Student数据库中UserInfo表的用户信息。,参见示例第08章SqlServerDemoCommand_InsertDemo.aspx,【例8-4】演示如何使用ExecuteNonQuery方法修改Student数据库中UserInfo表的用户信息。,参见示例第08章SqlServerDemoCommand_UpdateDemo.aspx,【例8-5】演示如何使用ExecuteNonQuery方法删除Student数据库中UserInfo表的用户信息。,参见示例第08章SqlServerDemoCommand
14、_DeleteDemo.aspx,2.ExecuteScalar方法ExecuteScalar方法一般用来执行查询单值的Select命令,它以object类型返回结果表第一行第一列的值。对数据库操作时,具体步骤如下:创建SqlConnection对象,设置连接字符串;创建SqlCommand对象,设置它的Connection和CommandText属性;打开与数据库连接;使用SqlCommand对象的ExecuteScalar方法执行CommandText中的命令;并返回结果表第一行第一列的值供应用程序使用。关闭与数据库连接;,【例8-6】演示如何使用ExecuteScalar方法查询Stud
15、ent数据库中StuInfo表的学生人数。,参见示例第08章SqlServerDemoCommand_ExecuteScalar.aspx,8.2.3 使用SqlDataReader读取数据,SqlDataReader对象是一个向前只读的记录指针,用于快速读取数据。对于只需要顺序显示数据表中记录的应用而言,SqlDataReader对象是比较理想的选择。在读取数据时,它需要与数据源保持实时连接,以循环的方式读取结果集中的数据。这个对象不能直接实例化,而必须调用SqlCommand对象的ExecuteReader方法才能创建有效的SqlDataReader对象。SqlDataReader对象一旦
16、创建,即可通过对象的属性、方法访问数据源中的数据。,SqlDataReader对象的常用属性:FieldCount:获取由SqlDataReader得到的一行数据中的字段数。isClosed:获取SqlDataReader对象的状态。true表示关闭,false表示打开。HasRows:表示SqlDataReader是否包含数据。,SqlDataReader对象的常用方法:Close()方法:不带参数,无返回值,用来关闭SqlDataReader对象。Read()方法:让记录指针指向本结果集中的下一条记录,返回值是true或false。NextResult()方法:当返回多个结果集时,使用该方
17、法让记录指针指向下一个结果集。当调用该方法获得下一个结果集后,依然要用Read方法来遍历访问该结果集。GetValue(int i)方法:根据传入的列的索引值,返回当前记录行里指定列的值。由于事先无法预知返回列的数据类型,所以该方法使用Object类型来接收返回数据。GetValues(Object values)方法:该方法会把当前记录行里所有的数据保存到一个数组里。可以使用FieldCount属性来获知记录里字段的总数,据此定义接收返回值的数组长度。GetDataTypeName(int i)方法:通过输入列索引,获得该列的类型。GetName(int i)方法:通过输入列索引,获得该列的
18、名称。综合使用GetName和GetValue两方法,可以获得数据表里列名和列的字段。IsDBNull(int i)方法:判断指定索引号的列的值是否为空,返回True或False。,使用SqlDataReader对象查询数据库的一般步骤:创建SqlConnection对象,设置连接字符串;创建SqlCommand对象,设置它的Connection和CommandText属性,分别表示数据库连接和需要执行的SQL命令。打开与数据库连接;使用SqlCommand对象的ExecuteReader方法执行CommandText中的命令;并把返回的结果放在SqlDataReader对象中。通过循环,处理
19、数据库查询结果。关闭与数据库连接;,【例8-7】演示如何使用SqlDataReader对象读取StuInfo表的记录。,参见示例第08章SqlServerDemoDataReaderDemo.aspx,使用SqlDataReader对象时,应注意以下几点:读取数据时,SqlConnection对象必须处于打开状态。必须通过SqlCommand对象的ExecuteReader()方法,产生SqlDataReader对象的实例。只能按向下的顺序逐条读取记录,不能随机读取。且无法直接获知读取记录的总数。SqlDataReader对象管理的查询结果是只读的,不能修改。,在Visual Studio 2
20、008的Web应用程序中,提供了大量列表绑定控件,如DropDownList、ListBox和GridView控件等,可以直接将SqlDataReader对象绑定到这些控件来显示查询结果。与控件绑定时,主要设置控件的以下属性和方法:DataSource属性:设置控件的数据源,可以是SqlDataReader对象,也可以是DataSet对象。DataMember属性:当数据源为DataSet对象时,设置控件要显示的数据表名。DataTextField属性:对于绑定DropDownList、ListBox等控件时,设置显示数据的字段名称。DataValueField属性:对于绑定DropDownL
21、ist、ListBox等控件时,设置隐藏值的字段名称。DataBind方法:设置完控件的绑定属性后,调用该方法将数据绑定到控件上。,【例8-8】演示如何将SqlDataReder对象与DropDownList控件绑定。本示例主要在DropDownList控件中显示Major表的记录。,参见示例第08章SqlServerDemoDataReader_DataBind.aspx,8.2.4 为SqlCommand传递参数,【例8-9】演示如何创建一个登录页面。,参见示例第08章SqlServerDemoLogin.aspx,【例8-10】下面演示如何使用参数化的方法安全登录网站。,参见示例第08章
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据访问技术 数据 访问 技术 PPT 课件
链接地址:https://www.31ppt.com/p-5519697.html