使用ADO-NET访问数据库.ppt
《使用ADO-NET访问数据库.ppt》由会员分享,可在线阅读,更多相关《使用ADO-NET访问数据库.ppt(77页珍藏版)》请在三一办公上搜索。
1、1,第9章 使用ADO.NET访问数据库,本章讲述的主要内容9.1 ADO.NET和数据库通用接口9.2 数据库连接对象(Connection)9.3 数据库命令对象(Command)9.4 数据读取对象(DataReader)9.5 数据适配器对象(DataAdapter),2,9.1 ADO.NET和数据库通用接口,9.1.1 ADO.NET概述 ADO.NET是对ADO的一个跨时代的改进,它们之间有很大的差别。ADO.NET可通过DateSet对象在“断开连接模式”下访问数据库。访问数据库中的数据时,首先要建立连接,下载数据到本地缓冲区,之后断开与数据库的连接。此时用户对数据的操作(查询
2、、添加、修改、删除等)都是在本地进行的。只有需要更新数据库中的数据时,才再次与数据库连接,在发送修改后的数据到数据库后关闭连接。,3,9.1 ADO.NET和数据库通用接口,应用程序访问数据库的传统方式,9.1.2 数据库通用接口,4,9.1 ADO.NET和数据库通用接口,9.1.2 数据库通用接口 美国微软公司提供的数据库通用接口程序,经过了ODBCOLEDBADOADO.NET几个发展阶段。1.ODBC通用数据库接口ODBC(Open Database Connectivity,开放数据库连接)开放数据库连接ODBC是Microsoft倡导的数据库服务器连接标准,它向访问各种Web数据库
3、的应用程序提供了一种通用的接口。在此标准支持下,一个应用程序可以通过一组通用的代码实现对各种不同数据库系统的访问。因为通过ODBC访问数据库的方式是基于SQL的,所以各种应用程序均可透过各种数据库所对应的ODBC驱动程序实现利用SQL语言对不同数据库系统的访问。,5,透过ODBC访问数据库的方式,6,2.ADO通用数据库接口 ADO(ActiveX Data Object)是ASP内置的、用于访问Web数据库的ActiveX服务器组件,包含多种对象和集合。ADO组件对象被包含在ASP脚本程序中,用来完成与数据库的连接,并可使用SQL语言对数据库进行各种操作。ADO将绝大部分的数据库操作功能封装
4、在7个对象及有关的数据集合之中,通过在ASP脚本程序中调用这些对象和数据集合来执行相应的数据库操作。,7,8,9.1 ADO.NET和数据库通用接口,9.1.3 ADO.NET的数据模型 ADO.NET采用了层次管理的结构模型,各部分之间的逻辑关系如下图所示。,9,9.1.4 ADO.NET中的常用对象,10,ADONET对象模型由以下几个核心组件组成。Connections 连接和管理数据库事务。Commands 向数据库发送的命令。DataReaders直接读取流数据。Datasets 和 DataAdapters 对缓存中的数据进行存储和操作。Connection对象建立与数据库间的连接
5、中;Commands对象向数据库提供者发出命令,返回的结果以一种流的方式贯穿于这此连接中;结果集可以用DataReaders 快速地读取,也可以通过DataAdapters 对象将数据储存到缓存中的 Datasets 对象中,让用户在数据集中访问和操作记录。,11,对SQL数据库而言,连接模式访问数据库的开发流程有以下几个步骤:创建SqlConnection对象与数据库建立连接;创建SqlCommand对象对数据库执行SQL命令或存储过程,包括增、删、改及查询数据库等命令;如果查询数据库的数据,则创建SqlDataReader对象读取SqlCommand命令查询到的结果集,并将查到的结果集绑定
6、到控件上。,12,9.2 数据库连接对象(Connection),9.2.1 Connection对象概述 Connection类提供了对数据源连接的封装。类中包括连接方法及描述当前连接状态的属性。在Connection类中最重要的属性是ConnectionString(连接字符串),该属性用来指定数据库服务器名称、数据源信息及其他登录信息。ConnectionString中有两个重要的重要的部分:字符串内容数据提供程序名称。字符串内容中包含有“DataSource”(数据源)、“Initial Catalog”(默认连接数据库)及用于描述用户身份的“User ID”和“Password”。,
7、13,在ADO.NET中,连接数据源有4种数据提供程序。如果要在应用程序中使用任何一种数据提供程序,必须在后台代码中引用对应的命名空间,类的名称也随之变化。,14,9.2 数据库连接对象(Connection),9.2.2 创建Connection对象SQL数据库的Connection对象:SqlConnection 连接对象名=new SqlConnection(连接字符串);或:SqlConnection 连接对象名=new SqlConnection();连接对象名.ConnectionString=连接字符串;Access数据库的Connection对象OleDbConnection
8、连接对象名=new OleDbConnection();连接对象名.ConnectionString=连接字符串;,15,9.2 数据库连接对象(Connection),9.2.3 Connection对象的属性和方法1.Connection对象的属性,16,9.2 数据库连接对象(Connection),9.2.3 Connection对象的属性和方法2.Connection对象的方法,17,Open方法Connection对象的打开操作,任何一个数据库在完成连接之后,即在访问之前都要先进行打开操作。打开操作使用Connection对象有关方法来完成,即Open方法,其格式为:Connect
9、ion对象名.Open();Close方法同样道理,在连接使用完成之后,还需要关闭数据连接。关闭操作使用Connection对象的有关方法来完成.即Close方法,其格式为:Connection对象名.Close();,2023年10月9日,计算机应用技术系教师专用(ASP.NET程序设计),18,2023年10月9日,计算机应用技术系教师专用(ASP.NET程序设计),19,CreateCommand方法CreateCommand方法创建并返回一个与该连接关联的SqlCommand对象,其格式为:Connection对象名.CreateCommand();例如:SqlCommand cmd=
10、conn.CreatCommand();,2023年10月9日,计算机应用技术系教师专用(ASP.NET程序设计),20,9.2 数据库连接对象(Connection),9.2.4 数据库的连接字符串1.连接字符串中的常用属性,21,ConnectionString属性通常包含以下参数,各参数间用“;”分隔。Provider:用于设置数据源的OLE DB驱动程序。如:Access为“Microsoft.Jet.OLEDB.4.0”;SQL Server 6.5或之前版本为“SQLOLEDB”。Data Source:设置数据源的实际路径。Password:设置登录数据库所使用的密码。User
11、ID:设置登录数据库时所使用的帐号。例如,连接Access数据库的的连接参数为:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:abc.mdb,9.2 数据库连接对象(Connection),9.2.4 数据库的连接字符串1.连接字符串中的常用属性,22,对于SQL7.0或更高版本的SQL数据库,ConnectionString属性包含的主要参数有:,Data Source或Server:设置需连接的数据库服务器名称。Initial Catalog或Database:设置连接的数据库名称。AttachDBFilename:设置附加数据库的路径和文件
12、名。User ID 或 uid:登录SQL Server数据库的账户。Password 或 pwd:登录SQL Server数据库的密码。Integrated Security或Trusted_Connection:是否使用Windows集成身份验证,值有三种:true、false和SSPI,true和SSPI表示使用Windows集成身份验证。Connection Timeout:设置SqlConnection对象连接SQL数据库服务器的超时时间,单位为秒,若在所设置的时间内无法连接数据库,则返回失败信息。默认为15秒。,23,9.2 数据库连接对象(Connection),9.2.4 数据
13、库的连接字符串2.连接到SQL Server的连接字符串 通过SqlConnection对象的ConnectionString属性,设置或获取连接字符串,连接Microsoft SQL Server 7.0或更高版本。连接数据库时,有两种验证模式:标准安全连接信任连接(Windows集成验证模式)标准安全连接,语法格式为:Data Source=服务器名或IP;Initial Catalog=数据库名;User ID=用户名;Password=密码或者“Server=服务器名或IP;AttachDbFilename=数据库文件名;Uid=用户名;Pwd=密码;Trusted_Connectio
14、n=False,24,例如:Data Source=localhost;Initial Catalog=northwind;User Id=sa;pwd=123Data Source=localhost或(local)表示连接本机SQL数据库的默认服务器。Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|company_Data.mdf;User ID=sa;Password=123;Data Source=.SQLEXPRESS表示SQL Server 2005的SQLEXPRESS数据库服务器;AttachDbFilename表
15、示数据库的路径和文件名。|DataDirectory|表示网站默认数据库路径App_Data。标准安全必须在连接字符串中以明文形式保存用户名和密码,因此安全性较差。,25,信任连接(Windows集成验证模式)不发送用户名和密码;仅发送用户通过身份验证的信息。从安全角度考虑,建议使用Windows集成验证模式。使用Windows集成验证模式的连接参数为:Data Source=服务器名或IP;Initial Catalog=数据库名;Integrated Security=true;或:Data Source=服务器名或IP;AttachDbFilename=数据库文件名;Trusted_Co
16、nnection=SSPI;例如:Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|jxgl_Data.MDF;Integrated Security=True;User Instance=True;,26,如果将数据库放在网站的App_Data目录下。则创建的Student数据库的连接参数应设置为:Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|Student.mdf;Integrated Security=True;User Instance=True其中,|Dat
17、aDirectory|表示网站默认数据库路径App_Data。,27,9.2 数据库连接对象(Connection),9.2.4 数据库的连接字符串3.连接到OLE DB数据源的连接字符串 通过OleDbConnection对象的ConnectionString属性,设置或获取连接字符串,提供与OLE DB公开数据源的连接或SQL Server 6.x更早版本的连接。对于OLE DB数据提供程序,连接字符串格式中的Provider关键字是必需的,必须为OleDbConnection连接字符串指定提供程序名称。到Access数据库的连接字符串:Provider=Microsoft.Jet.OLE
18、DB.4.0;Data Source=数据库名;User ID=用户名;Password=密码Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Northwind.mdb;,28,SqlConnectionconn.ConnectionString=&_ Initial Catalog=Northwind,Connection 对象 SqlClient vs.OleDb,只能连接 Microsoft SQL Server效益最佳需引用 可以通过 OLE DB 连接不同的数据库应用范围广泛需引用 也可以连接 Microsoft
19、 SQL Server,29,9.2 数据库连接对象(Connection),9.2.4 数据库的连接字符串4.连接字符串的存放位置(1)把连接字符串写在程序中 要在许多页面中写入连接字符串,这时候如果需要改动连接字符串(比如换用户名和密码)的话,就得逐个修改。(2)把连接字符串放在web.config文件中,30,例如:在web.config配置文件的节中添加如下的代码。,31,web.config文件中有了连接字符串后,就可以使用类读取连接字符串。代码如下:连接字符串名.ToString();例如:string strCnn=ConfigurationManager.ConnectionS
20、tringsStudentCnnString.ToString();SqlConnection cnn=new SqlConnection(strCnn);为了使上述代码正常工作,必须引入命名空间:using System.Configuration,32,例9-1:创建并打开SQL Server数据库的连接,并在标签控件中显示当前数据库连接的状态,如图所示。,33,1.添加数据库文件,设计Web.config文件。找到并删除节,添加新的连接字符串。2.设计Web页面。,34,3.编写代码(1)添加SQL Server数据库命名空间的引用:using System.Data;using Sys
21、tem.Data.SqlClient;using System.Configuration;(2)声明连接字符串和Connection对象:string ConnStr=System.Configuration.ConfigurationManager.ConnectionStringsConnString.ToString();SqlConnection conn=new SqlConnection();(3)页面装入时执行的事件代码:protected void Page_Load(object sender,EventArgs e)conn.ConnectionString=ConnSt
22、r;Label1.Text=当前连接状态:+conn.State.ToString();,35,(4)“连接数据库”按钮的事件代码:protected void ButtonOpen_Click(object sender,EventArgs e)conn.Open();Label1.Text=当前连接状态:+conn.State.ToString();(5)“关闭连接”按钮的事件代码:protected void ButtonClose_Click(object sender,EventArgs e)conn.Close();Label1.Text=当前连接状态:+conn.State.To
23、String();,36,9.3 数据库命令对象(Command),9.3.1 创建Command对象1.使用构造函数创建Command对象 下面是使用构造函数创建SqlCommand对象,并通过该对象的构造函数参数来设置特定属性值,其语法格式如下:SqlCommand 命令对象名=new SqlCommand(查询字符串,连接对象名);例如:SqlCommand cmd=new SqlCommand(Select*From StudentInfo,conn);,37,9.3 数据库命令对象(Command),9.3.1 创建Command对象1.使用构造函数创建Command对象SqlCom
24、mand 命令对象名=new SqlCommand();命令对象名.Connection=连接对象名;命令对象名.CommandText=查询字符串;例如:SqlCommand cmd=new SqlCommand();cmd.Connection=conn;cmd.CommandText=Select*From StudentInfo;,38,9.3 数据库命令对象(Command),2.使用CreateCommand()方法创建Command对象使用Connection对象的CreateCommand()方法创建SqlCommand对象的语法格式:SqlCommand Command对象名
25、=Connection对象名.CreateCommand();Command对象名.CommandText=查询字符串;例如:SqlCommand cmd=conn.CreateCommand();cmd.CommandText=Select*From StudentInfo;,39,9.3 数据库命令对象(Command),例如:通过CommandText属性执行SQL语句:string ConnStr=ConfigurationManager.ConnectionStrings ConnString.ToString();SqlConnection conn=new SqlConnecti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 ADO NET 访问 数据库
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6241627.html