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://blog.csdn.net/kanglix1an/article/details/7843546)
简单对比一下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)
不足之处敬请指正!
作者信息见(http://klxdblog.blog.163.com/)