.net中一般使用ado.net来和数据库进行连接,首先来整体看一下其中的数据库中的数据是如何来传递的:Data adapter→dataset→datagrid。其中,data adapter是用来获取数据的,dataset是数据在内存中的副本,datagrid是在应用程序中的表现。
接下来,分别介绍与数据库连接,数据库的查询,使用DataAdapter获取数据,处理DataSet对象。
与数据库的连接:
●通常使用的连接对象是CONNECTION是OleDbConnection,这也是最常使用的连接对象,需要在VB.NET中引用:
Imports System.Data
Imports System.Data.Oledb
●创建CONNECTION对象
Dimcn as oledbconnection
cn=newoledbconnection()
连接字符串(告诉connection对象使用什么用户名和密码,连接哪一台计算机上的那个数据库)
连接字符串的形式如:server=WBX-PC;database=charge_sys;uid=sa;pwd=123
开放连接:cn.open()
关闭连接:cn.close()
注意:.net中默认使用连接池来和数据库连接;而且连接池默认是打开的,所以在调用close方法时,与数据库的实际连接并没有真正被关闭,而是被传递到池中,以后它就在池中重用。
●动态的数据库连接
通过给oledbconnection的connectionstring属性赋不同的值来动态连接数据库
●使用command对象:
创建command:
Dim cmd as newoledbcommand
Cmd.connection=cn
Cmd.commandtext+“select*fromstudent”
执行无返回行的查询:
Cmd.executenonquery()
对于update语句来说,有时会修改某些行的值,有时却不会修改任何行,但是不会发生任何异常。Command对象将所影响的行数作为cmd.executenonquery()的返回值
返回一个数据集对象:dim rst as oledbdatareader=cmd.executereader()
Rst.read():第一次使用该方法的时候会移动游标到结果集的第一行,以后每次使用时会自动下移一行,如果数据集已经结束此方法会返回false
缺点:必须随时用完随时关闭,否则在视图打开第二个datareader,就会出现异常;datareader会把connection对象锁定;数据是只读的;游标只能向前,不能后退,如果需要在各个查询结果之间前后移动,则应该使用dataset.
执行返回单值的查询:selectcount(*) from student;command有一个专门为此类设计的方法:executescalar,获取第一行第一列的数据。
使用DataAdapter获取数据
Dataadapter是专门用来处理脱机数据的,Dataadapter将查询到的数据放入DATASET中,然后就不需要连接数据库了,实际上DATASET就相当于一个小的数据库,只不过是放在内存中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。