基于vb.net的数据库访问——ADO.NET(一)
ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在以往的Microsoft技术中访 问数据。初次接触ADO.NET感受到它在访问数据库时强大的功能。 本篇博文主要介绍它的结构、访问数据库原理、 具体实现以及学习感受。
一、结构
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>
执行SQL语句,并返回受查询影响的行数,也是一种检查命令是否执行的有效方式。 以上的属性都有了相应处理,下面该执行命令了,在执行之前需要打开数据库连接,调用SqlCommand对象的 ExecuteNonQuery方法。 例如: <span style="font-size:18px;">conn.Open() cmd.ExecuteReader() conn.Close()</span> 三、小结
了解和学习ADO.NET访问数据库技术,在编程应用时大大简化了代码的编写。 增强了代码的复用性,使程序更 稳定,出现错误易发现和处理。 在这里简单总结了一下学习的东西,对它理解更清晰了。 在没有学习这个之前,有 很多为什么, 学习之后有很多为什么要这样,知道了一些不知道的东西。 上面总结的只是其中一块内容,在下篇我 要总结一下DataSet对象和数据源的桥梁——SqlDataAdapter。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |