欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-15 23:38:38
  ado.net的名称起源于ado(activex data objects),是一个com库,用于在以往的microsoft技术中访 问数据。初次接触ado.ne...

 

ado.net的名称起源于ado(activex data objects),是一个com库,用于在以往的microsoft技术中访

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

具体实现以及学习感受。

 

一、结构

 

基于vb.net的数据库访问——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中数据的更改与数据源保持一致。

 

 

二、通信

 

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

 

 

三、在访问sql server过程中应用

 

在编写访问sql server数据库代码,前,我们引用system.data.sqlclient命名空间。 用到了它的空间里的

sqlconnection、sqldataadapter、sqlcommand、sqlparameter这些类。

 

sqlconnection类: 里面含有连接数据库的连接,主要参数分别为server(sqlserver名称),database(数据库

名),user id(连接数据库用户名),password(连接数据库密码)

例如:机房收费中访问数据库前定义数据库连接对象

imports system.data.sqlclient  ’引用命名空间 
'定义数据库连接对象
dim conn as new sqlconnection("server=wangju-pc;database=jfsf_net; user id=sa;password=123456")

 

sqlcommand类:向数据库发送增删改查命令,实现对数据库的操作。 它的属性和方法如下

connection属性

执行查询前,必须给sqlcommand设置属性,这个属性是sqlconnection对象

例如:

dim cmd as new sqlcommand()
cmd.connection=conn

commandtext属性

用于指定要执行的sql语句或存储过程。

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

 

sqlparameters集合

了解了commandtext属性,到上面的代码,你可能要问第一行代码中@username和@pwd是什么意思? 不

急,我先举个生活中的小例子: 过生日需要下馆子吃饭,一般在生日的前一两天先预定一个包间(时间是你生日那

天的12点-2点),那么这个包间就不会被预定成同一个时间了,人虽然没有在馆子里,但这个时间段这个包间被你占

用了。 同样的道理,在sql语句中提供了占位符“@+变量”,来占用字段。 等创建了参数,就能向占位符中插入

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

例如:

 cmd.parameters.add(new sqlparameter("@username", user.userid))
 cmd.parameters.add(new sqlparameter("@pwd", user.password))


executenonquery方法

执行sql语句,并返回受查询影响的行数,也是一种检查命令是否执行的有效方式。

以上的属性都有了相应处理,下面该执行命令了,在执行之前需要打开数据库连接,调用sqlcommand对象的

executenonquery方法。

例如:

conn.open()
cmd.executereader()
conn.close()

 

 

三、小结

 

了解和学习ado.net访问数据库技术,在应用时大大简化了代码的编写。 增强了代码的复用性,使程序更

稳定,出现错误易发现和处理。 在这里简单总结了一下学习的东西,对它理解更清晰了。 在没有学习这个之前,有

很多为什么, 学习之后有很多为什么要这样,知道了一些不知道的东西。 上面总结的只是其中一块内容,在下篇我

要总结一下dataset对象和数据源的桥梁——sqldataadapter。