C与数据库访问技术说课材料.doc

上传人:1595****071 文档编号:51381698 上传时间:2022-10-18 格式:DOC 页数:140 大小:705.50KB
返回 下载 相关 举报
C与数据库访问技术说课材料.doc_第1页
第1页 / 共140页
C与数据库访问技术说课材料.doc_第2页
第2页 / 共140页
点击查看更多>>
资源描述

《C与数据库访问技术说课材料.doc》由会员分享,可在线阅读,更多相关《C与数据库访问技术说课材料.doc(140页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Good is good, but better carries it.精益求精,善益求善。C与数据库访问技术-2.1ADO.NET概述22.1.1ADO.NET体系结构22.1.2ADO.NET对象模型32.2Connection对象与数据库连接42.2.1Connection对象的常用属性42.2.2Connection对象的连接字符串52.2.3Connection对象的常用方法72.3Command(数据命令)对象与查询语句102.3.1Command对象的常用属性112.3.2Command对象的常用方法112.3.3Command对象创建SQl语句代码示例14综合示例154.4.2

2、实例演示DataReader292.4DataReader对象与数据获取322.4.1DataReader对象的常用属性322.4.2DataReader对象的常用方法322.4.3DataReader对象访问数据库代码示例332.5DataAdaDter对象352.5.1DataAdapter对象的常用属性352.5.2DataAdapter对象的常用方法362.5.3DataAdapter对象代码示例372.6DataSet对象392.6.1DataSet对象概述392.6.2DataSet对象模型392.6.3DataCOIumn和DataRow对象412.6.4使用DataSet对象访

3、问数据库442.7ADO.NET代码综合示例452.7.1使用OLEDB.NETProvider452.7.2使用SQLServer.NETProvider462.7.3数据库访问综述472.8DataGrid控件与数据库访问技术472.8.1DataGrid控件与数据绑定472.8.2DataGrid代码示例482.9本章小结49C#与数据库访问技术ADO.NET(ActiveXDataObject.NET)是Microsoft公司开发的用于数据库连接的一套组件模型,是ADO的升级版本。由于ADO.NET组件模型很好地融入了.NETFramework,所以拥有.NETFramework的平台

4、无关、高效等特性。程序员能使用ADO.NET组件模型,方便高效地连接和访问数据库。1ADO.NET概述ADO.NET是与数据库访问操作有关的对象模型的集合,它基于Microsoft的.NETFramework,在很大程度上封装了数据库访问和数据操作的动作。ADO.NET同其前身ADO系列访问数据库的组件相比,做了以下两点重要改进:ADO.NET引入了离线的数据结果集(DisconnectedDataSet)这个概念,通过使用离线的数据结果集,程序员更可以在数据库断开的情况下访问数据库。ADO.NET还提供了对XML格式文档的支持,所以通过ADO.NET组件可以方便地在异构环境的项目间读取和交换

5、数据。1.1ADO.NET体系结构ADO.NET组件的表现形式是.NET的类库,它拥有两个核心组件:.NETDataProvider(数据提供者)和DataSet(数据结果集)对象。.NETDataProvider是专门为数据处理以及快速地只进、只读访问数据而设计的组件,包括Connection、Command、DataReader和DataAdapter四大类对象,其主要功能是:在应用程序里连接数据源,连接SQLServer数据库服务器。通过SQL语句的形式执行数据库操作,并能以多种形式把查询到的结果集填充到DataSet里。DataSet对象是支持ADO.NET的断开式、分布式数据方案的核

6、心对象。DataSet是数据的内存驻留表示形式,无论数据源是什么,它都会提供一致的关系编程模型。它是专门为独立于任何数据源的数据访问而设计的。DataSet对象的主要功能是:用其中的DataTable和DataRelations对象来容纳.NETDataProvider对象传递过来的数据库访问结果集,以便应用程序访问。(2)把应用代码里的业务执行结果更新到数据库中。并且,DataSet对象能在离线的情况下管理存储数据,这在海量数据访问控制的场合是非常有利的。图2-1描述了ADO.NET组件的体系结构。图2-1ADO.NET体系结构1.2ADO.NET对象模型ADO.NET对象模型中有5个主要的

7、数据库访问和操作对象,分别是Connection、Command、DataReader、DataAdapter和DataSet对象。其中,Connection对象主要负责连接数据库,Command对象主要负责生成并执行SQL语句,DataReader对象主要负责读取数据库中的数据,DataAdapter对象主要负责在Command对象执行完SQL语句后生成并填充DataSet和DataTable,而DataSet对象主要负责存取和更新数据。ADO.NET主要提供了两种数据提供者(DataProvider),分别是SQLServer.NETProvider和OLEDB.NETProvider。S

8、QLServer.NETFramework数据提供程序使用它自身的协议与SQLServer数据库服务器通信,而OLEDB.NETFramework则通过OLEDB服务组件(提供连接池和事务服务)和数据源的OLEDB提供程序与OLEDB数据源进行通信。它们两者内部均有Connection、Command、DataReader和DataAdapter4类对象。对于不同的数据提供者,上述4种对象的类名是不同的,而它们连接访问数据库的过程却大同小异。这是因为它们以接口的形式,封装了不同数据库的连接访问动作。正是由于这两种数据提供者使用数据库访问驱动程序屏蔽了底层数据库的差异,所以从用户的角度来看,它们

9、的差别仅仅体现在命名上。表2-1描述了这两类数据提供者下的对象命名。表2-1ADO.NET对象描述对象名OLEDB数据提供者的类名SQLServer数据提供者类名Connection对象OleDbConnectionSqlConnectionCommand对象OleDbCommandSqlCommandDataReader对象OleDbDataReaderSqlDataReaderDataAdapter对象OleDbDataAdapterSqlDataAdapter2.2Connection对象与数据库连接在不同的Provider类型下,Connection对象的命名也是不同的,但它们有一个共

10、同的功能,那就是管理与数据源的连接。2.2.1Connection对象的常用属性Connectionion对象主要用于连接数据库,它的常用的属性如下。ConnectionString属性:该属性用来获取或设置用于打开SQLServer数据库的字符串。ConnectionTimeout属性:该属性用来获取在尝试建立连接时终止尝试,并生成错误之前所等待的时间。DataBase属性:该属性用来获取当前数据库或连接打开后要使用的数据库的名称。DataSource属性:该属性用来设置要连接的数据源实例名称,例如SQLServer的Local服务实例。State性该属性:是一个枚举类型的值,用来表示同当前

11、数据库的连接状态。该属性的取值情况和含义如表2-2所示。表2-2Provider值描述(ConnectionSate枚举成员值)属性值对应含义Broken该连接对象与数据源的连接处于中断状态。只有当连接打开后再与数据库失去连接才会导致这种情况。可以关闭处于这种状态的连接,然后重新打开(该值是为此产品的未来版本保留的)Closed该连接处于关闭状态Connecting该连接对象正在与数据源连接(该值是为此产品的未来版本保留的)Executing该连接对象正在执行数据库操作的命令Fetching该连接对象正在检索数据Open该连接处于打开状态State属性一般是只读不写的,以下代码演示了使用Sta

12、te属性管理控制数据连接的方式。/设置连接对象SqlConnectionconn;/如果是空闲状态,连接数据库if(conn.State=ConnectionState.Closed)conn.Open();/访问数据库的代码/最后关闭连接if(conn.State=ConnectionState.Open)conn.Close();2.2.2Connection对象的连接字符串在ConnectionString连接字符串里,一般需要指定将要连接数据源的种类、数据库服务器的名称、数据库名称、登录用户名、密码、等待连接时间、安全验证设置等参数信息,这些参数之间用分号隔开。下面将详细描述这些常用参

13、数的使用方法。1.Provider参数Provider参数用来指定要连接数据源的种类。如果使用的是SQLServerDatahovider,则不需要指定Provider参数,因为SQLServerDataProvider已经指定了所要连接的数据源是SQlServer服务器。如果使用的是O1eDBDataProvider或其他连接数据库,则必须指定Provider参数。表2-3说明了Provider参数值和连接数据源类型之间的关系。表2-3Provider值描述Provider值对应连接的数据源SQLOLEDBMicrosoftOLEDBProviderforSQLServerMSDASQLMi

14、crosoftOLEDBProviderforODBCMicrosoft.Jet.OLEDB.4.0MicrosoftOLEDBProviderforAccessMSDAORAMicrosoftOLEDBProviderforOracle2.Server参数Server参数用来指定需要连接的数据库服务器(或数据域)。比如Server=(local),指定连接的数据库服务器是在本地。如果本地的数据库还定义了实例名,Server参数可以写成Server=(local)实例名。另外,可以使用计算机名作为服务器的值。如果连接的是远端的数据库服务器,Server参数可以写成Server=IP或“Serv

15、er=远程计算机名”的形式。Server参数也可以写成DataSource,比如DataSource=IP。server=(local);InitialCatalog=student;userId=sa;password=;DataSource=(localhost);InitialCatalog=student;userId=sa;password=;3.DataBase参数DataBase参数用来指定连接的数据库名。比如DataBase=Master,说明连接的数据库是Master,DataBase参数也可以写成InitialCatalog,如InitialCatalog=Master。4

16、.Uid参数和Pwd参数Uid参数用来指定登录数据源的用户名,也可以写成UserID。比如Uid(UserID)=sa,说明登录用户名是sa。Pwd参数用来指定连接数据源的密码,也可以写成Password。比如Pwd(Password)=,说明登录密码是。5.ConnectTimeout参数ConnectTimeout参数用于指定打开数据库时的最大等待时间,单位是秒。如果不设置此参数,默认是15秒。如果设置成-1,表示无限期等待,一般不推荐使用。6.IntegratedSecurity参数IntegratedSecurity参数用来说明登录到数据源时是否使用SQLServer的集成安全验证。如

17、果该参数的取值是True(或SSPI,或Yes),表示登录到SQLServer时使用Windows验证模式,即不需要通过Uid和Pwd这样的方式登录。如果取值是False(或No),表示登录SQLServer时使用Uid和Pwd方式登录。一般来说,使用集成安全验证的登录方式比较安全,因为这种方式不会暴露用户名和密码。安装SQLServer时,如果选中“Windows身份验证模式”单选按钮则应该使用如下的连接字符串DataSource=(local);InitCatalog=students;IntegratedSecurity=SSPI;IntegratedSecurity=SSPI表示连接时

18、使用的验证模式是Windows身份验证模式。7.Pooling、MaxPoolSize和MinPoolSize参数Pooling参数用来说明在连接到数据源时,是否使用连接池,默认是True。当该值为True时,系统将从适当的池中提取SQLConnection对象,或在需要时创建该对象并将其添加到适当的池中。当取值为False时,不使用连接池。当应用程序连接到数据源或创建连接对象时,系统不仅要开销一定的通信和内存资源,还必须完成诸如建立物理通道(例如套接字或命名管道),与服务器进行初次握手,分析连接字符串信息,由服务器对连接进行身份验证,运行检查以便在当前事务中登记等任务,因此往往成为最为耗时的

19、操作。实际上,大多数应用程序仅使用一个或几个不同的连接配置。这意味着在执行应用程序期间,许多相同的连接将反复地打开和关闭。为了使打开的连接成本最低,ADO.NET使用称为Pooling(即连接池)的优化方法。在连接池中,为了提高数据库的连接效率,根据实际情况,预先存放了若干数据库连接对象,这些对象即使在用完后也不会被释放。应用程序不是向数据源申请连接对象,而是向连接池申请数据库的连接对象。另外,连接池中的连接对象数量必须同实际需求相符,空置和满载都对数据库的连接效率不利。MaxPoolSize和MinPoolSize这两个参数分别表示连接池中最大和最小连接数量,默认分别是100和0。根据实际应

20、用适当地取值将提高数据库的连接效率。8.综合实例下面通过实例来说明连接字符串的具体含义。如果连接字符串是:Provider=Microsoft.Jet.OleDB.4.0;DataSource=D:login.mdb则说明数据源的种类是Microsoft.Jet.OleDB.4.0,数据源是D盘下的login.mdbAccess数据库,用户名和密码均无。如果连接字符串是:Server=(local);DataBase=Master;Uid=sa;Pwd=;ConnectionTimeout=20由于没有指定Provider,所以可以看出该连接字符串用于创建SqlConnection对象,连接S

21、QLServer数据库。需连接的SQLServer数据库服务器是local,数据库是Master,用户名是sa,密码为空,而最大连接等待时间是20秒。2.2.3Connection对象的常用方法Connection类型的对象用来连接数据源。在不同的数据提供者的内部,Connection对象的名称是不同的,在SQLServerDataProvider里叫SqlConnection,而在OLEDBDataProvider里叫OleDbConnection。下面将详细介绍Connection类型对象的常用方法。1.构造函数构造函数用来构造Connection类型的对象。对于SqlConnection

22、类,其构造函数说明如表2-4所示。表2-4SqlConnection类构造函数说明函数定义参数说明函数说明SqlConnection()不带参数创建SqlConnection对象SqlConnection(stringconnectionstring)连接字符串根据连接字符串,创建SqlConnection对象第1种:StringConnectionString=”server=(local);InitialCatalog=stu;”;SqlConnectionconn=newSqlConnection();conn.ConnectionString=ConnectionString;conn

23、.Open();第2种Stringcnn=”server=(local);InitialCatalog=stu;”;SqlConnectionconn=newSqlConnection(cnn);conn.Open();显然使用第2种方法输入的代码要少一点,但是两种方法执行的效率并没有什么不同,另外,如果需要重用Connection对象去使用不同的身份连接不同的数据库时,使用第一种方法则非常有效。例如:SqlConnectionconn=newSqlConnection();conn.ConnectionString=connectionString1;conn.Open();/访问数据库,做

24、一些事情conn.Close();conn.ConnectionString=connectionString2;conn.Open();/访问数据库,做另外一些事情conn.Close();注意:只有当一个连接关闭以后才能把另一个不同的连接字符串赋值给Connection对象。如果不知道Connection对象在某个时候是打开是关闭时,可以检查Connection对象的State属性,它的值可以是Open,也可以是Closed,这样就可以知道连接是否是打开的。表2-5说明了OleDbConnection类的构造函数。可以看出,它们和SqlConnection类的构造函数非常相近。表2-5Ol

25、eDbConnection类构造函数说明函数定义参数说明函数说明OleDbConnection()不带参数创建OleDbConnection对象OleDbConnection(stringconnectionstring)连接字符串根据连接字符串,创建OleDbConnection对象2.Open和Close方法Open和Close方法分别用来打开和关闭数据库连接,都不带参数,均无返回值。Open方法:使用ConnectionString所指定的属性设置打开数据库连接Close方法:关闭与数据库的连接,这是关闭任何打开连接的首选方法3.SqlCommand(OleDbCommand)Creat

26、eCommand()方法SqlCommand(OleDbCommand)CreateCommand()方法用来创建一个Command类型的对象。Command类对象一般用来执行SQL语句,关于Command对象的操作将在2.3节里详细描述。CreateCommand()方法:创建并返回一个与SqlConnection关联的SqlCommand对象ChangeDatabase方法:为打开的SqlConnection更改当前数据库。注意:数据库连接是很有价值的资源,因为连接要使用到宝贵的系统资源,如内存和网络带宽,因此对数据库的连接必须小心使用,要在最晚的时候建立连接(调用Open方法),在最早的

27、时候关闭连接(调用Close方法)。也就是说在开发应用程序时,不再需要数据连接时应该立刻关闭数据连接。这点看起来很简单,要达到这个目标也不难,关键是要有这种意识。2.2.4Connection对象连接数据源代码示例以下代码演示使用连接字符串创建数据库连接的一般方式。/连接Access数据库stringconnStr=Provider=Microsoft.Jet.OleDB.4.0;DataSource=D:login.mdb/根据字符串创建OleDbConnection连接对象OleDbConnectionobjConnection=newOleDbConnection(strConnect)

28、;/打开数据源连接if(objConnection.State=ConnectionState.Closed)objConnection.Open();/使用结束后关闭数据源连接if(objConnection.State=ConnectionState.Open)objConnection.Close();在这段代码里的业务逻辑是:(1)创建连接字符串,从中可以看出Connection对象是使用OleDB类型的DataProvider,连接到D盘下login.mdb的Access数据库中。(2)根据连接字符串,创建Connection类型的对象,这里用到了OleDbConnection。(3

29、)打开数据源的连接。(4)执行数据库的访问操作代码。(5)关闭数据源连接。完整案例1、利用SQLServer2000建立一个数据库Student,并建立相应的表studentInfo2、用VisualC#2005建立一个基于Window的应用程序,并添加一个按钮,如图下3、双击按钮,自动切换到后台代码编辑文件Form1.cs中,并自动添加了与此按钮的Click事件相关的处理程序button1_Click(objectsender,EventArgse)4、在Form1.cs文件中添加如下命名空间:usingSystem.Data.SqlClient;5、在事件处理程序button1_Click

30、中添加代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceDataBasepublicpartialclassForm1:FormpublicForm1()InitializeComponent();privatevoidbutton1_Click(objectsende

31、r,EventArgse)trySqlConnectionconn=newSqlConnection();/conn.ConnectionString=server=(local);userid=sa;InitialCatalog=Student;pwd=;conn.ConnectionString=server=(local);InitialCatalog=Student;IntegratedSecurity=SSPI;conn.Open();if(conn.State=ConnectionState.Open)MessageBox.Show(连接已经打开);conn.Close();if(

32、conn.State=ConnectionState.Closed)MessageBox.Show(连接已经关闭);catch(Exceptionex)MessageBox.Show(数据库连接失败+ex.Message);2.3Command(数据命令)对象与查询语句建立了数据库连接之后,就可以执行数据访问操作和数据操纵操作了。一般对数据库的操作被概括为CRUDCreate、Read、Update和Delete。ADO.NET中定义了Command类去执行这些操作。和Connection对象类似,在.NET中存在SqlCommand和OleDbCommand,除了OleDbCommand类没

33、有ExecuteXmlReader方法之外,OleDbCommand与SqlCommand非常类似。Command对象主要用来执行SQL语句。利用Command对象,可以查询数据和修改数据。Command对象是由Connection对象创建的,其连接的数据源也将由Connection来管理。而使用Command对象的SQL属性获得的数据对象,将由DataReader和DataAdapter对象填充到DataSet里,从而完成对数据库数据操作的工作。2.3.1Command对象的常用属性Command对象的常用属性有Connection、ConnectionString、CommandType、

34、CommandText和CommandTimeout。1.Connection属性Connection属性用来获得或设置该Command对象的连接数据源。比如某SqlConnection类型的conn对象连在SQLServer服务器上,又有一个Command类型的对象cmd,可以通过cmd.Connection=conn来让cmd在conn对象所指定的数据库上操作。不过,通常的做法是直接通过Connection对象来创建Command对象,而Command对象不宜通过设置Connection属性来更换数据库,所以上述做法并不推荐。2.ConnectionString属性ConnectionSt

35、ring属性用来获得或设置连接数据库时用到的连接字符串,用法和上述Connection属性相同。同样,不推荐使用该属性来更换数据库。3.CommandType属性CommandType属性用来获得或设置CommandText属性中的语句是SQL语句、数据表名还是存储过程。该属性的取值有3个:如果把CommandType设置成为Text或不设置,说明CommandText属性的值是一个SQL语句。如果把CommandType设置成为TableDirect,说明CommandText属性的值是一个要操作的数据表的名。(SQLServer.NET数据提供程序不支持该属性值)如果把CommandTyp

36、e设置成为StoredProcedure,说明CommandText属性的值是一个存储过程。如果不显示设置CommandType的值,则CommandType默认为Text。表CommandType枚举值值说明StoredProcedure指示CommandType属性的值为存储过程的名称TableDirect指示CommandType属性的值为一个或多个表的名称只有OLEDB的.NETFramework数据提供程序才支持TableDirectText指示CommandType属性的值为SQL文本命令(默认)Stringcnstr=Sever=(local);database=student;

37、IntegratedSecurity=true;SqlConnectionconn=newSqlConnection(cnstr);conn.Open();SqlCommandcmd=newSqlCommand(select*fromStudent,conn);4.CommandText属性根据CommandType属性的不同取值,可以使用CommandText属性获取或设置SQL语句、数据表名(仅限于OLEDB数据库提供程序)或存储过程。2.3.2Command对象的常用方法同样,在不同的数据提供者的内部,Command对象的名称是不同的,在SQLServerDataProvider里叫Sq

38、lCommand,而在OLEDBDataProvider里叫OleDbCommand。下面将详细介绍Command类型对象的常用方法,包括构造函数、执行不带返回结果集的SQL语句方法、执行带返回结果集的SQL语句方法和使用查询结果填充DataReader对象的方法。1.构造函数构造函数用来构造Command对象。对于SqlCommand类型的对象,其构造函数说明如表2-6所示。表2-6SqlCommand类构造函数说明函数定义参数说明函数说明SqlCommand()不带参数创建SqlCommand对象SqlCommand(stringcmdText)cmdText:SQL语句字符串根据SQL语

39、句字符串,创建SqlCommand对象SqlCommand(stringcmdText,SqlConnectionconnection)cmdText:SQL语句字符串connection:连接到的数据源根据数据源和SQL语句,创建SqlCommand对象SqlCommand(stringcmdText,SqlConnectionconnection,SqlTransactiontransaction)cmdText:SQL语句字符串connection:连接到的数据源transaction:事务对象根据数据源和SQL语句和事务对象,创建SqlCommand对象(1)第一个构造函数不带任何参数

40、SqlCommandcmd=neweSqlCommand();cmd.Connection=ConnectionObject;cmd.CommandText=CommandText;上面代码段使用默认的构造函数创建一个SqlCommand对象。然后,把已有的Connection对象ConnectionObject和命名文本CommandText分别赋给了Command对象的Connection属性和CommandText属性。例如,CommandText可以从数据库检索数据的SQLselect语句:stringCommandText=select*fromstudentInfo;除此之外,许多

41、关系型数据库,例如SQLServer和Oracle,都支持存储过程。可以把存储过程的名称指定为命名文本。例如,使用编写GetAllStudent存储过程为命名文本:stringCommandText=GetAllStudent;cmd.CommandType=CommandType.StoredProcedure;(2)第二个构造函数可以接受一个命令文本SqlCommandcmd=neweSqlCommand(CommandText);cmd.Connection=ConnectionObject;上面的代码实例化了一个Command对象,并使用给定命令文本对Command对象的Command

42、Text属性进行了初始化。然后,使用已有的Connection对象对Command对象的Connection属性进行了赋值。(3)第三个构造函数接受一个Connection和一个命名文本SqlCommandcmd=neweSqlCommand(CommandText,ConnectionObject);注意这两个参数的顺序,第一个为string类型的命令文本,第二个为Connection对象。(4)第四个构造函数接受三个参数,第三个参数是SqlTransaction对象,这里不做讨论。另外,Connection对象提供了CreateCommand方法,该方法将实例化一个Command对象,并将

43、其Connection属性赋值为建立该Command对象的Connection对象。无论在什么情况下,当把Connection对象赋值给Command对象的Connection属性时,并不需要Connection对象是打开的。但是,如果连接没有打开,则在命令执行之前必须首先打开连接。而对于OleDbCommand类型的对象,其构造函数如2-7所示。同样可以看出,它们和SqlCommand类的构造函数非常相似。表2-7OleDbCommand类构造函数说明函数定义参数说明函数说明OleDbCommand()不带参数创建OleDbCommand对象OleDbCommand(stringcmdTex

44、t)cmdText:SQL语句字符串根据SQL语句字符串,创建OleDbCommand对象OleDbCommand(stringcmdText,OleDbConnectionconnection)cmdText:SQL语句字符串connection:连接到的数据源根据数据源和SQL语句,创建OleDbCommand对象OleDbCommand(stringcmdText,OleDbConnectionconnection,OleDbTransactiontransaction)cmdText:SQL语句字符串connection:连接到的数据源transaction:事务对象根据数据源和SQL

45、语句和事务对象,创建OleDbCommand对象命令对象构造完成后,就可以执行命令对数据库进行操作了。命令对象所提供的用于执行命令的方法有很多种,具体使用哪个方法取决于命令的执行结果返回什么样的数据。SqlCommand提供了4个执行方法:ExecuteNonQuery()、ExecuteScalar()、ExecuteReader()、ExecuteXmlReader()。详细见下面相关部分。命令对象提供的用于执行命令的方法及其含义如表方法含义Cancel试图取消命令的执行ExecuteNonQuery对连接执行SQL语句并返回受影响的行数ExecuteReader执行查询,将查询结果返回到

46、数据读取器(DataReader)中ExecuteScalar执行查询,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或行ExecuteXmlReader执行查询,将查询结果返回到一个XmlReader对象中2.ExecuteNonQUery方法ExecuteNonQuery方法用来执行Insert、Update、Delete等非查询语句和其他没有返回结果集的SQL语句,并返回执行命令后影响的行数。如果Update和Delete命令所对应的目标记录不存在,返回0。如果出错,返回-1。Stringcnstr=server=(local);database=student;IntegratedSecurity=true;SqlConnectioncn=newSqlConnection(cnstr);cn.Open();stringsqlstr=updatestudentsetname=Jonewherename=Bill;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁