基于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(连接数据库密码)
例如:机房收费中访问数据库前定义数据库连接对象
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。