第7章ADONET2.ppt
《第7章ADONET2.ppt》由会员分享,可在线阅读,更多相关《第7章ADONET2.ppt(38页珍藏版)》请在三一办公上搜索。
1、7.4 Connection类-连接数据库,Connection类提供用于连接到数据库和管理对数据库的事务。通过Connection类可完成:建立数据源连接查看数据源连接状态断开数据源连接创建关联的Command对象控制事务处理,7.4.1 Connection类简介,ADO.NET的连接方式 ADO.NET提供了4种连接方式来连接不同的数据源:System.Data.OleDb.OleDbConnection连接到OLE DB数据源,以及Microsoft SQL Server 6.x版或较早版本。System.Data.SqlClient.SqlConnection连接到Microsoft
2、 SQL Server 7.0版或更高版本。System.Data.Odbc.OdbcConnection连接到ODBC数据源。System.Data.OracleClient.OracleConnection连接到Oracle数据源。,7.4.1 Connection类简介,Connection类的属性和方法(1)连接字符串ConnectionString:用于获取或设置打开数据库的字符串,直接决定着数据源能否连接成功,该字符串中的参数包括:Provider:连接提供程序的名称 Server(Data Source):要连接的数据库服务器名或数据库文件名 Database(Initial C
3、atalog):要连接的数据库名称 Uid(User ID):登录数据源的用户帐号 Pwd(Password):登录数据源的用户密码 Encrypt:指定是否对数据进行加密,当取值为true时,则将对所有在客户端和服务器之间传送的数据使用SSL加密,取值为false时不加密。,Integrated Security(Trusted_Connection):指定是否使用继承的安全验证,取值为false时,将在连接字符串中设定Uid和Pwd;取值为true时,将使用当前的Windows帐户进行身份验证。Persist Security Info:指定是否对连接中安全敏感信息(如密码)进行保留和返回
4、,取值为false时,如果连接是打开的或者一直处于打开状态,安全敏感信息将不会作为连接的一部分返回,重置连接字符串将重置包括密码在内的所有连接字符串值。建议使用false取值。(2)连接时限Connect Timeout:确定数据源连接所能持续的最长时间,以秒为单位,默认值为15秒。可以防止数据源连接过程中的无限制等待,若连接网络环境下的数据源或机器处理速度较慢,可将该属性调大,防止数据源连接超时的问题。,(3)连接状态State:连接的当前状态,取值有:adStateClosed:Connection对象是关闭的(默认值)adStateConnecting:正在连接数据源的状态。adStat
5、eExecuting:Connection或Command对象的Execute方法已被调用 adStateFetching:返回行(row)到Recordset对象 adStateOpen:表明Connection对象是打开的(活动的)(4)打开连接Open():打开由ConnectionString属性指定的数据源连接(5)关闭连接Close():关闭与数据源的连接,同时该Connection对象失效,Connection类的使用 Connection类连接到数据源的一般过程如下:,SqlConnection conn=new SqlConnection对象();/创建Connection对
6、象conn.ConnectionString=“参数”;/设置ConnectionString连接字符串属性conn.Open();/用Open方法打开数据源连接/对数据库的操作和数据处理代码部分conn.Close();/用Close方法关闭数据源连接,SqlConnection conn=new SqlConnection对象(“参数”);/创建Connection,/参数为ConnectionString连接字符串属性conn.Open();/用Open方法打开数据源连接/对数据库的操作和数据处理代码部分conn.Close();/用Close方法关闭数据源连接,重载构造函数,7.4.2
7、 用SqlConnection连接到SQL Sever数据源,在直接使用SqlConnection类之前,应该使用using指令导入命名空间System.Data.SqlClinet 应已掌握了如下几类信息:服务器、实例和数据库名称 安全信息用户ID和密码,检查SQL Server是使用Windows身份验证还是SQL Server身份验证。数据库模式获得表和字段名、自动生成或锁定的字段、相关性以及约束的确切拼写,注意对象名称中的下划线和空格。测试SQL语句(可选)对于有怀疑的SQL语句语法或者逻辑,测试语句的有效方法是使用诸如SQL的Query Analyzer查询分析器,而不是在这些语句第
8、一次出现在ASPX页面上时才测试。,try/可能会出现异常的代码 SqlConnection sqlCon=new SqlConnection();/创建连接对象 sqlCon.ConnectionString=“Data Source=CHINA-F42FC5492;Database=SchoolDb;Uid=sa;Pwd=123”;/设置连接字符串 sqlCon.Open();/打开连接 Response.Write(SchoolDb数据库成功打开);/显示成功连接消息 sqlCon.Close();/关闭连接 catch(SqlException err)/捕获连接过程中的异常 Resp
9、onse.Write(err.Message);/显示异常信息,7.4.4 关闭数据库连接,完成数据库操作后应及时关闭,使连接被回收到连接池中。缺少该关闭语句:页面的语法和执行都没有影响,甚至于某些情况下会自动关闭连接,但可能会造成数据库连接资源的浪费,甚至会出现连接不能返回到连接池的问题,使得可用的连接资源越来越少,影响系统的运行和响应速度。关闭数据源的方法:Connection类的Close或Dispose方法,关闭连接的同时该Connection对象失效。显式关闭连接:可以更高效地使用本机资源,增强可伸缩性并提高应用程序的总体性能。需要养成良好的习惯,对象在使用之前要创建,使用之后要及时
10、撤销,释放所占用的资源,并可以实现名称的重用。,连接池,数据提供程序,.NET 数据提供程序的四个核心对象,7.5 Command类-执行数据库操作,ADO.NET提供两种操作数据库的方法:(1)直接对数据库进行操作 使用Command对象直接与数据源通信,并执行数据操作命令(执行SELECT、INSERT、UPDATE或DELETE之类的SQL语句,调用存储过程或从特定表中取得记录),完成数据库的操作和处理,若该命令返回结果(一组记录),则可使用数据读取器对象获取数据。(2)使用DataSet间接对数据库进行操作 先在内存中创建要使用记录的存储区(DataSet),再用DataAdapter
11、将要操作的数据记录加载到DataSet以操作数据,并可使用DataAdapter将数据的更新写回到数据库。,7.5.1 创建SqlCommand对象,(1)四类Command对象 SqlCommand OleDbCommand OdbcCommand OracleCommand(2)SqlCommand的属性 CommandText:获取或设置要对数据源执行的 SQL 语句、存储过程或表(与CommandType属性配合使用),返回类型为string CommandType:属性值默认为Text(SQL语句)、StoredProcedur(存储过程调用)与TableDirect(要读取的表),
12、CommandTimeOut:获取或设置在终止执行命令的尝试并生成错误之前的等待时间,其返回类型为int。Connection:获取或设置SqlCommand实例使用的 SqlConnection对象,其返回类型为string。Parameters:取得提供给命令的参数(采用参数命令时有效),其返回类型为SqlParameterCollection。,(3)SqlCommand的方法ExecuteNonQuery():执行不返回结果集的SQL语句,返回类型为int,代表该命令影响的记录行数 ExecuteReader():执行有返回结果的数据操作,返回含有SqlDataReader的结果集Ex
13、ecuteScalar():执行返回单值的SELECT语句ExecuteXmlReader():执行返回XML数据的SELECT语句,返回类型为包括有结果集的XmlReader,只适用于SqlCommand类Cancel():取消命令的执行,返回类型为voidCreateParameter():创建SqlParameter对象的实例,返回类型为SqlParameter,(4)SqlCommand对象的生成SqlCommand的构造函数SqlConnection的CreateCommand()用构造函数生成SqlCommand对象 SqlCommand()SqlCommand(string Co
14、mmandText)SqlCommand(string CommandText,SqlConnection sqlCon),使用SqlCommand对象之前,首先要确定与之关联的连接信息和命令信息,7.5.1 创建SqlCommand对象,调用SqlConnection对象的CreateCommand方法生成SqlCommand对象SqlConnection sqlCon=new SqlConnection(“连接字符串);sqlCon.CreateCommand();/此方法返回新的SqlCommand对象,7.5.2 7 ExecuteReader方法,ExecuteReader():返回
15、值是包含有操作结果记录集的DataReader对象,常用于Select语句等有返回结果的操作命令。【例】使用ExecuteReader方法执行数据库查询 创建SqlConnection对象和 SqlCommand对象,执行 SqlComand对象的ExecuteReader 方法,以表格的样式显示 返回的结果记录集。,/创建Connection对象,设置连接字符串,并打开连接SqlConnection sqlCon=new SqlConnection();sqlCon.ConnectionString=Data Source=CHINA-F42FC5492;Database=SchoolDb;
16、Uid=sa;Pwd=123;sqlCon.Open();/创建Command对象,设置连接和命令信息SqlCommand sqlCom=new SqlCommand();sqlCom.Connection=sqlCon;sqlCom.CommandText=select*from stuInfo;/执行SQL语句,并返回结果记录集到SqlDataReader对象SqlDataReader sqlDr=sqlCom.ExecuteReader();/以表格形式输出数据/先输出表头标记Response.Write(学号姓名性别年龄专业);/再输出刚查询到的数据结果,构建表格内容,while(sq
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ADONET2
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4748993.html