ADO相信我们都不陌生,那么ADO.NET和ADO是一种东西吗?我们来详细的看一下ADO.NET。
ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个广泛的类组,用于在以往的Microsoft技术中访问数据。
ADO.NET可让开发人员以一致的方式存取资料来源,以及透过OLE DB和ODBC所公开的资料来源。资料共用的消费者应用程序可使用ADO.NET来连接至这些资料来源,并且撷取、处理及更新其中所含的资料。
ADO.NET的主要对象包括:
ADO的详细信息参见之前的博客(Vb中的编程对象ADO:http://www.jb51.cc/article/p-gnjqmujm-uw.html)
简单对比一下ADO与ADO.NET的区别:
在之前的博客中,我们介绍过ADO,ADO中有三大对象:Connection对象、Command对象、Recordset对象;在ADO.NET中与ADO相同的是Connection对象与Command对象;ADO.NET中与ADO中的Recordset对象相对应的是DataSet对象,下面我们简单的比较一下Recordset与DataSet:
DataSet对象很强大,相当于是内存上虚拟的一个数据库,它支持多表、表间关系、数据约束等;
我们看到DataSet是独立于数据源的,那么它是如何实现读取数据操作的呢?这就用到了ADO.NET中的另外一个对象:DataAdapter!DataAdapter是DataSet与sql Server之间的桥接器,用于检索和保存数据。DataAdapter通过对数据源使用适当的T-sql语句映射Fill和Update来提供这一桥接。
我们来看一下DataSet 与DataAdapter的一张形象的图:
我们来看一下DataAdapter填充DataSet的代码实现:
'连接数据源 Dim cn As NewsqlConnection cn.ConnectionString= "Server=.;DataBase=Test;UID=sa;pwd=123456" '打开数据连接 cn.Open() Dim strsql As String strsql ="select * from LoginInfo where Name=" & UserName Dim ds As NewDataSet '使用DataAdapter填充DataSet Dim da As NewsqlDataAdapter(strsql,cn) da.Fill(ds) cn.Close()
在ADO.NET中还有一个对象DataReader;DataReader对象用于从数据源中检索只读数据集,常用于检索大量数据.DataReader对象只允许以只读、顺向的方式查看其中所存储的数据,提供一个非常有效率的数据查看模式。那么它与DataSet又有那些不同呢?我们来看一下:
当需要处理一些简单的数据时,我们可以用DataReader对象,DataReader对象的效率比DataSet的效率高。
下面看一下DataReader的代码实现:
Dim dr AssqlDataReader Dim cn As NewsqlConnection Dim cmd As NewsqlCommand '连接数据库 cn.ConnectionString= "Server=.;DataBase=Test;UID=sa;pwd=123456" cn.Open() '执行查询操作 cmd.Connection = cn cmd.CommandText ="Select * from LoginInfo where Name=" & UserName 'DataReader通过Command对象执行查询 dr =cmd.ExecuteReader() dr.Read() '显示 MessageBox.Show(dr.Item(0).ToString)
不足之处敬请指正!