您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 第5课-数据库连接(connection类)
第五课:ADO.NETVB.NET自身并不具备对数据库进行操作的功能,它对数据库的处理是通过.NETFrameWorkSDK中面向数据库编程的类库和微软的MDAC(数据访问组件)来实现的。数据访问技术是任何实际应用程序的核心部分。ADO.NET是一个功能强大的数据接口程序。通过ADO.NET所提供的对象,再配合SQL语句就可以访问数据库内的数据,而且凡是ODBC或OLEDB接口访问的数据库(如Dbase、FoxPro、Excel、Access、SQLServer、Oracle等),也可以通过ADO.NET来访问。第一节:ADO.net的简介1.1.1、定义:ADO.NET的名称起源于ADO(ActiveXDataObjects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据。之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在NET编程环境中优先使用的数据访问接口。1.1.2、ADO.NET:在创建数据库后,需要通过ADO.NET将数据库连接到VB.NET应用程序中。如图所示为ADO.NET连接数据库与应用程序的过程模拟图。ADO.NET模型中包含了能够有效地管理数据的组件类。ADO.NET的根命名空间是System.Data,ADO.NET的主要组件是数据连接、数据适配器和数据集,它们包含了对数据库进行操作的大部第二节:ADO.net的构成ADO.NET3.0用于访问和操作数据的两个主要组件是.NETFramework数据提供程序和DataSet。(1).NETFramework数据提供程序是专门为数据操作以及快速、只读访问数据而设计的组件。Connection对象提供到数据源的连接。使用Command对象可以访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。DataReader可从数据源提供高性能的数据流。最后,DataAdapter在DataSet对象和数据源之间起到桥梁作用。DataAdapter使用Command对象在数据源中执行SQL命令以向DataSet中加载数据,并将对DataSet中数据的更改协调回数据源。(2)DataSet:ado.netDataSet的设计已明确指出它可独立于任何资料来源外而存取资料。因此,它可与多个不同的资料里来源搭配使用、与XML资料搭配使用,或用于管理应用程序的本机资料。DataSet包含一或多个由资料列和资料行所组成的DataTable物件集合,以及DataTable物件中的主索引键、外部索引键、条件约束(Constraint)及资料的相关资讯。Ado.net的类库:1.2.1Connection类和数据库交互,必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。1.2.2DataAdapter类通过连接对象连接到数据源后,就可以通过连接来创建数据适配器处理数据。数据适配器负责维护与数据源的连接。此对象在对象下达指令后,将取得的数据放入DataSet对象中。因此它主要是在数据库与DataSet对象之间传递数据。默认情况下,应用程序与数据源之间并不保持活动连接,与数据源之间的连接是断开的,只有在需要时,才通过数据适配器连接到数据源,这使得系统资源的开销大大减少,尤其适用于进行网络数据库程序设计。1.2.3DataReader类许多数据操作要求开发人员只是读取一串数据。DataReader对象允许开发人员获得从Command对象的SELECT语句得到的结果。考虑性能的因素,从DataReader返回的数据都是快速的且只是“向前”的数据流。这意味着开发人员只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是如果开发人员需要操作数据,更好的办法是使用DataSet。1.2.4DataSet类有了数据适配器后,就可以使用数据适配器生成相应的数据集(DataSet)对象,对数据的操作主要由数据集完成。数据集是ADO.NET模型的核心构件,位于System.Data.DataSet命名空间中,由数据库及其关系构成,它代表了一个数据“缓存”,即在程序中为数据所分配的内存空间,它模拟了关系数据库的结构。每个DataSet都可以包含多个DataTable对象,每个DataTable都包含来自某个数据源的数据。DataSet在程序设计中有一个很大的优点,它在程序运行中是“断开”的,也就是说,程序在处理DataSet中的数据时,无需建立与数据库的持久连接,只有在填充数据和保存对数据的修改时才需要与数据源相连接。在其他时间处理数据时,不需要保持与数据源的连接,极大地节省了系统开销。1.2.5DataTable类DataTable是一个数据网格控件。它可以被应用在VB和ASP上。它无须代码就可以简单的绑定数据库。它具有微软风格的用户界面。1.2.6Command对象成功与数据建立连接后,就可以用Command对象来执行查询、修改、插入、删除等命令;Command对象常用的方法有ExecuteReader()方法、ExecuteScalar()方法和ExecuteNonQuery()方法;插入数据可用ExecuteNonQuery()方法来执行插入命令。第三节数据连接(connection类属性和方法)创建一个到达某个数据源的开放连接。通过此连接可以对一个数据库进行访问和操作。1.3.1属性:(1)ConnectionString属性:可设置或返回用于建立到数据源的连接的信息.语法:con1.ConnectionString=para1=value;para2=value;基本属性:Provider:提供数据库程序的类型;DataSource:数据源的位置举例:con1.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=tu.mdb(2)stateState属性可返回一个值,该值描述对象当前状态是打开、关闭、正在连接、正在执行还是正在检索数据。state值为0,意味着未连接数据库;1代表链接数据库成功。ifconn.state=1thenmsgbox(连接数据库成功)conn.closesetconn=nothing‘释放内存endif属性描述ConnectionString设定连接数据源的信息,包括FlieName、Password、Userld、DataSource、Provider等参数。Provider设置连接的数据提供者(数据库管理程序)State读取当前链接对象的状态,取0表示关闭,1表示打开。图ADO.NET连接数据库与应用程序的过程模拟图1.3.2方法;(1)open方法:可打开一个到数据源的连接。当连接打开时,您可以对数据源执行命令。语法:connection.Openconnectionstring,userID,password,optionsconn.open()(2)close方法:关闭Connection对象、Record对象、Recordset对象或者Stream对象,以释放系统资源。注释:关闭对象不会将其从内存中删除;随后可以更改其属性设置并再次将其打开。要从内存中彻底清除对象,请在关闭对象后将对象变量设置为Nothing第四节使用Connection访问数据库(详细步骤,参见示例1)第一部分:准备工作:第一步:项目——添加windows窗体,“解决方案资源管理器”中多了一个form3.vb窗体。打开属性窗体(1)topmost:false(2)text:“数据库连接测试”第二步:双击“数据库连接测试”进入代码输入窗体:form3.show第三步:在form3添加一个按钮“连接测试”.双击“命令按钮”进入代码窗口。1.4.1、访问数据的第一步就是要连接到数据库:无论连接到哪一种关系数据库,都必须用Imports将相关的数据提供者的命名空间导入,否则会产生错误,举例来说:(课本书中P109)(1)要连接到SQLServer:Importssystem.data.sqlclient(2)要连接到Access:ImportsSystem.Data.OleDb1.4.2、因为要与access数据库连接,因此声明一个oledbconnection对象Dimoledb1(变量名)AsNewOleDb.OleDbConnection1.4.3、创建数据连接oledb1.ConnectionString=Provider=Microsoft.Jet.Oledb.4.0;DataSource=tu.mdb1.4.4使用open打开数据库的连接oledb1.Open()1.4.5执行相关的数据库操作在此省略……,后面知识讲解完成后介绍使用1.4.6关闭数据库,释放内存空间oledb1.close()1.4.7全部代码(运行程序前,先要程序全部保存后,将Tu数据库,放在本程序文件夹\bin\Debug)ImportsSystem.Data.OleDb‘Imports将相关的数据提供者的命名空间导入,否则会产生错误PublicClassForm3Dimoledb1AsNewOleDb.OleDbConnection‘打开数据库的连接PrivateSubForm3_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Loadoledb1.ConnectionString=Provider=Microsoft.Jet.Oledb.4.0;DataSource=tu.mdboledb1.Open()IfConnectionState.OpenThen‘如果已经打开了Msgbox(“数据库已经打开了”)‘进行数据库的相关操作oledb1.Close()‘关闭数据库oledb1=nothing‘释放内存EndIfEndSubEndClass
本文标题:第5课-数据库连接(connection类)
链接地址:https://www.777doc.com/doc-2196921 .html