《Visual Basic .NET软件开发技术》课件第6章 ADO.NET_第1页
《Visual Basic .NET软件开发技术》课件第6章 ADO.NET_第2页
《Visual Basic .NET软件开发技术》课件第6章 ADO.NET_第3页
《Visual Basic .NET软件开发技术》课件第6章 ADO.NET_第4页
《Visual Basic .NET软件开发技术》课件第6章 ADO.NET_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二单元ADO.NET的特征ADO.NET是Microsoft公司定义的专门用于对数据库进行访问的模型,.NET应用程序使用它可以方便地实现对数据库数据的添加、删除、修改和查询(也称为检索)。ADO.NET对象模型从整体上,ADO.NET的结构如下图所示:

针对目前的数据库的种类,.NETFramework数据提供器支持两种类型的数据提供器:OLEDB数据提供器这种类型的数据提供器可以使用所有的OLEDB数据提供器,包括:SQLOLEDB提供器、OracleOLEDB提供器及JETOLEDB提供器;SQLServer数据提供器这个类型的数据提供器只能与MicrosoftSQLServer一起使用,若应用程序连接的后台数据库为SQLServer数据库,建议使用SQLServer数据提供器,这样可以充分发挥SQLServer数据库服务器的效能。第三单元使用ADO.NET模型连接数据库Connection连接组件应用程序使用Connection连接组件建立与一个数据源的连接。根据所连接的数据源的类型不同,有两种不同的连接对象,它们分别是OleDBConnection和SqlConnection,这两个对象分别用来连接OLEDB数据数据源和SQLServer数据源。Connection对象的常用属性和方法:连接字符串,指定用于连接数据源的各种信息:Provider=SQLOLEDB;指明了要连接的数据源类型;UserID=guest;指明了连接数据库所需要的用户名;;Password=guest;指明连接数据库的用户密码;InitialCatalog=MySchool;指明所连接的数据库的名称;dataSource=localhost指明数据库所在的计算机的地址,此处表示数据库与客户程序运行在同一台计算机上;举例:DimconnAsNewOleDb.OleDbConnection("Provider=UserID=guest;Password=guest;InitialCatalog=MySchool;dataSource=VIC")conn.Open()conn.Close()联机模式的数据存取在联机模式的存取模式下,应用程序会持续连接到数据库上。适用于数据要时时更新的开发环境上,并且数据是只读。联机模式下数据库存取的步骤一、首先创建一个Connection对象建立与数据源的连接;二、然后,创建一个Command对象来引用一个SQL语句或一个存储过程;三、执行SQL或存储过程,返回结果集或受影响的记录的行数;四、关闭连接。Command数据命令组件为了操作数据库中的数据,必须使用数据命令组件,所谓数据命令就是一个SQL语句、或用来检索、插入、删除及修改数据库中的数据的存储过程;根据所操作的数据源类型不同,数据命令也有两种类型:OleDbCommand和SqlCommand,它们分别用来操作OLEDB数据源和SQLServer数据源。

数据命令Command的常用属性和方法:DataReader数据读取器组件数据读取器DataReader用来以只读或只向前模式来从数据库中检索数据;使用数据读取器可以快速地访问数据并使用较少的内存,下表给出了数据读取器的常用属性和方法:

举例一:DimconnAsNewOleDb.OleDbConnection("Provider=UserID=guest;Password=guest;InitialCatalog=MySchool;dataSource=VIC")conn.Open()DimcommAsNewOleDb.OleDbCommand("select*fromDepartments",conn)

DimdrAsOleDb.OleDbDataReaderdr=comm.ExecuteReader()DoWhiledr.ReadMessageBox.Show("系编号是:"&dr.Item("系编号")&"——系名称是:"&dr.Item("系名称"))Loop

dr.Close()conn.Close()举例二:DimcommAsNewOleDb.OleDbCommand("selectcount(*)fromDepartments",conn)DimintCountAsInteger=0intCount=comm.ExecuteScalarMessageBox.Show("现有系数为:"&intCount)举例三:DimcommAsNewOleDb.OleDbCommand("updateDepartmentssET系名称='计算机系'where系编号='0001'",conn)DimintCountAsInteger=0intCount=comm.ExecuteNonQueryMessageBox.Show("更新已完成,更新的记录数为:"&intCount)脱机模式的数据存取脱机模式的数据存取是指应用程序并不一直保持到数据源的连接。举例:DimconnAsNewOleDb.OleDbConnection("Provider=SQLOLEDB;UserID=guest;Password=guest;InitialCatalog=MySchool;dataSource=VIC")conn.Open()DimcommAsNewOleDb.OleDbCommand("select*fromDepartments",conn)DimdaAsNewOleDb.OleDbDataAdapter(comm)DimdsAsNewDataSETds.Clear()da.Fill(ds,"Departments")DimdtAsNewDataTabledt=ds.Tables("Departments")ForiAsInteger=0Todt.Rows.Count-1MessageBox.Show("系编号是:"&dt.Rows(i)("系编号")&"——系名称是:"&dt.Rows(i)("系名称"))Nextconn.Close()DataAdapter数据适配器DataAdapter功能是根据一定的条件从数据库中检索数据并将检索得到的结果存放到一个数据集中,或当应用程序改变了数据集中的数据时,数据适配器将改变的结果回写到数据库中。与Connection组件类似,根据数据源的类型不同,有两种类型的数据适配器:OleDBDataAdapter与SqlDataAdapter,它们分别用来访问OLEDB数据源和SQLServer数据源。DataAdapter有如下表所示的几种构造函数:DataAdapter的常用属性和方法:DataSET数据集DataSET是一个从数据库中检索的无连接的、缓存的数据库记录的集合;可以说DataSET对象是一个存储在客户端内存中的数据库;DataSET有如下表所示的构造函数:一旦创建了DataAdapter对象和DataSET对象以后,接下来,就调用DataAdapter的Fill方法从数据库中获得数据并用获得的结果填充到数据集中;DataAdapter对象的Fill方法的常用形式如下表:DataTableDataTable是DataSET中的表格,DataTable中每一条记录是一个DataRow对象,DataTable中每一个字段是一个DataColumn对象;举例:DimconnAsNewOleDb.OleDbConnection("Provider=SQLOLEDB;UserID=guest;Password=guest;InitialCatalog=MySchool;dataSource=VIC")conn.Open()DimcommAsNewOleDb.OleDbCommand("select*fromDepartments",conn)DimdaAsNewOleDb.OleDbDataAdapter(comm)DimdsAsNewDataSETds.Clear()da.Fill(ds,"Departments")DimdtAsNewDataTabledt=ds.Tables("Departments")ForiAsInteger=0Todt.Rows.Count-1MessageBox.Show("系编号是:"&dt.Rows(i)("系编号")&"——系名称是:"&dt.Rows(i)("系名称"))Nextconn.Close()DataGrid控件,数据绑定及显示DataSET中的数据所谓“数据绑定”就是将把从数据库检索得到的数据与一个控件联系起来,从而可以将数据显示在控件上,DataGrid控件是显示有多行结果的最佳控件;dg.DataSource=ds指定要绑定到DataGrid控件的数据源。可以绑定到DataGrid控件的数据源可以是:DataTable对象DataView对象DataSET对象dgProvider.DataMember="Provider"根据在DataGrid的DataSource属性中设置的值的类型不同,在DataGrid的DataMember属性中可能还要设置相应的值,对于在DataSource中设置为DataTable和DataView而言,在DataMember属性中不用再设置值,而对于在DataSource中设置的是一个DataSET对象,则必须在DataMember中指定欲在DataGrid中显示的表的表名。举例DimcommAsNewOleDb.OleDbCommand("select*fromDepartments",conn)DimdaAsNewOleDb.OleDbDataAdapter(comm)DimdsAsNewDataSETds.Clear()da.Fill(ds,"Departments")

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论