基于vb.net的数据库访问——ADO.NET(一)

 

        ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在以往的Microsoft技术中访

问数初次接触ADO.NET感受到它在访问数据库时强大的功能。 本篇博文主要介绍它的结构、访问数据库原理、

具体实现以及学习感受。

 

一、结构

 

 基于vb.net的数据库访问——ADO.NET(一)_第1张图片

 

Connection:可以连接数据源,连接SqlServer数据库等。

 

Command:向数据库中发送的命令,实现对数据库的操作。

 

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语句中提供了占位符“@+变量”,来占用字段。 等创建了参数,就能向占位符中插入

值,我们来看是如何操作的。

例如:

<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。

你可能感兴趣的:(.net,编程语言,framework,VB.NET,ADO.NET)