上篇博客我写了ADO,ODBC和OLEDB这三种数据库访问接口,在VS2012中使用时的区别,不同的访问接口有不同的数据库访问类库。这篇博客以ADO.net为例讲解。
先看一张图片:
如右图片可知,ADO.net由以下几个类组成:
下面是从数据库中获取一个Datatable的一个函数:
Public Function GetDataTable() As DataTable Dim strconn As String = "server=localhost;uid=sa;pwd=123456654321;database=charge_sys" Dim conn As New SqlConnection '实例化SqlConnection对象 conn.ConnectionString = strconn '属性:ConnectionString 获取或设置用于连接数据源的字符串 conn.Open() '方法:Open 打开数据库连接 Dim cmd As New SqlCommand '实例化SqlCommand对象 cmd.Connection = conn '属性:Connection 获取或设置Connection对象 Dim strsql as string = "select * from User_Info"
cmd.CommandText =strsql '属性:CommandText 要获取或设置要执行的SQL语句或存储过程 cmd.CommandType = Text '属性:CommandType 获取或设置命令的种类 Dim rdr As SqlDataReader '定义一个SqlDataReader对象 rdr = cmd.ExecuteReader() '方法ExecuteReader 用于执行查询语句,并生成DataReader Dim dt As New DataTable '定义一个DataTable对象 dt.Load(rdr) 'DataTable的Load方法 rdr.Close() conn.Close() ' 方法:close 关闭数据库连接 Return dt End Function
Connection对象的常用属性和方法:
Connection的常用属性如表:
属性名称 |
属性说明 |
ConnectionString |
获取或设置用于连接数据源的字符串 |
ConnectionTimeout |
获取在尝试连接时终止尝试并生成错误之前的等待时间 |
DataSource |
获取要连接名称 |
Database |
获取当前数据库或在连接代开后使用的数据库的名称 |
Connection的常用方法如表:
方法名称 |
方法说明 |
Open |
打开数据库连接 |
Close |
关闭与数据的连接 |
BeginTransaction |
开始数据库事物 |
我们从上面的函数中抽出Connection类的部分:
Dim conn As New SqlConnection '实例化SqlConnection对象 conn.ConnectionString = strconn '属性:ConnectionString 获取或设置用于连接数据源的字符串 conn.Open() '方法:Open 打开数据库连接 conn.close() '方法:Close 断开数据库连接
我们最常使用的就是Connection的ConnectionString属性和Open,Close方法,但是上面的代码有些累赘,可简化为如下:
Dim strconn As String = "server=localhost;uid=sa;pwd=123456654321;database=charge_sys" Dim conn As SqlConnection = New SqlConnection(strconn) conn.Open() '方法:Open 打开数据库连接
Command对象的常用属性和方法:
Command对象的常用属性
属性名称 |
属性说明 |
Connection |
获取或设置Connection对象 |
CommandText |
要获取或设置要执行的SQL语句或存储过程。 |
CommandType |
获取或设置命令的种类,有3种供选取的值:Text、TableDirect及StoreProcedure分别代表SQL语句,数据表及存储过程。默认为Text |
CommandTimeout |
获取或设置在终止执行命令尝试并生成错误之前的等待时间 |
Command对象的常用方法
方法名称 |
方法说明 |
ExecuteNonQuery |
用于执行SQL语句,并返回SQL语句所影响的行数。该方法一般用于执行Insert、Delete、Update等操作 |
ExecuteScalar |
用于执行查询语句,并返回结集果中的第一条记录的第一个字段的值。该方法的适合有一个结果的查询,例如使用Sum,Avg,Max及Min等函数的SQL语句。 |
ExecuteReader |
用于执行查询语句,并生成DataReader |
Cancel |
用于取消Command对象的执行。 |
我们从中抽出Command类的部分:
Dim cmd As New SqlCommand '实例化SqlCommand对象 cmd.Connection = conn '属性:Connection 获取或设置Connection对象 Dim strsql as string ="select * from User_Info" cmd.CommandText =strsql '属性:CommandText要获取或设置要执行的SQL语句或存储过程 cmd.CommandType = Text '属性:CommandType 获取或设置命令的种类 rdr=cmd.ExecuteReader '方法
我们最常使用的就是Command的Connection,CommandText,CommandType属性和ExecuteReader,ExecuteNonquery方法,但是上面的代码有些累赘,可简化为如下:
Dim cmd As SqlCommand = New SqlCommand(conn, strsql) rdr=cmd.ExecuteReader '方法
另外,DataTable和DataSet与DataAdapter与DataReader的具体内容将在下篇博客对比讲解。