总结Ado点net
一、 操作数据库结构图二、 的主要组件用于访问和操作数据的两个主要组件是:.NET Framework 数据提供程序(虚线框内) 和DataSet。
1、.NET Framework 数据提供程序是专门为数据操作以及快速、只进、只读访问数据而设计的组件。
2、 DataSet 是专门为独立于任何数据源的数据访问而设计的。
三、 的五大对象1、ConnectionConnection对象是程序和数据库之间的连结桥梁。
不将数据库打开是无法从数据库中取得数据的,Connection对象在的最底层。
2、CommandCommand对象主要对数据库进行查询、新增、修改、删除数据等指令,以及呼叫存在数据库中的预存程序等。
这个对象是架构在Connection上,也就是Command对象是透过连结到数据源的Connection对象来下命令的;所以Connection连结到哪个数据库,Command 对象的命令就下到哪里。
(1)返回值ExecuteReader,返回一个DataReader 对象。
ExecuteScalar,返回数据库查询出来的第一行第一列。
ExecuteNonQuery,执行增删改命令。
ExecuteXMLReader,返回XmlReader。
只用于SqlCommand 对象。
3、DataReader只需要循序的读取数据而不需要其它操作时,可以使用DataReader对象。
DataReader 对象只是一次一条记录地向下循序地读取数据源中的数据,不作其它的操作。
因为DataReader在读取数据的时候限制了每次只读取一条记录,而且只能只读,所以使用起来不但节省资源而且效率很高。
4、DataAdapterDataAdapter对象主要是在数据源以及DataSet之间执行数据传输的工作,它可以透过Command对象下达命令后,并将取得的数据放入DataSet对象中。
这个对象是架构在Command对象上,并提供了许多配合DataSet使用的功能。
5、DataSetDataSet这个对象被视为一个Cache区域,可以把从数据库中所查询到的数据保留起来,甚至可以将整个数据库显示出来。
DataSet的能力可以储存多个Table,还可以透过DataAdapter对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联。
DataSet 对象可以说是中重量级的对象,这个对象架构在DataAdapter对象上,本身不具备和数据源沟通的能力;也就是说我们是将DataAdapter对象当做DataSet对象以及数据源间传输数据的桥梁。
6、总结在中有五种基本的对象:Connection对象、Command对象、DataAdpter对象、DataReader对象及DataSet对象,在这五个对象中DataSet完全存在于客户机的Cach中,而其它Command对象、DataAdpter对象、DataReader对象三个对象必须建立在Connection 对象基础之上。
Connection对象是与数据库建立连接。
Command对象允许查寻并对数据库传送命令。
它含有针对不同的命令而特定的方法。
ExecuteReader方法返回DataReader对象来现实查询的结果。
对于i n se r t,u p d a t e以及d e l e t e这些S Q L命令,使用E x e c u t e N o n Q u e r y 方法。
如果你只需要查询的单独聚集值,ExecuteScalar方法是最好的方法,因为其占用资源少,速度特别快。
四、支持哪两种方式来访问关系数据库一共支持两种数据库访问方式,分别是连接式的和脱机式的。
连接式的较适合大数据量并且不能准确预测需要读取多少记录的情况,脱机式的更适合进行小数据量的读取操作。
五、连接数据库1、SqlConnection数据库连接类SqlConnection提供了连接到数据源的能力,为了构建一个到数据库的连接,需要为SqlConnection对象提供一个到指定数据源的连接字符串。
2、使用SqlConnectionStringBuilder连接字符串连接字符串的构建对于初学者来说有些令人烦恼,就算是很有经验的开发人员,也会对构建各种各样的连接字符串感到头痛。
4.0提供了SqlConnectionStringBuilder 对象,使用该对象可以以属性的方式构建连接字符串,这不仅增加了使用连接字符串的安全性,而且让构建连接字符串更加方便。
此外使用SqlConnectionStringBuilder还可以利用VS2010强大的IntelliSense特性。
3、关闭和释放连接连接在使用完毕后应该尽早地被释放,SqlConnection提供了Close方法,用于关闭一个连接。
除此之外,SqlConnection的基类实现了IDispose接口的Dispose方法,这个方法不仅关闭一个连接,而且还清理连接所占用的资源。
在上一节中提到过使用using语句包含一个连接,其实也是隐含调用了SqlConnection的Dispose方法。
4、在web.config配置文件中保存连接字符串连接信息最好保存在web.config配置文件中,以便于维护和修改。
5、连接池技术连接到数据库服务器是通常需要一定的时间,且服务器也需要一定的资源来处理连接。
Web应用程序有时处理成千上万的连接,需要要当多的资源来处理连接。
具有连接池的特性,连接池的功能是保留一定数量的连接,当用户使用相同的连接字符串再次连接服务器时,将使用连接池中的连接而避免了重新发起一次连接过程。
当调用Close方法关闭连接时,连接将会返回到连接池中,下次再次调用Open方法时,将从连接池中取出一个连接使用。
六、与数据库交互在建立与数据源的连接后,通常是从数据库中获取数据、添加、更改、删除数据库中的数据的操作。
提供了Command对象用于向数据库下达SQL指令,以及从数据库获取查询结果等功能。
1、使用SqlCommand操作数据库SqlCommand由其名称可得知,就是一个执行SQL命令的类,SQL命令可能是标准的SQL语句,或者是一个存储过程。
可以使用SqlCommand的四种构造函数来创建SqlCommand对象,为其传递一个SQL命令和一个数据库连接,然后执行SqlCommand对象的几种执行这些命令的方法,并且返回执行的结果给调用方。
2、为SqlCommand传递参数执行SQL命令时,需要传递参数的场景非常多。
比如上节的示例,如果允许用户选择某个供应商SupplierID来查看该供应商相关的所有产品,可以在界面上为用户提供一个输入框,允许用户进行输入,将用户的输入作为Products表的一个参数来进行查询。
3、使用SqlCommand执行存储过程对于大中型的应用程序来说,使用存储过程能带来很多的好处。
首先存储过程预编译,具有较好的执行效率,此外也具有较强的安全性。
在SqlCommand中执行存储过程与执行SQL语句一样简单,下面同样举一个示例来介绍如何执行SQL Server存储过程。
4、使用事务事务用于维护操作的一致性和完整性,很多书籍用两阶段提交来描述事务。
所谓两阶段提交是指所有操作要么都成功操作,要么都失败。
一个经典的例子是银行转账,比如要从两个账户这间进行转账,从A账户划拨5000块钱到B账号,A账号将扣除5000块同时B账号新增5000块则转账成功。
如果任何一项操作发生意外,必须两方面都失败,也就是A不会扣除B也不会新增,否则的话后果就比较严重了。
5、使用DataAdapter对象DataAdapter是中非常重要的一个对象,该对象起到连接和非连接类型之间的一个桥梁。
DataAdapter从连接类比如SqlCommand对象中获取数据库的结果,然后将结果填充到非连接数据集如DataSet或DataTable中去,同时非连接数据集也会使用DataAdapter来更新其所作的更改。
七、管理内存数据DataSet对象是中非连接类型最主要的类。
该类就像是一个小型的内存数据库系统。
在该内中具有数据表、数据列、数据行、约束、表间关系等特性,DataSet对象为异构的数据源之间提供了一致的编程模型。
1、了解数据集数据集(DataSet)是断开连接的数据容器,DataSet的数据组织方式与数据库极其相似,实际上,在大多数情况下,DataSet中的数据都是数据库中数据的副本。
但是,DataSet 还可以从XML、CSV文件中导入记录,这为开发人员提供了一致的编程模型。
2、使用DataTable实现内存表DataSet包含一个DataTableCollection的集合,一个DataSet中可以包含多个DataTable 对象,每个DataTable类似于数据库中的表,同样包括字段(DataColumn)和记录(DataRow)的集合。
除此之外,还包含约束(Constraint对象)集合。
约束通常用于维持列中的值的一致性和完整性。
另外,DataTable对象还存在着关系集合(DataRelation),类似于数据库表之间的关系。
3、使用DataSet管理数据开发人员可能需要将多个数据库中的表填充到DataSet,此时需要维护这些表之间的关系以及引用完整性。
由于DataSet可以看作是一种内存中的小型数据库,微软在其中添加了很多类似于管理数据库的方法来管理数据库。
4、使用Reader获取只读数据DataSet中的数据一但加载完毕,就与数据库连接断开,以后的添加、修改、删除等操作都是离线模式,如果需要更新DataSet中的数据,可以调用DataAdapter的Update方法,该方法将调用DataAdapter对象的UpdateCommand、InsertCommand和DeleteCommand命令对象来更新数据库,这种方式在分布式应用程序开发中具有无可替代的优势。
很多场合,开发人员只需要简单的显示数据库中的数据,不需要更改,可以使用另一个快速,高性能,只进只读的数据存储DataReader对象。
5、比较DataSet和DataReaderDataSet在分布式应用、Web Service方面都具有无可替代的功能特性。
如果应用程序需要进行下面列出的可能的操作处理,则应该考虑使用DataSet。
ADO.Net技术
技术Connection对象1.连接数据库通过SqlConnection对象的State属性判断数据库的连接状态:public override ConnectionState State{ get;}属性值:ConnectionState枚举枚举值说明Broken 与数据源的连接中断Closed 连接处于关闭状态Connecting 连接对象正在与数据源连接Executing 连接对象正在执⾏命令Fetching 连接对象正在检索数据Open 连接处于打开状态Try{string conStr = “server=.;database=hmliang;uid=sa;pwd=”;SqlConnection conn = new SqlConnection(conStr);conn.Open();if (conn.State == ConnectionState.Open){}conn.Close();//conn.Dispose();}catch{}2.关闭连接Close⽅法⽤于关闭⼀个连接。
Dispose⽅法不仅关闭连接,⽽且还清理连接所占⽤的资源。
注:在编写应⽤程序时,对数据库操作完成后,要及时关闭数据库的连接,以防⽌在对数据库进⾏其他操作时数据库被占⽤。
Command对象1.3个重要的属性:a).Connection属性⽤于设置SqlCommand使⽤的SqlConnectionb).CommandText属性⽤于设置要对数据源执⾏的的SQL语句或存储过程c).CommandType属性⽤于设置指定CommandText的类型。
CommandType枚举成员:StoredProcedure:存储过程的名称TableDirect:表的名称Text:SQL⽂本命令SqlCommand cmd = new SqlCommand();cmd.Connection = conn;mandText = “SELECT COUNT(*) FROM A”;mandType = CommandType.Text;int i = Convert.ToInt32(cmd.ExecuteScalar());2.执⾏SQL语句1).ExecuteNonQuery⽅法执⾏SQL语句,并返回受影响的⾏数。
ADO.NET
⼀、概要是.NET框架中的重要组件,主要⽤于完成C#应⽤程序访问数据库。
⼆、的组成①System.Data → DataTable,DataSet,DataRow,DataColumn,DataRelation,Constraint,DataColumnMapping,DataTableMapping②System.Data.Coummon →各种数据访问类的基类和接⼝③System.Data.SqlClient →对Sql Server进⾏操作的数据访问类主要有: a) SqlConnection →数据库连接器b) SqlCommand →数据库命名对象c) SqlCommandBuilder →⽣存SQL命令d) SqlDataReader →数据读取器e) SqlDataAdapter →数据适配器,填充DataSetf) SqlParameter →为存储过程定义参数g) SqlTransaction →数据库事物三、Connection连接对象Connection对象也称为数据库连接对象,Connection对象的功能是负责对数据源的连接。
所有Connection对象的基类都是DbConnection类。
3.1、连接字符串基本语法:数据源(Data Source)+数据库名称(Initial Catalog)+⽤户名(User ID)+密码(Password)3.1.1、SQL Server连接字符串标准安全连接:Data Source=.;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;或者Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;Trusted_Connection=False;可信连接:Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;或者Server=myServerAddress;Database=myDatabase;Trusted_Connection=True;3.1.2、Access连接字符串Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\myDatabase.mdb;User Id=admin;Password=;3.1.3、MySQL连接字符串Server=myServerAddress;Database=myDatabase;Uid=myUsername;Pwd=myPassword;3.1.4、DB2连接字符串Server=myAddress:myPortNumber;Database=myDatabase;UID=myUsername;PWD=myPassword;3.1.5、Oracle连接字符串Data Source=TORCL;User Id=myUsername;Password=myPassword;在VS中获得连接字符串并连接到数据库:⼯具->连接到数据库选择SQLServer继续如上图,填写好相关信息在⾼级中可以查看连接字符串的所有信息在VS中可以实现数据库管理:3.2、连接到数据库Connection对象有两个重要属性:(1)ConnectionString:表⽰⽤于打开 SQL Server 数据库的字符串;(2)State:表⽰ Connection 的状态,有Closed和Open两种状态。
ado.net的原理
的原理小伙伴!今天咱们来唠唠这个超有趣的东西。
呢,就像是一个超级快递员,在你的程序和数据库之间跑来跑去传递东西。
你想啊,数据库里存着那么多重要的数据,就像一个个宝藏,但是你的程序想要拿到这些宝藏可不容易,这时候就闪亮登场啦。
数据库就像是一个大仓库,里面有各种各样的货物(数据),按照不同的类别(表)摆放得整整齐齐。
首先得知道这个仓库在哪,这就涉及到连接字符串啦。
这个连接字符串就像是仓库的地址和开门的钥匙,告诉怎么找到数据库并且进去。
比如说,你要是想进一个Sql Server数据库的仓库,连接字符串里就得有服务器的名字、数据库的名字,还有可能需要用户名和密码这些信息,就像你去一个特别的地方得知道路怎么走,还得有进门的权限一样。
一旦通过连接字符串成功“敲开”数据库的大门,它就可以开始探索这个大仓库啦。
它会先去看看仓库里都有啥,这就是查询操作。
查询就像是在仓库里找东西,你得告诉你想要找啥样的东西。
比如说你想找所有名字叫“小明”的货物(数据),那你就得用一种特殊的语言(SQL语句)告诉它。
就像一个听话的小助手,拿着你给的指令(SQL语句)在数据库里翻箱倒柜地找。
找到之后呢,它可不会自己偷偷藏起来,而是会把找到的东西打包好,准备送回给你的程序。
打包数据也很有一套哦。
它会把从数据库里找到的数据变成一种程序能够理解的格式。
就好比仓库里的货物可能是各种各样奇奇怪怪的形状,要把它们整整齐齐地装在一个盒子里,这个盒子就是数据集(Dataset)之类的东西。
这个数据集就像是一个小包裹,里面装着你要的数据,然后就背着这个小包裹,开开心心地跑回你的程序那边去。
那要是你想往数据库这个大仓库里放新的东西呢?也能搞定。
这就像是你要往仓库里存新的货物。
你得告诉这个新货物是什么样的(新数据的内容),然后就会按照仓库的规定(数据库的结构),找到合适的地方把新货物放进去。
这个过程也得用SQL语句来指挥它,比如说“INSERT INTO”这样的语句,就像是给一个小纸条,上面写着“把这个东西放到那个架子上去哦”。
ADO.NET基础知识详解
基础知识详解是微软提供的⼀种数据库访问技术。
为不同类型的数据源提供了不同的数据提供程序对象:数据提供程序说明SQL Server 数据提供程提供对Microsoft SQL Server中数据的访问,使⽤System.Data.SqlClient命名空间。
序OLE 数据提供程序提供对使⽤OLE DB公开的数据源(如Access、Excel等)中数据的访问,使⽤System.Data.oleDb 命名空间。
ODBC 数据提供程序提供对使⽤ODBC公开的数据源中数据的访问,使⽤System.Data.Odbc命名空间。
数据提供程序中包含了的四个核⼼对象:对象说明Connection建⽴与特定数据源的连接Command对数据源执⾏命令DataReader从数据源中读取只进只读的数据流DataAdapter使⽤数据源填充DataSet并⽀持更新提供两种⽅式访问数据库:连接式访问:整个操作过程中需要保持数据库连接。
断开式访问:只需要在执⾏数据库命令时保持数据库连接。
⼀、使⽤DataReader读取数据使⽤DataReader读取数据属于连接式读取,只能只进的⼀⾏⼀⾏读取数据,并且不能改变数据,如需要改变数据,必须重新执⾏insert,update,delete等sql语句来改变数据。
⽰例:使⽤DataReader读取数据在ListView控件显⽰:此⽰例的测试数据如下:create table Member(MemberId int primary key identity(1,1),MemberAccount nvarchar(20) unique check(len(MemberAccount) between 6 and 12),MemberPwd nvarchar(20),MemberName nvarchar(20),MemberPhone nvarchar(20))insert into Member(MemberAccount,MemberPwd,MemberName,MemberPhone)values('liubei','123456','刘备','4659874564')insert into Member(MemberAccount,MemberPwd,MemberName,MemberPhone)values('guanyu','123456','关⽻','42354234124')insert into Member(MemberAccount,MemberPwd,MemberName,MemberPhone)values('zhangfei','123456','张飞','41253445')insert into Member(MemberAccount,MemberPwd,MemberName,MemberPhone)values('zhangyun','123456','赵云','75675676547')insert into Member(MemberAccount,MemberPwd,MemberName,MemberPhone)values('machao','123456','马超','532523523')此⽰例代码如下:在编写代码之前需要进⾏ListView控件的编辑列操作,并且将视图模式切换成Details模式。
ADO.NET学习笔记(教程)
连接SQLSERVER数据库连接字符串:Data Source=localhost; AttchDBFilename=|DataDirectory|\Database1.mdf; Initial Catalog=UserDate; Integrated Security=True参数说明:Data Source表示数据源,其值为服务器地址和实例名,如果是正式版则不用加SQLEXPRESS,如果是免费版,必须加上SQLEXPRESS,即连接本机可以写成“.\ SQLEXPRESS”;AttchDBFilename表示附加数据库,其值为附加数据库的地址,DataDirectory代表当前项目目录下的App_data目录,是数据库的默认存储路径;Initial Catalog为数据库,其值为当前连接所要连接的数据库名称注:如果要使用Sqlconnection对象,必须导入System.Data.Sqlclient命名空间中的连接等资源都实现了IDisposable接口,可以使用using进行资源管理。
也可以使用try……catch语句块括起来,但是using是最简单的。
代码语句:using (SqlConnection con = new SqlConnection("Data Source=localhost;Initial Catalog=UserDate;Integrated Security=True")){程序语句块;}或者:SqlConnection cnn = new SqlConnection();//创建SqlConnection对象的一个实例cnn.ConnectionString = "Data Source=localhost;Initial Catalog=UserDate;Integrated Security=True";cnn.Open();注:using的作用是及时的释放资源,在花括号结束的时候,程序会自动释放语句所申请的内存,以达到程序的最优。
ADONET基础知识(二)
基础知识(二)我们知道的两大核心组件分别是Data Provider和DataSet。
如果说DataSet 是的心脏,那么Data Provider绝对是的左臂右膀。
Data Provider提供了访问外部数据数据源的可能性,而且外部的数据源是多样的。
本文将详细说明.NET数据提供程序的作用以及如何访问不同的数据源。
1. 什么是.NET数据提供程序?.NET Framework数据提供程序用于连接数据库、执行命令和检索结果。
这些结果将被直接处理,放置在DataSet 中以便根据需要向用户公开、与多个源中的数据组合,或在层之间进行远程处理。
.NET Framework 数据提供程序是轻量的,它在数据源和代码之间创建最小的分层,并在不降低功能性的情况下提高性能。
下表列出了 .NET Framework 中所包含的数据提供程序。
2. .NET数据提供程序的核心对象在上一篇文章中,我们知道Connection对象、Command对象、DataReader对象以及DataAdapter对象构成了.NET数据提供程序的骨架。
这四个对象非常重要,在后续的文章中,我将详细的讲解。
如果需要了解这些对象的作用,可以参考上一篇文章《你必须知道的(一)初识》。
3. 其他重要的对象如果说上述四大对象构成了.NET数据提供程序的骨架,那么下面我要说的这些对象可以说是.NET数据提供程序的血肉了。
这些对象虽然没有四大核心对象那么的光鲜耀眼,但却也是“八仙过海,各显神通”。
3.1 Parameter对象说对Parameter对象,也许大部分人会说:“哦,原来是它啊”。
尽管大部分人已经很熟悉了,我还是要在这里唠叨几句。
我需要强调是,这一系列的文章主要写给对 还不熟悉,或者刚入门的读者,旨在讲解最最基础却又非常重要的内容。
简单的讲,Parameter对象定义了命令和存储过程的输入、输出和返回值参数。
哦!看起来,好像并不是那么强大,那么Parameter对象到底有什么本领呢?先看这样一段代码,也许很多人曾经都写过,包括我自己:strSQL = "SELECT * FROM users WHERE (name = '" + userName + "') and (pw = '"+ passWord +"');"只要懂一点SQL语法的童鞋都知道,这不就是一个简单的登陆查询验证代码吗?好,先别急,你知道的,说不定别人还不知道。
ADOnet期末重点
选择题:1. 在DataTable 中添加一个新行的状态Added;2. Command 对象存储过程CommandType 设置为:CommandType.StoredProcedure3. SqlConnection 的Open() 方法用于打开数据库4. Xml的两个组成部分:数据和架构5. SqlAdapter 对象是DataSet 和数据之间的桥梁6. 将窗体显示为对话框应该使用窗体的ShowDialog() 方法7. DataTable中创建新行的方法NewRow() 方法8. Linq语句分组查询要用到:GroupBy9. 运行代码读结果:10. ExecuteReader 返回的是一个:SqlDataReader 对象11. SqlServer 数据库选用数据库提供程序12. File 对象的OpenText 方法返回:StreamReader对象13. 外键14. 的两个组件:数据提供程序和数据集15. 事物中的Commit()方法的作用:提交事物16. Window Form 复选框Checked = True 的作用是:复选框被选中17. Column 的ColumnName 属性表示列名18. C# 中错误提示的方式:19. 存储过程要获取一个命令的返回值:把该参数的Direction 属性设为:ParameterDirection.Output填空题:1. SqlDataReader 对象的FieldCount 属性返回列数,HasRow 属性返回是否有结果集,方法返回位置,Read()方法返回记录2. 连接sql 实例的连接字符串:Data Source=.;Initial Catalog=DbName;Integrated Security=True3. SqlCommand用ExecuteScalar() 方法读取聚合函数;简答:1. DataRow的状态变化,5种状态和5种方法:5种状态:Detached, Unchanged, Added, Deleted, Modified;5 种方法:DataTable.Rows.Add(newRow), DataTable.AcceptChanges(),newRow.Delete(),DataTable.Remove(newRow),DataTable.RejectChanges(),执行DataTable.Rows.Add(newRow) 状态变为:Added执行DataTable.AcceptChanges() 状态变为:Unchanged执行newRow.Delete() 状态变为:Deleted执行DataTable.Remove(newRow) 状态变为:Detached编辑该行是状态为:Modified2. DataReader 访问数据库的流程和描述:1.定义连接字符串2. 定义connection对象3. 写Sql语句4. 创建command对象5. try{}catch{}finally{}6. 打开数据库连接7. 创建DataReader对象8. 逐行读取DataReader对象查询的结果9. 关闭DataReader对象10. 关闭数据库连接3. Linq 查询某一数组:int[] arr = new int[] { 25, 58, 34, 94, 43, 38, 48, 9 };var m = from m in arrwhere m >= 10 & m <= 20 & m % 2 == 0 // 查询条件select m; //输出列//遍历输出foreach (var item in m){Console.WriteLine(item);}4. SqlParameter 的Direction属性:当设为ParameterDirection.Input 表示输入当设为ParameterDirection.Output 表示输出当设为ParameterDirection.InputOutput 表示即能输入也能输出当设为ParameterDirection.ReturnValue 表示存储过程的return 返回值5. 配置SqlDataAdapter 更新到数据集:string cmdString = "select tClassId,tClassName,tClassDesc from TblClass";string connStr = "Data Source=.;Initial Catalog=DbName;Integrated Security=True";using(SqlDataAdapter adapter = new SqlDataAdapter(cmdString,connStr)){DataSet ds = new DataSet();adapter.Fill(ds);}6. .net 的数据提供程序/数据访问:7. 绘图 对象模型结构课本P28;编程:1. 将某表显示在webFrom 或window 的DataGridView 中string connStr = "Data Source=.;Initial Catalog=DbName;Integrated Security=True";using (SqlConnection conn = new SqlConnection(connStr)){using (SqlCommand cmd = conn.CreateCommand()){string cmdString = "select tClassId,tClassName,tClassDesc from TblClass";mandText = cmdString;dgvCLass.ClearSelection();conn.Open();SqlDataReader reader = cmd.ExecuteReader();while (reader.Read()){ClassDesc cd = new ClassDesc(){ClassId = reader.GetInt32(0),ClassName = reader.GetString(1),ClassDescribe = reader.GetString(2)};// 显示在DataGridView 上dgv.Rows.Add(cd.ClassId, cd.ClassName, cd.ClassDescribe);}reader.Close();reader.Dispose();}}。
关于ADO .NET课程教学的几点思考
关于课程教学的几点思考【摘要】 是.NET 框架下的一种新的数据访问编程模型,该课程的设置意在培养学生利用这一模型构建与数据库交互的能力。
本文通过对课程特点进行分析,结合自己的工作实践,提出了针对该课程的教学方法的几点体会。
【关键词】;数据访问模型;数据库1.课程分析1.1课程特点分析是微软公司以类似于ADO的方式设计并实现的专用于.NET平台的新技术,可提供一个面向对象的数据存取架构。
它是继ODBC、DAO、RDO、OLE DB、ADO之后,又一新的数据访问技术。
为了适应新的应用程序发展模式,即使用XML来编码实现网络连接传递数据,势必需要为数据访问提供一种全新的编程模型,这种模型应基于.NET框架,其组件能够共享通用的类型系统、设计模式和命名约定,从而保证数据访问技术的一致性。
因此,便应运而生。
本课程实践性较强,又需要有一定的理论基础,因此在教学过程中强调“理论够用,实践先行”的教学准则。
易采用案例教学,项目驱动的方式开展教学。
1.2课程目标定位本课程是我院计算机相关专业开设的专业选修课,主要内容包括基于的数据源连接和数据读写知识等,要求学生应在了解ADO模型的基础上,具备Visual Basic .NET与C# 的基础知识,同时掌握数据库的基础知识,表、列、约束等概念。
本课程教学目标在于:使学生具备使用组件进行数据库操作的基本知识。
并在此前提下,培养学生操作数据库,构建数据集,使用数据适配器在数据集与数据库之间交互,使用操作XML文档,使用 构建与使用Web 服务等能力。
2.教学实践2.1对比教学ADO与均为微软提供的数据访问方式,两种方式各有利弊,在使用过程中既有相似之处,但也有区别。
在教学过程中利用两种方式的不同进行对比教学,不仅可以突显各自的功能差异,也便于在使用过程中掌握其不同的使用方法。
ADO与的共同点表现在均能够编写对数据库服务器中的数据进行访问和操作的应用程序,并且易于使用、速度高、内存支出低等,同时均支持用于建立基于C/S和Web的应用程序;差别在于两者所采用的接口和体系架构不同。
编程语言之ADO点net资料库
软件英才网软件行业驰名招聘网站资料库作者:何静媛是一组用于和数据源进行交互的面向对象类库。
通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。
允许和不同类型的数据源以及数据库进行交互。
然而并没有与此相关的一系列类来完成这样的工作。
因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。
一些老式的数据源使用ODBC协议,许多新的数据源使用OLEDB协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的类库来进行连接。
软件英才网软件行业驰名招聘网站2.0提供了两个用于检索关系数据的对象:DataSet和DataReader。
并且这两个对象都可以将检索的关系数据存储在内存中。
二者的区别:1,与数据库连接DatSet 连接数据库时是非面向连接的。
把表全部读到Sql中的缓冲池,并断开于数据库的连接。
软件英才网软件行业驰名招聘网站DataReader 连接数据库时是面向连接的。
读表时,只能向前读取,读完数据后有用户决定是否断开连接。
2,处理数据速度DataSet读取、处理速度较慢。
DataReader读取、处理速度较快。
3,更新数据库在对DataSet数据集中的数据进行更新后,可以把数据更新回原来的数据库。
在对DataReader中的数据进行更新后,没有办法进行数据库更新。
4,支持分页排序在DataSet中支持分页、动态排序等操作。
在DataReader中没有分页、动态排序的功能。
5,占用内存DataSet在 IIS 服务器上所使用的内存较多。
DataReader在 IIS 服务器上所使用的内存较少。
应用:软件英才网软件行业驰名招聘网站使用DataSet是为了实现应用程序的下述功能:1 操作结果中的多个分离的表。
2 操作来自多个源(例如来自多个数据库、XML文件和电子表格的混合数据)的数据。
3 在层之间交换数据或使用XML Web服务。
与DataReader 不同,DataSet能被传递到远程客户端。
1C# 操作ADO NET总结详解
myConn.Open(); OleDbCommand myComm = new OleDbCommand(); mandText=strSQL; mandType= CommandType.Text; myComm..Connection=myConn; ............... myConn.Close(); 相比上面一种方式,这种方式更麻烦!鉴于此,还可以这样做:
ConstraintCollection、 DataTableCollection、 DataRelationCollection 等。 连接 SQL Server 数据库: 使用 SqlClient:
data source = MyServer;//服务器 initial catalog = MyDataBase; user id = MyUser; password = MyPassword; 连接到 Access 数据库: 使用 Microsoft.Jet.OLEDB.4.0: Provider=Microsoft.Jet.OLEDB.4.0; Data Source=盘名:\路径名\数据库文件名.mdb; Password=”xxx”; User ID = Admin;
