ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在以往的Microsoft技术中访
问数据。初次接触ADO.NET感受到它在访问数据库时强大的功能。 本篇博文主要介绍它的结构、访问数据库原理、
具体实现以及学习感受。
一、结构
Connection:可以连接数据源,连接sqlServer数据库等。
DataReader:直接读取数据流。
这三个对象在.NET应用程序中不能被直接使用,必须通过从他们继承的而来的类进行数据访问。例如
OleDbConnection,OleDbcommand和OleDbDatareader 通过OLE DB提供的数据访问Access数据库;通过
sqlConnection,sqlCommand和sqlDataAdapter访问sql Sever数据库。
DataSet数据存储在内存中,这些数据在内存中都以XML的形式表示。
DataAdapter对象提供连接DataSet对象和数据源的桥梁。使用Command对象在数据源中执行sql命令,以便将
数据加载到DataSet中,并使对DataSet中数据的更改与数据源保持一致。
二、通信
三、在访问sql Server过程中应用
在编写访问sql Server数据库代码,前,我们引用System.Data.sqlClient命名空间。 用到了它的空间里的
sqlConnection、sqlDataAdapter、sqlCommand、sqlParameter这些类。
sqlConnection类: 里面含有连接数据库的连接,主要参数分别为Server(sqlServer名称),Database(数据库
名),User ID(连接数据库用户名),Password(连接数据库密码)
<span style="font-size:18px;">Imports System.Data.sqlClient ’引用命名空间 '定义数据库连接对象 Dim conn As New sqlConnection("server=WANGJU-PC;database=jfsf_net; user ID=sa;password=123456")</span>
sqlCommand类:向数据库发送增删改查命令,实现对数据库的操作。 它的属性和方法如下
Connection属性
执行查询前,必须给sqlCommand设置属性,这个属性是sqlConnection对象
例如:
<span style="font-size:18px;">Dim cmd as New sqlCommand() cmd.Connection=conn </span>
Commandtext属性
用于指定要执行的sql语句或存储过程。
<span style="font-size:18px;">Dim sql As String = "Select userId,password from T_User Where userId=@UserName And password=@PWD" Dim cmd As New sqlCommand(sql,conn) cmd.CommandText = sql </span>
sqlParameters集合
了解了CommandText属性,到上面的代码,你可能要问第一行代码中@UserName和@PWD是什么意思? 不
急,我先举个生活中的小例子: 过生日需要下馆子吃饭,一般在生日的前一两天先预定一个包间(时间是你生日那
天的12点-2点),那么这个包间就不会被预定成同一个时间了,人虽然没有在馆子里,但这个时间段这个包间被你占
用了。 同样的道理,在sql语句中提供了占位符“@+变量”,来占用字段。 等创建了参数,就能向占位符中插入
值,我们来看是如何操作的。
例如:
@H_403_253@<span style="font-size:18px;"> cmd.Parameters.Add(New sqlParameter("@UserName",User.UserId)) cmd.Parameters.Add(New sqlParameter("@PWD",User.Password))</span>
ExecuteNonQuery方法
执行sql语句,并返回受查询影响的行数,也是一种检查命令是否执行的有效方式。
以上的属性都有了相应处理,下面该执行命令了,在执行之前需要打开数据库连接,调用sqlCommand对象的
ExecuteNonQuery方法。
例如:
<span style="font-size:18px;">conn.Open() cmd.ExecuteReader() conn.Close()</span>
三、小结
了解和学习ADO.NET访问数据库技术,在编程应用时大大简化了代码的编写。 增强了代码的复用性,使程序更
稳定,出现错误易发现和处理。 在这里简单总结了一下学习的东西,对它理解更清晰了。 在没有学习这个之前,有
很多为什么, 学习之后有很多为什么要这样,知道了一些不知道的东西。 上面总结的只是其中一块内容,在下篇我
要总结一下DataSet对象和数据源的桥梁——sqlDataAdapter。
原文链接:https://www.f2er.com/vb/257507.html