ADO.NET的五个主要对象
--》SqlConnection
主要是开启应用程序和数据库之间的连接, 用法:
首先使用sqlconnectiopn要对它释放资源,dispose/using,在使用sqlconnection之前必须要打开连接,调用它的Open()方法,这个open()方法里面呢创建了内连接对象
(innerConnection),sqlconnection主要就是用这个内连接对象和数据库建立连接管道的,那么和数据库建立连接管道是很耗费资源的,而且我们每次对数据库进行操作就要使用
sqlconnection建立连接管道,使用的比较频繁,如果每次都去创建内连接对象建立连接管道那么性能就会很低,微软为了解决这个问题用了一个连接池的技术,在调用sqlconnection的Open
()方法的时候它会先到连接池里去看看连接池里有没有空闲的内连接对象,如果有就直接拿来用,否则就创建一个,那么这个连接池里面的内连接对象是什么时候存进去的呢?连接池其实
本质就相当于一个list集合数组,那么在using sqlconnection的时候只是释放了这个sqlconnection对象,内连接对象并没有释放掉而是被保存到了连接池里,那么在下一次sqlconnection再
要与数据库建立连接管道的时候就可以直接拿出来用了,由于这些内连接对象以前就已经和数据库建立好了连接管道下一次拿来用就不用再重新建立了,这样就很大的提高了性能,这个
sqlconnection到连接池里拿内连接对象是根据连接字符串来的,如果这个内连接对象里的连接字符串和connection的连接字符必须要一致,否则还是会重新创建。
---》SqlCommand
主要是对数据库发出一些指令,比如说执行增加啊、删除啊、修改啊、、、等等
---》sqlDataReader
对查询出来的数据进行读取,它只是一次一笔的去读取数据源中的数据
---》DataSet
DataSet就相当于一个临时的数据库,它是把数据都保存在内存里面的,它的作用主要是把查询出来的数据保存起来,它里面也可以有一张张的很多的表,甚至可以把 整个数据库显示出来,
还可以获得数据表的结构比如说主键等,还可以保存数据表之间的关联,DataSet要架构在SqlAdapter这个对象上的,也就是说它本身不具备和数据源沟通的能力,也就是说SqlDataAdapter是
DataSet和数据源之间进行数据沟通的一个桥梁
--->SqlDataAdapter
SqlDataAdapter就是对SqlConnection和SqlCommand做了封装,内部也是new了这两个对象,它主要是用来在DataSet和数据源之间进行数据的传输的,把查询出来的数据放到DataSet里面,它
提供了很多配合DatasET使用的功能,比如Fill();
新闻热点
疑难解答