16+ADO.NET数据访问技术.ppt_第1页
16+ADO.NET数据访问技术.ppt_第2页
16+ADO.NET数据访问技术.ppt_第3页
16+ADO.NET数据访问技术.ppt_第4页
16+ADO.NET数据访问技术.ppt_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

第16章ADO .NET数据访问技术是当前主流软件开发中信息管理或处理系统的主要方面,因此几乎所有平台都支持数据库访问技术.NET平台当然也不例外。ADO .NET表示.作为NET框架的重要组成部分,将各种形式的数据源连接到一个统一的访问方法。其中最常见的是关系数据库。ADO .NET以同样的方式访问本地数据库、客户机/服务器数据库和高度分布式的基于internet的数据库。在本章中。ADO,一种在NET开发技术中使用非常广泛的核心开发技术。讨论了NET数据访问技术。章节内容,16.1数据库开发使用默认16.2 的集成应用程序16.4示例:图书信息管理,16.1数据库开发基础,16.1.1SQLServer2005SQLServer是综合性数据解决方案,为企业用户提供安全、可靠和高效的企业数据管理和业务智能应用程序平台。使用SQLServer2005创建数据库,首先设置数据库,然后添加表结构,最后向表中添加列。最后,您可以直接为表格加入资料。16.1.2SQL语句简介,SQL全称是StructuredQueryLanguage,数据库使用的标准数据查询语言。目前,大多数广泛使用的关系数据库管理系统都采用SQL语言标准。您已重新开发和扩展了SQL语句,但几乎可以使用标准SQL命令(包括Select、Insert、Update、Delete、Create和Drop)执行所有数据库操作。Insert、Insert操作用于在数据库表中插入记录。Insert into table (column ,column) values (column value ,column value );以下语句用于在BookInfo表中插入记录行:insertion ntoobookminfovalues(97870040074949,数据库系统概述,萨摩斯,高等教育出版社,28.0,2000-2-1);Select、Select操作从一个或多个表中选择特定的行和列。SELECT语句是SQL中工作量最大的部分,因为数据查询和检索是数据库管理中最重要的功能。SELECT语句的结果通常是创建另一个表。selectcolumnsfromtablesorderebycolumnASC | descwhere predicates,以下语句查询BookInfo表的作者tan hawqiang的书:selectnamefrombookminfowhereauthor=tanhaqiang,UPDATE,UPDATE语句允许用户修改已知表中的现有行。例如,以下语句是单行更新:Updatebookcinfosetname=c语言编程(第3版)where ISBN=9787302108535,delete,delete语句用于删除已知表中的行。符合WHERE子句条件的所有行都将被删除,如UPDATE语句中所示。SQL没有UNDO语句,或者“是否确认删除?”这种警告在执行这篇文章时绝对要小心。例如,以下语句删除所有Tsinghua出版社的书的信息:deletefrombookminfowherepress=Tsinghua press,使用16.2 ,当前版本3.0,访问和操作数据的两个主要组件。NETFramework数据提供程序和DataSet。了解16.2.1数据提供程序和ADO .NET使用其他数据提供程序操作其他数据源数据提供程序。实际上,ADO .NET提供的封装类集。我们可以把这个数据提供者看作是我们程序和数据库之间的桥梁,我们的程序通过它与数据库进行交易。4个数据提供程序,SQLServer数据提供程序:为运行SQLServer数据库(SQLServer7.0和更高版本)提供全面支持。OLEDB数据提供程序:提供对支持OLEDB驱动程序的所有数据源的支持,并可以支持SQLServer7.0之前的版本。Oracle资料提供者:提供Oracle资料库(8i和更新的版本)作业的完整支援。ODBC数据提供程序:支持访问数据库和其他基于ODBC的数据源操作。必须根据您使用的命名空间和数据库系统选择相应的数据提供程序,并在代码中包括该命名空间。16.2.2数据库连接,ADO。在NET中使用Connection类完成数据库连接。只有建立连接后,才能添加、删除、修改和读取数据库表中的记录。数据库连接字符串,在建立数据库连接之前,必须提供连接字符串。连接字符串的格式是以分号为边界分割键/值参数对的列表。此字符串包含许多信息,如数据库的位置、要连接的数据库的名称以及数据库的身份验证方法。需要提供以下三种信息:数据库所在的服务器的位置(DataSource)。数据库的名称(InitialCatalog)。验证数据库的方法(Windows集成验证或SQLServer验证)。以下连接字符串用于连接到SQLServer数据库VBNET2008(由16.1.2节创建),它使用Windows集成身份验证:dimconnectionstringasstring= data source=localhost;InitialCatalog=VBNET2008IntegratedSecurity=SSPI,可以引用更多的数据库连接字符串。确定连接字符串后,将其传递给Connection类实例的ConnectionString属性,并调用其Open方法打开连接。以SqlConnection类为例。1 dimconnectionstringasstring= data source=server;InitialCatalog=VBNET2008IntegratedSecurity=SSPI2使用dimconnassqlconnection=new SQL connection()3d conn . connectionstring=cstring 4 conn . open()将连接字符串写入配置文件,如果是Windows表单应用程序,则首先配置在菜单栏中,单击“项目”“添加新项目”以打开“添加新项目-WindowsApplication1”窗口,然后在“常规”类别中选择“,将connectionStrings标记添加到app.configue文件中。代码如下:12 34567,可以使用配置文件中的连接字符串通过configuration manager . connection strings集合按名称剥离。要使用此集合,请首先使用System .添加对Configuration命名空间的引用。以下代码通过configuration manager . connection strings集合弹出了连接字符串:dimconnstringasstring=configuration manager . connection strings( my connection string )。connectionstring、ASP。如果是NET专案,则为Web。可以将数据库连接字符串写入Config文件。添加Connectionstring标签的方法类似于Windows表单应用程序中的app.config文件。如果需要使用连接字符串,可以通过webconfiguration manager . connection strings集合中的名称获取该字符串。要使用此集合,请在项目中使用System .必须添加对Configuration命名空间的引用。执行16.2.3数据库任务。在NET上执行数据库操作是通过Command类完成的。Command类是运行SQL语句和存储过程的类。这使您可以添加、删除、更新、查询数据等多种操作。使用、Command类之前,必须确定Command的类型、SqlCommand、OracleCommand或其他类型。标识Command类型后,必须将Connection指定给。您还必须指定CommandType和CommandText。这三条信息可以在创建Command对象时作为参数传递给Command的构造函数,也可以设置为属性。CommandText必须说明SQL语句可以是存储过程或数据表的名称。要使用其它类型的CommandText,必须设置相应的CommandType。3个不同的CommandType,如果需要执行SQL语句,则以下代码说明如何使用SqlCommand对象执行SQL查询语句,该对象通过设置属性指定所需的3条信息:1 dimcmdassqlcommand=new SQL command()2cmd . connection=con3d mand type=command type . text 4 mand text=dimcmdasmcommand=new SQL command( select * from bookcinfo ,con)在需要运行存储过程时,可以使用以下方法:DimcmdasmCommand=new SQL command( getbooks ,con) mand type=commandtype.stored procedure,迄今为止简单的command type . stored procedure要执行Command操作,必须调用其他方法来执行。有三种方法可用,这三种方法的主要区别在于返回值不同。三种执行方法ExecuteNonQuery():用于通过执行SELECT以外的命令(如INSERT、DELETE或UPDATE命令)返回受一个命令影响的数据行数。您也可以使用ExecuteNonQuery()方法,执行一些资料定义命令,例如新增、更新和删除资料库物件(表格、索引等)。ExecuteScalar():用于执行SELECT查询命令,该命令返回数据第一行第一列的值。此方法通常用于执行使用COUNT()或SUM()函数的SELECT命令。ExecuteReader():用于执行SELECT命令并返回DataReader对象。此DataReader是正向只读数据集。16.2.4DataReader,DataReader)是一个非常有用的数据读取工具,它提供了数据库连接以运行SQL语句或存储过程,以及如何访问前进记录等。DataReader是最适合读取和显示数据的数据对象,如果需要断开连接,数据库在读取数据时必须保持连接。DataReader的常用方法,示例1 private subform 1 _ load(byvalsenderssystem . object,ByValeAsSystem)。EventArgs) HandlesMyBase。Load2表示Connection对象和Command对象3 dimconnectionstringasstring=configuration manager . Connection strings( my Connection string )connection string 4 dimconasnewqlconnection(connection string)5 dimcmdassnewqlcommand( select * from bookcinfo ,)Open()打开数据库连接9 ExecuteReader()方法使DataReader对象10 read er=cmd . execute reader()11 while reader . read()通过DataReaderText=返回reader(0),VbTabreader(1)vbCrLf返回要读取的项13 end while 14 catchexascqlexception 15 throwewapplicationexception(遇到Close()且DataReader18con。Close()已断开与数据库的连接。19EndTry20EndSub。使用此代码填充数据的DataReader对象。您可以在需要显示此数据的地方读取和显示DataReader。Close方法关闭DataReader对象和数据源之间的连接。读取数据后,必须关闭DataReader对象。否则,如果DataReader对象未关闭,DataReader使用的Connection对象将无法执行其它操作。dataset和dataadapter是实现16.2.5非连接数据查询的关键组件。DataSet是一种数据容器,它将数据库的数据副本保留在用户本地内存中,以便用户无需连接到数据库即可读取数据。DataSet对象表示数据库结构(如表、列、关系和约束)的数据缓存。下列程式码会产生DataSet,您可以在建立时选择性地指定名称参数:如果没有为D

温馨提示

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

评论

0/150

提交评论